ECOOP 2026
Mon 29 June - Fri 3 July 2026 Brussels, Belgium
Tue 30 Jun 2026 11:00 - 11:30 at I.1.08 - Papers 1

We present a concrete implementation in Haskell of a monadic framework that includes both a small-step interpreter and a type-and-effect checker for the corresponding language. Our approach separates the language syntax from the semantics of its effects. This design allows the interpreter to remain parametric over the underlying monad, while the static checker approximates effects independently of their concrete implementation.

The theoretical foundation of this framework—applied to a call-by-value lambda calculus with generic effects represented by operations that produce monadic values and are managed through handlers—was introduced in previous work, where the focus was on proving the soundness of the approach. In contrast, the present work leverages Haskell’s support for modular programming and monads to demonstrate that the framework is practically implementable and usable.

We illustrate the approach with examples using the monad of exceptions and the one of nondeterminism and expressions both with and without handlers.

Tue 30 Jun

Displayed time zone: Brussels, Copenhagen, Madrid, Paris change

11:00 - 12:30
Papers 1FTfJP at I.1.08
11:00
30m
Talk
A monadic interpreter and type-and-effect checker
FTfJP
Stefano Raviola Universita' del Piemonte Orientale, Paola Giannini University of Eastern Piedmont, Francesco Dagnino University of Genoa
11:30
30m
Talk
A Typestate Approach to Purpose-aware Programming
FTfJP
Joan Montas University of Massachusetts, Lowell, Samuel Dodson University of Massachusetts, Lowell, Anitha Gollamudi University of Massachusetts Lowell, Matteo Cimini University of Massachusetts Lowell
Pre-print
12:00
30m
Talk
Formal Semantics and Type System for Vega Data Transformations
FTfJP
Kristýna Petrlíková Charles University, Tomas Petricek Charles University
Pre-print