MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

The Derivative of a Regular Type is its Type of One-Hole Contexts (Extended Abstract) (2001) [16 citations — 4 self]

by Conor Mcbride
Add To MetaCart

Abstract:

Polymorphic regular types are tree-like datatypes generated by polynomial type expressions over a set of free variables and closed under least fixed point. The `equality types' of Core ML can be expressed in this form. Given such a type expression T with x free, this paper shows a way to represent the one-hole contexts for elements of x within elements of T , together with an operation which will plug an element of x into the hole of such a context. One-hole contexts are given as inhabitants of a regular type @ x T , computed generically from the syntactic structure of T by a mechanism better known as partial differentiation. The relevant notion of containment is shown to be appropriately characterized in terms of derivatives and plugging in. The technology is then exploited to give the one-hole contexts for sub-elements of recursive types in a manner similar to Huet's `zippers'[Hue97].

Citations

147 Polyp - a polytypic programming language extension – Jansson, Jeuring - 1997
65 Inductive sets and families in Martin-Löf’s type theory and their set-theoretic semantics – Dybjer - 1991
56 Nested datatypes – Bird, Meertens - 1998
49 Dependently Typed Functional Programs and their Proofs – McBride - 1999
48 De Bruijn notation as a nested datatype – Bird, Paterson - 1999
47 Foncteurs analytiques et esp`eces des structures – Joyal - 1986
43 The zipper – Huet - 1997
6 Generic Programming—An Introduction – Backhouse, Jansson, et al. - 1998
4 Computer Aided Manipulation of Symbols – McBride - 1970