This paper considers parametricity and its consequent free theorems fornested data types. Rather than representing nested types via their Churchencodings in a higher-kinded or dependently typed extension of System F, weadopt a functional programming perspective and design a Hindley-Milner-stylecalculus with primitives for constructing nested types directly as fixpoints.Our calculus can express all nested types appearing in the literature,including truly nested types. At the level of terms, it supports primitivepattern matching, map functions, and fold combinators for nested types. Ourmain contribution is the construction of a parametric model for our calculus.This is both delicate and challenging. In particular, to ensure the existenceof se...
The theory and practice of polytypic programming is intimately connected with the initial algebra ...
Abstract. Nested datatypes generalise regular datatypes in much the same way that context-free langu...
Parametric polymorphism in functional programming languages with explicit polymorphism is the proper...
This paper considers parametricity and its resulting free theorems for nested data types. Rather tha...
Recent work by Johann, Ghiorzi, and Jeffries presents a Hindley-Milner-style calculus whose type sys...
GADTs can be represented either as their Church encodings a la Atkey, or as fixpoints a la Johann an...
Nested datatypes are families of datatypes that are indexed over all types such that the constructor...
Polymorphic type systems such as System F enjoy the parametricity property: polymorphic functions ca...
Nested datatypes are families of datatypes that are indexed over all types such that the constructor...
Reynolds\u27 abstraction theorem shows how a typing judgement in System F can be translated into a r...
AbstractA polymorphic function is parametric if its behavior does not depend on the type at which it...
This thesis focuses on the adaptation of realizability and parametricity to dependent types in the f...
Abstract—Reynolds ’ abstraction theorem has recently been extended to lambda-calculi with dependent ...
We give the first relationally parametric model of the extensional calculus of constructions. Our mo...
GADTs are at the cutting edge of functional programming and become more widely used every day. Never...
The theory and practice of polytypic programming is intimately connected with the initial algebra ...
Abstract. Nested datatypes generalise regular datatypes in much the same way that context-free langu...
Parametric polymorphism in functional programming languages with explicit polymorphism is the proper...
This paper considers parametricity and its resulting free theorems for nested data types. Rather tha...
Recent work by Johann, Ghiorzi, and Jeffries presents a Hindley-Milner-style calculus whose type sys...
GADTs can be represented either as their Church encodings a la Atkey, or as fixpoints a la Johann an...
Nested datatypes are families of datatypes that are indexed over all types such that the constructor...
Polymorphic type systems such as System F enjoy the parametricity property: polymorphic functions ca...
Nested datatypes are families of datatypes that are indexed over all types such that the constructor...
Reynolds\u27 abstraction theorem shows how a typing judgement in System F can be translated into a r...
AbstractA polymorphic function is parametric if its behavior does not depend on the type at which it...
This thesis focuses on the adaptation of realizability and parametricity to dependent types in the f...
Abstract—Reynolds ’ abstraction theorem has recently been extended to lambda-calculi with dependent ...
We give the first relationally parametric model of the extensional calculus of constructions. Our mo...
GADTs are at the cutting edge of functional programming and become more widely used every day. Never...
The theory and practice of polytypic programming is intimately connected with the initial algebra ...
Abstract. Nested datatypes generalise regular datatypes in much the same way that context-free langu...
Parametric polymorphism in functional programming languages with explicit polymorphism is the proper...