Publications

View publication

Title Partial Type Equivalences for Verified Dependent Interoperability
Authors Pierre-Evariste Dagand, Nicolas Tabareau, Éric Tanter
Publication date 2016
Abstract Full-spectrum dependent types promise to enable the
development
of correct-by-construction software. However, even certified software needs
to interact with simply-typed or untyped programs, be it to perform system
calls, or to use legacy libraries. Trading static guarantees for runtime
checks, the dependent interoperability framework provides a mechanism by
which simply-typed values can safely be coerced to dependent types and,
conversely, dependently-typed programs can defensively be exported to a
simply-typed application. In this paper, we give a semantic account of
dependent interoperability. Our presentation relies on and is guided by a
pervading notion of type equivalence, whose importance has been emphasized
in recent work on homotopy type theory. Specifically, we develop the notion
of partial type equivalences as a key foundation for dependent
interoperability. Our framework is developed in Coq; it is thus constructive
and verified in the strictest sense of the terms. Using our library, users
can specify domain-specific partial equivalences between data structures.
Our library then takes care of the (sometimes, heavy) lifting that leads to
interoperable programs. It thus becomes possible, as we shall illustrate, to
internalize and hand-tune the extraction of dependently-typed programs to
interoperable OCaml programs within Coq itself.
Pages 298-310
Conference name International Conference on Functional Programming
Publisher ACM Press (New York, NY, USA)
Reference URL View reference page