Deciding unique inhabitants with sums (work in progress)
Résumé
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.
Domaines
Langage de programmation [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
Origine | Fichiers produits par l'(les) auteur(s) |
---|---|
Commentaire | Résumé du travail soumis à la relecture |
Format | Présentation |
---|---|
Origine | Fichiers produits par l'(les) auteur(s) |
Commentaire | Transparents de présentation |
Loading...