Publications

View publication

Title Gradual Certified Programming in Coq
Authors Éric Tanter, Nicolas Tabareau
Publication date 2015
Abstract Expressive static typing disciplines are a powerful way to
achieve high-quality software. However, the adoption cost of such techniques
should not be under-estimated. Just like gradual typing allows for a smooth
transition from dynamically-typed to statically-typed programs, it seems
desirable to support a gradual path to certified programming. We explore
gradual certified programming in Coq, providing the possibility to postpone
the proofs of selected properties, and to check "at runtime" whether the
properties actually hold. Casts can be integrated with the implicit coercion
mechanism of Coq to support implicit cast insertion à la gradual typing.
Additionally, when extracting Coq functions to mainstream languages, our
encoding of casts supports lifting assumed properties into runtime checks.
Much to our surprise, it is not necessary to extend Coq in any way to
support gradual certified programming. A simple mix of type classes and
axioms makes it possible to bring gradual certified programming to Coq in a
straightforward manner.
Pages 26-40
Conference name Dynamic Languages Symposium
Publisher ACM Press (New York, NY, USA)
Reference URL View reference page