Deciding unique inhabitants with sums (work in progress)
Abstract
Our ongoing work focuses on types that have a unique inhabitant—modulo program equivalence. If we were able to detect when such types appear in a program, we could perform program inference to releave the programmer from the obligation to write the less-interesting parts of the program. Unicity of inhabitant is a strong form of principality: inference cannot make a "wrong" guess as there is only one choice. To decide uniqueness, we must be able to enumerate the distinct terms at a given type. As a first step, we consider the simply-typed lambda-calculus with arrows, product and sums. We are looking for a term enumeration process that is complete, i.e., it does not miss any computational behavior, and canonical, i.e., it has no duplicates. We propose an approach based on saturation, with encouraging results, although termination is still a conjecture.
Domains
Programming Languages [cs.PL]
Fichier principal
scherer-types14-extended-abstract.pdf (175.83 Ko)
Télécharger le fichier
scherer-types14-slides.pdf (168.87 Ko)
Télécharger le fichier
Origin : Files produced by the author(s)
Comment : Résumé du travail soumis à la relecture
Comment : Résumé du travail soumis à la relecture
Format : Presentation
Origin : Files produced by the author(s)
Comment : Transparents de présentation
Origin : Files produced by the author(s)
Comment : Transparents de présentation
Loading...