Content area

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 [arrow right] 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.

Details

Title
Containers, monads and induction recursion
Publication title
Volume
26
Issue
1
Source details
Special Issue: Dependently Typed Programming
Pages
89-113
Number of pages
25
Publication year
2016
Publication date
Jan 2016
Publisher
Cambridge University Press
Place of publication
Cambridge
Country of publication
United Kingdom
ISSN
09601295
e-ISSN
14698072
Source type
Scholarly Journal
Language of publication
English
Document type
Feature
Document feature
References
ProQuest document ID
1735306560
Document URL
https://www.proquest.com/scholarly-journals/containers-monads-induction-recursion/docview/1735306560/se-2?accountid=208611
Copyright
Copyright © Cambridge University Press 2014 
Last updated
2023-11-29
Database
ProQuest One Academic