The derivative of a regular type is its type of one-hole contexts. Unpublished manuscript (2001) [14 citations — 3 self]
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 |

