MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  The derivative of a regular type is its type of one-hole contexts. Unpublished manuscript (2001) [14 citations — 3 self]

Download:
Download as a PDF | Download as a PS
by Conor Mcbride
http://www.dur.ac.uk/~dcs1ctm/diff.ps
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]. 1

Citations

157 PolyP - a polytypic programming language extension. Pages 470{482 of: POPL'97 – Jansson, Jeuring - 1997
66 Inductive Sets and Families in Martin-Löf’s Type Theory – Dybjer - 1991
64 Nested datatypes – Bird, Meertens - 1998
54 de Bruijn notation as a nested datatype – Bird, Paterson - 2001
48 Dependently Typed Functional Programs and their Proofs – McBride - 1999
42 Foncteurs analytiques et espèces des structures – Joyal - 1986
37 The Zipper – Huet
5 Generic Programming—An Introduction – Backhouse, Jansson, et al. - 1998
4 Computer Aided Manipulation of Symbols – McBride - 1970