A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2019; you can also visit the original URL.
The file type is application/pdf
.
Filters
Verifying higher-order functional programs with pattern-matching algebraic data types
2011
SIGPLAN notices
We introduce pattern-matching recursion schemes (PMRS) as an accurate model of computation for functional programs that manipulate algebraic data-types. ...
Type-based model checking algorithms for higher-order recursion schemes have recently emerged as a promising approach to the verification of functional programs. ...
Consider the setting of simply-typed functional programs with pattern-matching algebraic data types. ...
doi:10.1145/1925844.1926453
fatcat:lb4typdmuvhonm47iiciyxczwy
Verifying higher-order functional programs with pattern-matching algebraic data types
2011
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '11
We introduce pattern-matching recursion schemes (PMRS) as an accurate model of computation for functional programs that manipulate algebraic data-types. ...
Type-based model checking algorithms for higher-order recursion schemes have recently emerged as a promising approach to the verification of functional programs. ...
Consider the setting of simply-typed functional programs with pattern-matching algebraic data types. ...
doi:10.1145/1926385.1926453
dblp:conf/popl/OngR11
fatcat:x3ducwulabfbxn2qsobmyck4em
Formalizing Semantics with an Automatic Program Verifier
[chapter]
2014
Lecture Notes in Computer Science
definitions, type polymorphism, and (2) a corresponding proof environment where higher-order and inductive reasoning can be performed, typically with user interaction. ...
A common belief is that formalizing semantics of programming languages requires the use of a proof assistant providing (1) a specification language with advanced features such as higher-order logic, inductive ...
Encoding Algebraic Data Types and Pattern Matching Proving such a lemma with the external provers available within Why3 requires encoding the constructs of algebraic data types and pattern matching into ...
doi:10.1007/978-3-319-12154-3_3
fatcat:arhini4lrjdldln5bimko5scwm
A relational framework for higher-order shape analysis
2014
Proceedings of the 19th ACM SIGPLAN international conference on Functional programming - ICFP '14
Our specification language also allows for definitions of parametric relations for polymorphic data types that enable highly composable specifications and naturally generalizes to higher-order polymorphic ...
We propose the integration of a relational specification framework within a dependent type system capable of verifying complex invariants over the shapes of algebraic datatypes. ...
The language is equipped with pattern-matching operations over constructors of algebraic data types, thus allowing the definition of useful shape properties in terms of relational constraints. 2. ...
doi:10.1145/2628136.2628159
dblp:conf/icfp/KakiJ14
fatcat:ntcadei36vhzrptsywef6hwqmi
PhD Abstracts
2017
Journal of functional programming
Many students complete PhDs in functional programming each year. ...
As a service to the community, the Journal of Functional Programming publishes the abstracts from PhD dissertations completed during the previous year. ...
In the future, we may also want to integrate new principles with pattern matching, for example the higher inductive types introduced by HoTT. ...
doi:10.1017/s0956796817000181
fatcat:xbdgckkjpnaathslfgakegj3ka
A relational framework for higher-order shape analysis
2014
SIGPLAN notices
Our specification language also allows for definitions of parametric relations for polymorphic data types that enable highly composable specifications and naturally generalizes to higher-order polymorphic ...
We propose the integration of a relational specification framework within a dependent type system capable of verifying complex invariants over the shapes of algebraic datatypes. ...
The language is equipped with pattern-matching operations over constructors of algebraic data types, thus allowing the definition of useful shape properties in terms of relational constraints. 2. ...
doi:10.1145/2692915.2628159
fatcat:welztkjmdvewvp7o3sunq6yxlq
A new look at pattern matching in abstract data types
1996
SIGPLAN notices
In this paper we present a construction smoothly integrating pattern matching with abstract data types. ...
In particular we pay attention to equational reasoning about programs containing this new facility. ...
The introduction of records and the extension of patterns in order to use them almost solves this problem. The worst one is the difficulty of using pattern matching in abstract data types. ...
doi:10.1145/232629.232641
fatcat:yp7ptln7fndxnjsbax5inilkya
Verifying Erlang/OTP Components in μCRL
[chapter]
2007
Lecture Notes in Computer Science
Erlang is a concurrent functional programming language with explicit support for real-time and fault-tolerant distributed systems. ...
One (existing) approach is to perform an abstraction of an Erlang program into the process algebra µCRL, upon which standard verification tools can be applied. ...
Thanks also go to my supervisor, John Derrick, for his help with this work. ...
doi:10.1007/978-3-540-73196-2_15
fatcat:bp5ch32adrdatngt4kxuilxfre
Rascal: From Algebraic Specification to Meta-Programming
2011
Electronic Proceedings in Theoretical Computer Science
on using the best concepts from algebraic specification and integrating these into a new programming language: Rascal. ...
Algebraic specification has a long tradition in bridging the gap between specification and programming by making specifications executable. ...
In other words, Stratego extended algebraic programming with higher-order parameterized rule application. ...
doi:10.4204/eptcs.56.2
fatcat:jpric5vgjjbtjjxnyopfsxhzzy
A new look at pattern matching in abstract data types
1996
Proceedings of the first ACM SIGPLAN international conference on Functional programming - ICFP '96
In this paper we present a construction smoothly integrating pattern matching with abstract data types. ...
In particular we pay attention to equational reasoning about programs containing this new facility. ...
The introduction of records and the extension of patterns in order to use them almost solves this problem. The worst one is the difficulty of using pattern matching in abstract data types. ...
doi:10.1145/232627.232641
dblp:conf/icfp/GostanzaPN96
fatcat:uu24scp6rva6hdq3j453v2go3e
Page 2767 of Mathematical Reviews Vol. , Issue 99d
[page]
1991
Mathematical Reviews
We explain how the new typing rules are verified, and we describe its facilities for defining functions by pattern matching. ...
“In Chapter 6 we describe the problems that are involved in the extension of the formal language of Higher Order Logic with pattern matching and how these problems can be solved. ...
Why3 — Where Programs Meet Provers
[chapter]
2013
Lecture Notes in Computer Science
WhyML is a first-order language with polymorphic types, pattern matching, and inductive predicates. Programs can make use of record types with mutable fields, type invariants, and ghost code. ...
Verification conditions are discharged by Why3 with the help of various existing automated and interactive theorem provers. ...
Why3 is based on first-order logic with rank-1 polymorphic types and several extensions: recursive definitions, algebraic data types, and (co-)inductive predicates. ...
doi:10.1007/978-3-642-37036-6_8
fatcat:nisxxfpjwzepvebrik2ia6xjsq
Numeric domains meet algebraic data types
2020
Proceedings of the 9th ACM SIGPLAN International Workshop on Numerical and Symbolic Abstract Domains
We report on the design and formalization of a novel abstract domain, called numeric path relations (NPRs), that combines numeric relational domains with algebraic data types. ...
This domain expresses relations between algebraic values that can contain scalar data. The construction of the domain is parameterized by the choice of a relational domain on scalar values. ...
Languages with algebraic types do not need to support arbitrary casts, thanks to the pattern matching construct. ...
doi:10.1145/3427762.3430178
fatcat:yo2yc7xve5acvmmy5ti65xmiwe
Total Haskell is reasonable Coq
2018
Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs - CPP 2018
We would like to use the Coq proof assistant to mechanically verify properties of Haskell programs. ...
To that end, we present a tool, named hs-to-coq, that translates total Haskell programs into Coq programs via a shallow embedding. ...
Many of the syntactic constructs found in Haskell have direct equivalents in Coq: algebraic data types, function definitions, basic pattern matching, function application, letbindings, and so on. ...
doi:10.1145/3167092
dblp:conf/cpp/Spector-Zabusky18
fatcat:yazpv47ixvaerk63v7zepb2q7i
MatchC: A Matching Logic Reachability Verifier Using the K Framework
2014
Electronical Notes in Theoretical Computer Science
The main contributions of this paper are the implementation of the verifier, with emphasis on using K for program verification, and the evaluation of the tool on a large number of programs, including complex ...
ones, like programs implementing the AVL trees data structure and the Schorr-Waite graph marking algorithm. ...
They can likely be also combined with matching logic in order to infer patterns. ...
doi:10.1016/j.entcs.2014.05.010
fatcat:5u3av3qepbgjfepqnuxyt4wlra
« Previous
Showing results 1 — 15 out of 22,400 results