International audienceFull-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 ...
A growing number of programmers use dependently typed languages such as Coq to machine-verify impor...
In the modern, multi-threaded, multi-core programming environment, correctly managing system resourc...
Dependent type systems allow for a rich set of program properties to be expressed and mechanically v...
International audienceFull-spectrum dependent types promise to enable the development of correct-by-...
Full-spectrum dependent types promise to enable the development of correct-by-construction software....
International audienceFull-spectrum dependent types promise to enable the development of correct-by-...
Dependent Interoperability In this paper we study the problem of interoperability – combining constr...
The definition of type equivalence is one of the most important design issues for any typed language...
In this paper we study the problem of interoperability – combining constructs from two separate prog...
Computer proof assistants vary along many dimensions. Among the mature implementations, the Coq syst...
Dependently typed programming languages provide a powerful tool for proving code correct. However, t...
Most existing programming languages provide little support to formally state and prove properties ab...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
Software systems are ubiquitous. Failure in safety- and security-critical systems, e.g., the control...
We present a simple type-checker for a language with dependent types and let expressions, with a sim...
A growing number of programmers use dependently typed languages such as Coq to machine-verify impor...
In the modern, multi-threaded, multi-core programming environment, correctly managing system resourc...
Dependent type systems allow for a rich set of program properties to be expressed and mechanically v...
International audienceFull-spectrum dependent types promise to enable the development of correct-by-...
Full-spectrum dependent types promise to enable the development of correct-by-construction software....
International audienceFull-spectrum dependent types promise to enable the development of correct-by-...
Dependent Interoperability In this paper we study the problem of interoperability – combining constr...
The definition of type equivalence is one of the most important design issues for any typed language...
In this paper we study the problem of interoperability – combining constructs from two separate prog...
Computer proof assistants vary along many dimensions. Among the mature implementations, the Coq syst...
Dependently typed programming languages provide a powerful tool for proving code correct. However, t...
Most existing programming languages provide little support to formally state and prove properties ab...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
Software systems are ubiquitous. Failure in safety- and security-critical systems, e.g., the control...
We present a simple type-checker for a language with dependent types and let expressions, with a sim...
A growing number of programmers use dependently typed languages such as Coq to machine-verify impor...
In the modern, multi-threaded, multi-core programming environment, correctly managing system resourc...
Dependent type systems allow for a rich set of program properties to be expressed and mechanically v...