Comme mentionné au lunch auourd'hui, je vais donner une présentation d'essai jeudi prochain au labo (c'est pour la conférence TyDe-2019, colocated avec ICFP),
Stefan
\title{Inductive types deconstructed} \subtitle{The calculus of united constructions}
\begin{abstract} Algebraic data types and inductive types like those of the Calculus of Inductive Constructions (CIC) are the bread and butter of statically typed functional programming languages. They conveniently combine in a single package product types, sum types, recursive types, and indexed types. But this also makes them somewhat heavyweight: for example, tuples have to be defined as ``degenerate'' single constructor inductive types, and extraction of a single field becomes a laborious full case-analysis on the object. We consider this to be unsatisfactory. In this article, we develop an alternative presentation of CIC's inductive types where the various elements are provided separately, such that inductive types are built on top of tuples and sums rather than the other way around. The resulting language is lower-level yet we show it to be equivalent to a predicative version of the Calculus of Inductive Constructions. An additional benefit is that it can conveniently give a precise type to the default branch of \kw{case} statements. \end{abstract}
Afficher les réponses par date