Filters








22,400 Hits in 6.7 sec

Verifying higher-order functional programs with pattern-matching algebraic data types

C.-H. Luke Ong, Steven James Ramsay
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

C.-H. Luke Ong, Steven James Ramsay
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]

Martin Clochard, Jean-Christophe Filliâtre, Claude Marché, Andrei Paskevich
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

Gowtham Kaki, Suresh Jagannathan
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

GRAHAM HUTTON
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

Gowtham Kaki, Suresh Jagannathan
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

Pedro Palao Gostanza, Ricardo Peña, Manuel Núñez
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]

Qiang Guo
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

Jeroen van den Bos, Mark Hills, Paul Klint, Tijs van der Storm, Jurgen J. Vinju
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

Pedro Palao Gostanza, Ricardo Peña, Manuel Núñez
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]

Jean-Christophe Filliâtre, Andrei Paskevich
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

Santiago Bautista, Thomas Jensen, Benoît Montagu
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

Antal Spector-Zabusky, Joachim Breitner, Christine Rizkallah, Stephanie Weirich
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

Andrei Stefanescu
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