Typeful Normalization by Evaluation - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2014

Typeful Normalization by Evaluation

Résumé

We present the first typeful implementation of Normalization by Evaluation for the simply typed λ-calculus with sums and control operators: we guarantee type preservation and η-long (modulo commuting conversions), β-normal forms using only Generalized Algebraic Data Types in a general-purpose programming language, here OCaml; and we account for sums and control operators with Continuation-Passing Style. Our presentation takes the form of a typed functional pearl. First, we implement the standard NbE algorithm for the implicational fragment in a typeful way that is correct by construction. We then derive its continuation-passing counterpart, in call-by-value and call-by-name, that maps a λ-term with sums and call/cc into a CPS term in normal form, which we express in a typed, dedicated syntax. Beyond showcasing the expressive power of GADTs, we emphasize that type inference gives a smooth way to re-derive the encodings of the syntax and typing of normal forms in Continuation-Passing Style.
Fichier principal
Vignette du fichier
types14.pdf (513.81 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01397929 , version 1 (16-11-2016)

Identifiants

Citer

Olivier Danvy, Chantal Keller, Matthias Puech. Typeful Normalization by Evaluation. 20th International Conference on Types for Proofs and Programs, TYPES 2014, May 2014, Paris, France. ⟨10.4230/LIPIcs.xxx.yyy.p⟩. ⟨hal-01397929⟩

Collections

INRIA
213 Consultations
763 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More