We present a straightforward, sound, Hindley-Milner polymorphic type system for algebraic effects and handlers in a call-by-value calculus, which, to our surprise, allows type variable generalisation of arbitrary computations, and not just values. We first recall that the soundness of unrestricted call-by-value Hindley-Milner polymorphism is known to fail in the presence of computational effects such as reference cells and continuations, and that many programming examples can be recast to use effect handlers instead of these effects. After presenting the calculus and its soundness proof, formalised in Twelf, we analyse the expressive power of effect handlers with respect to state effects. We conjecture handlers alone...
In programming languages, a side effect occurs whenever a computation has another effect beside retu...
The paper investigates behavioural equivalence between programs in a call-by-value functional langua...
Dealing with polymorphism in the presence of imperative features is a long-standing open problem for...
We present a straightforward, sound, Hindley-Milner polymorphic type system for algebraic effects an...
Side-effect are ubiquitous in programming. Examples include mutable state, exceptions, non-determini...
Type systems usually characterize the shape of values but not their free variables. However, many de...
We compare the expressive power of three programming abstractions for user-defined computational eff...
In the thesis, we explore reasoning about and handling of algebraic effects. Those are computational...
We present a new type system with support for proofs of programs in a call-by-value language with co...
We present the first algorithm for reconstructing the types and effects of expressions in the presen...
We present a general semantic account of Gifford-style type-and-effect systems. These type systems ...
Text source-files for the mechanised proofs supporting the paper, formalised in Abella We compare th...
We present an effect system for core Eff, a simplified variant of Eff, whichis an ML-style programmi...
Abstract. Large portions of current programming theory and practice are based on algebraic notions o...
AbstractThis paper is a tutorial on algebraic effects and handlers. In it, we explain what algebraic...
In programming languages, a side effect occurs whenever a computation has another effect beside retu...
The paper investigates behavioural equivalence between programs in a call-by-value functional langua...
Dealing with polymorphism in the presence of imperative features is a long-standing open problem for...
We present a straightforward, sound, Hindley-Milner polymorphic type system for algebraic effects an...
Side-effect are ubiquitous in programming. Examples include mutable state, exceptions, non-determini...
Type systems usually characterize the shape of values but not their free variables. However, many de...
We compare the expressive power of three programming abstractions for user-defined computational eff...
In the thesis, we explore reasoning about and handling of algebraic effects. Those are computational...
We present a new type system with support for proofs of programs in a call-by-value language with co...
We present the first algorithm for reconstructing the types and effects of expressions in the presen...
We present a general semantic account of Gifford-style type-and-effect systems. These type systems ...
Text source-files for the mechanised proofs supporting the paper, formalised in Abella We compare th...
We present an effect system for core Eff, a simplified variant of Eff, whichis an ML-style programmi...
Abstract. Large portions of current programming theory and practice are based on algebraic notions o...
AbstractThis paper is a tutorial on algebraic effects and handlers. In it, we explain what algebraic...
In programming languages, a side effect occurs whenever a computation has another effect beside retu...
The paper investigates behavioural equivalence between programs in a call-by-value functional langua...
Dealing with polymorphism in the presence of imperative features is a long-standing open problem for...