An effectful object calculus
By: Francesco Dagnino, Paola Giannini, Elena Zucca
Potential Business Impact:
Lets programmers build complex programs more easily.
We show how to smoothly incorporate in the object-oriented paradigm constructs to raise, compose, and handle effects in an arbitrary monad. The underlying pure calculus is meant to be a representative of the last generation of OO languages, and the effectful extension is manageable enough for ordinary programmers; notably, constructs to raise effects are just special methods. We equip the calculus with an expressive type-and-effect system, which, again by relying on standard features such as inheritance and generic types, allows a simple form of effect polymorphism. The soundness of the type-and-effect system is expressed and proved by a recently introduced technique, where the semantics is formalized by a one-step reduction relation from language expressions into monadic ones, so that it is enough to prove progress and subject reduction properties on this relation.
Similar Papers
Monadic type-and-effect soundness
Programming Languages
Makes computer code safer and more predictable.
Universal Algebra and Effectful Computation
Programming Languages
Makes computer code with side effects easier to understand.
Handling Higher-Order Effectful Operations with Judgemental Monadic Laws
Programming Languages
Makes computer programs more flexible and powerful.