Verifying the unification algorithm in LCF
Science of Computer Programming - Ellis Horwood series in artificial intelligence
Semi-explicit first-class polymorphism for ML
Information and Computation
Type Inference Verified: Algorithm W in Isabelle/HOL
Journal of Automated Reasoning
Certification of a Type Inference Tool for ML: Damas–Milner within Coq
Journal of Automated Reasoning
Machine-Checking the Java Specification: Proving Type-Safety
Formal Syntax and Semantics of Java
Proving ML Type Soundness Within Coq
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Towards a mechanized metatheory of standard ML
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A sound semantics for OCamllight
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Mechanized metatheory for the masses: the PoplMark challenge
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
CakeML: a verified implementation of ML
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Mechanizing Metatheory Without Typing Contexts
Journal of Automated Reasoning
Hi-index | 0.00 |
The type system of Objective Caml has many unique features, which make ensuring the correctness of its implementation difficult. One of these features is structurally polymorphic types, such as polymorphic object and variant types, which have the extra specificity of allowing recursion. We implemented in Coq a certified interpreter for Core ML extended with structural polymorphism and recursion. Along with type soundness of evaluation, soundness and principality of type inference are also proved.