Projects per year
Abstract
Induction recursion offers the possibility of a clean, simple and yet powerful meta-language for the type system of a dependently typed programming language. At its crux, induction recursion allows us to define a universe, that is a set U of codes and a decoding function T : U → D which assigns to every code u : U, a value T, u of some type D, e.g. the large type Set of small types or sets. The name induction recursion refers to the build-up of codes in U using inductive clauses, simultaneously with the definition of the function T, by structural recursion on codes.
Our contribution is to (i) bring out explicitly algebraic structure which is less visible in the original type-theoretic presentation – in particular showing how containers and monads play a pivotal role within induction recursion; and (ii) use these structures to present a clean and high level definition of induction recursion suitable for use in functional programming.
Our contribution is to (i) bring out explicitly algebraic structure which is less visible in the original type-theoretic presentation – in particular showing how containers and monads play a pivotal role within induction recursion; and (ii) use these structures to present a clean and high level definition of induction recursion suitable for use in functional programming.
Original language | English |
---|---|
Pages (from-to) | 89-113 |
Number of pages | 25 |
Journal | Mathematical Structures in Computer Science |
Volume | 26 |
Issue number | Special Issue 01 |
Early online date | 20 Nov 2014 |
DOIs | |
Publication status | Published - 1 Jan 2016 |
Keywords
- codes (symbols)
- computational linguistics
- containers
- algebraic structures
- dependently typed programming
- meta language
- recursions
- structural recursion
- type systems
- functional programming
Fingerprint
Dive into the research topics of 'Containers, monads and induction recursion'. Together they form a unique fingerprint.Projects
- 1 Finished
-
Theory and Applications of Induction Recursion
Ghani, N. (Principal Investigator)
EPSRC (Engineering and Physical Sciences Research Council)
1/03/09 → 31/08/12
Project: Research