Typed closure conversion for the calculus of constructions

Abstract : Dependently typed languages such as Coq are used to specify and verify the full functional correctness of source programs. Type-preserving compilation can be used to preserve these specifications and proofs of correctness through compilation into the generated target-language programs. Unfortunately, type-preserving compilation of dependent types is hard. In essence, the problem is that dependent type systems are designed around high-level compositional abstractions to decide type checking, but compilation interferes with the type-system rules for reasoning about run-time terms. We develop a type-preserving closure-conversion translation from the Calculus of Constructions (CC) with strong dependent pairs (Σ types)—a subset of the core language of Coq—to a type-safe, dependently typed compiler intermediate language named CC-CC. The central challenge in this work is how to translate the source type-system rules for reasoning about functions into target type-system rules for reasoning about closures. To justify these rules, we prove soundness of CC-CC by giving a model in CC. In addition to type preservation, we prove correctness of separate compilation.
Type de document :
Communication dans un congrès
PLDI’18 - 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, Jun 2018, Philadelphia, PA, United States. 〈10.1145/3296979.3192372〉
Liste complète des métadonnées

https://hal.archives-ouvertes.fr/hal-01949211
Contributeur : Cătălin Hriţcu <>
Soumis le : dimanche 9 décembre 2018 - 20:39:47
Dernière modification le : mercredi 19 décembre 2018 - 20:44:28

Lien texte intégral

Identifiants

Collections

Citation

William Bowman, Amal Ahmed. Typed closure conversion for the calculus of constructions. PLDI’18 - 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, Jun 2018, Philadelphia, PA, United States. 〈10.1145/3296979.3192372〉. 〈hal-01949211〉

Partager

Métriques

Consultations de la notice

16