Initial algebra semantics is one of the cornerstones of the theory of modern functional programming languages. For each inductive data type, it provides a Church encoding for that type, a build combinator which constructs data of that type, a fold combinator which encapsulates structured recursion over data of that type, and a fold/build rule which optimises modular programs by eliminating from them data constructed using the buildcombinator, and immediately consumed using the foldcombinator, for that type. It has long been thought that initial algebra semantics is not expressive enough to provide a similar foundation for programming with nested types in Haskell. Specifically, the standard folds derived from initial algebra semantics have b...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
This paper considers parametricity and its resulting free theorems for nested data types. Rather tha...
Algebraic theories for modeling components and their interactions offer abstraction over the specifi...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Abstract. Initial algebra semantics is a cornerstone of the theory of modern functional programming ...
Type family applications in Haskell must be fully saturated. This means that all type-level function...
This work is licensed under a Creative Commons Attribution 4.0 International License.Functional prog...
Recently, Mark Jones introduced first class structures as a means to express modular structure. In t...
GADTs are at the cutting edge of functional programming and be-come more widely used every day. Neve...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
Bulk types --- such as lists, bags, sets, finite maps, and priority queues --- are ubiquitous in pro...
Attribute Grammars (AGs), a general-purpose formalism for describing recursive computations over dat...
Static type systems strive to be richly expressive while still being simple enough for programmers t...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
This paper considers parametricity and its resulting free theorems for nested data types. Rather tha...
Algebraic theories for modeling components and their interactions offer abstraction over the specifi...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
Abstract. Initial algebra semantics is a cornerstone of the theory of modern functional programming ...
Type family applications in Haskell must be fully saturated. This means that all type-level function...
This work is licensed under a Creative Commons Attribution 4.0 International License.Functional prog...
Recently, Mark Jones introduced first class structures as a means to express modular structure. In t...
GADTs are at the cutting edge of functional programming and be-come more widely used every day. Neve...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
Bulk types --- such as lists, bags, sets, finite maps, and priority queues --- are ubiquitous in pro...
Attribute Grammars (AGs), a general-purpose formalism for describing recursive computations over dat...
Static type systems strive to be richly expressive while still being simple enough for programmers t...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
This paper considers parametricity and its resulting free theorems for nested data types. Rather tha...
Algebraic theories for modeling components and their interactions offer abstraction over the specifi...