Affine type systems manage resources by preventing some values from being used more than once. This offers expressiveness and performance benefits, but difficulty arises in interacting with com-ponents written in a conventional language whose type system provides no way to maintain the affine type system’s aliasing invariants. We propose and implement a technique that uses be-havioral contracts to mediate between code written in an affine language and code in a conven-tional typed language. We formalize our approach via a typed calculus with both affine-typed and conventionally-typed modules. We show how to preserve the guarantees of both type systems despite both languages being able to call into each other and exchange higher-order values...
A definitional interpreter is an interpreter which uses the semantics of its own host language to de...
. We introduce the ff-calculus, a typed calculus that includes a multiplicative function type \Gamma...
Our objective is to construct a suitable type system for the Erasmus language by understanding the n...
Affine type systems manage resources by preventing some values from being used more than once. This ...
Abstract. Affine type systems manage resources by preventing some values from being used more than o...
We describe a type system for a synchronous π-calculus formalising the notion of affine usage in sig...
Recent research has shown that it is possible to leverage general-purpose theorem-proving techniques...
Abstract. We use a denotational semantics to show that every term in SPCF (a typed functional langua...
Recent research has shown that it is possible to leverage general-purpose theorem proving techniques...
We adapt the aliasing constraints approach for designing a flexible typing of evolving objects. Type...
International audienceSystems programming often requires the manipulation of resources like file han...
Type-preserving translations are effective rigorous tools in the study of core programming calculi. ...
Abstract. The deep connection between session-typed concurrency and linear logic is embodied in the ...
Dependent Interoperability In this paper we study the problem of interoperability – combining constr...
International audienceWe investigate the computational power of affine automata (AfAs) introduced in...
A definitional interpreter is an interpreter which uses the semantics of its own host language to de...
. We introduce the ff-calculus, a typed calculus that includes a multiplicative function type \Gamma...
Our objective is to construct a suitable type system for the Erasmus language by understanding the n...
Affine type systems manage resources by preventing some values from being used more than once. This ...
Abstract. Affine type systems manage resources by preventing some values from being used more than o...
We describe a type system for a synchronous π-calculus formalising the notion of affine usage in sig...
Recent research has shown that it is possible to leverage general-purpose theorem-proving techniques...
Abstract. We use a denotational semantics to show that every term in SPCF (a typed functional langua...
Recent research has shown that it is possible to leverage general-purpose theorem proving techniques...
We adapt the aliasing constraints approach for designing a flexible typing of evolving objects. Type...
International audienceSystems programming often requires the manipulation of resources like file han...
Type-preserving translations are effective rigorous tools in the study of core programming calculi. ...
Abstract. The deep connection between session-typed concurrency and linear logic is embodied in the ...
Dependent Interoperability In this paper we study the problem of interoperability – combining constr...
International audienceWe investigate the computational power of affine automata (AfAs) introduced in...
A definitional interpreter is an interpreter which uses the semantics of its own host language to de...
. We introduce the ff-calculus, a typed calculus that includes a multiplicative function type \Gamma...
Our objective is to construct a suitable type system for the Erasmus language by understanding the n...