GADTs are at the cutting edge of functional programming and be-come more widely used every day. Nevertheless, the semantic foundations underlying GADTs are not well understood. In this paper we solve this problem by showing that the standard theory of data types as carriers of initial algebras of functors can be extended from algebraic and nested data types to GADTs. We then use this observation to derive an initial algebra semantics for GADTs, thus ensuring that all of the accumulated knowledge about initial algebras can be brought to bear on them. Next, we use our initial algebra semantics for GADTs to derive expressive and principled tools —analogous to the well-known and widely-used ones for algebraic and nested data types — for reasoni...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
We study some of the applications of category theory to functional programming, particularly in the ...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
GADTs are at the cutting edge of functional programming and become more widely used every day. Never...
It is well-known that GADTs do not admit standard map functions of the kind supported by ADTs and ne...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
Generalized algebraic data types (GADTs) extend ordinary algebraic data types by refining the types...
Generalized algebraic data types (GADTs) are a type system extension to algebraic data types that al...
We present a grammar for a robust class of data types that includes algebraic data types (ADTs), (tr...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
Every Algebraic Datatype (ADT) is characterised as the initial al-gebra of a polynomial functor on s...
GADTs can be represented either as their Church encodings a la Atkey, or as fixpoints a la Johann an...
Abstract. Initial algebra semantics is a cornerstone of the theory of modern functional programming ...
This paper considers parametricity and its consequent free theorems fornested data types. Rather tha...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types ” or “fir...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
We study some of the applications of category theory to functional programming, particularly in the ...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
GADTs are at the cutting edge of functional programming and become more widely used every day. Never...
It is well-known that GADTs do not admit standard map functions of the kind supported by ADTs and ne...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
Generalized algebraic data types (GADTs) extend ordinary algebraic data types by refining the types...
Generalized algebraic data types (GADTs) are a type system extension to algebraic data types that al...
We present a grammar for a robust class of data types that includes algebraic data types (ADTs), (tr...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
Every Algebraic Datatype (ADT) is characterised as the initial al-gebra of a polynomial functor on s...
GADTs can be represented either as their Church encodings a la Atkey, or as fixpoints a la Johann an...
Abstract. Initial algebra semantics is a cornerstone of the theory of modern functional programming ...
This paper considers parametricity and its consequent free theorems fornested data types. Rather tha...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types ” or “fir...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...
We study some of the applications of category theory to functional programming, particularly in the ...
Initial algebra semantics is one of the cornerstones of the theory of modern functional programming ...