GADTs are at the cutting edge of functional programming and become 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...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types ” or “fir...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types” or “firs...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types ” or “fir...
GADTs are at the cutting edge of functional programming and be-come more widely used every day. Neve...
GADTs can be represented either as their Church encodings a la Atkey, or as fixpoints a la Johann an...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
Generalized algebraic data types (GADTs) are a type system extension to algebraic data types that al...
It is well-known that GADTs do not admit standard map functions of the kind supported by ADTs and ne...
Every Algebraic Datatype (ADT) is characterised as the initial al-gebra of a polynomial functor on s...
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...
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...
We present a grammar for a robust class of data types that includes algebraic data types (ADTs), (tr...
This dissertation investigates the use of the algebraic style of abstract data type specifications ...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types ” or “fir...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types” or “firs...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types ” or “fir...
GADTs are at the cutting edge of functional programming and be-come more widely used every day. Neve...
GADTs can be represented either as their Church encodings a la Atkey, or as fixpoints a la Johann an...
The study of programming with and reasoning about inductive datatypes such as lists and trees has be...
Generalized algebraic data types (GADTs) are a type system extension to algebraic data types that al...
It is well-known that GADTs do not admit standard map functions of the kind supported by ADTs and ne...
Every Algebraic Datatype (ADT) is characterised as the initial al-gebra of a polynomial functor on s...
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...
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...
We present a grammar for a robust class of data types that includes algebraic data types (ADTs), (tr...
This dissertation investigates the use of the algebraic style of abstract data type specifications ...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types ” or “fir...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types” or “firs...
Generalized algebraic data types (GADTs), sometimes known as “guarded recursive data types ” or “fir...