TY - GEN
T1 - Monadic Type-And-Effect Soundness
AU - Dagnino, Francesco
AU - Giannini, Paola
AU - Zucca, Elena
N1 - Publisher Copyright:
© Francesco Dagnino, Paola Giannini, and Elena Zucca.
PY - 2025/6/25
Y1 - 2025/6/25
N2 - We introduce the abstract notions of monadic operational semantics, a small-step semantics where computational effects are modularly modeled by a monad, and type-and-effect system, including effect types whose interpretation lifts well-typedness to its monadic version. In this meta-theory, as usual in the non-monadic case, we can express progress and subject reduction, and provide a proof, given once and for all, that they imply soundness. The approach is illustrated on a lambda calculus with generic effects, equipped with an expressive type-and-effect system We provide proofs of progress and subject reduction, parametric on the interpretation of effect types. In this way, we obtain as instances many significant examples, such as checking exceptions, preventing/limiting non-determinism, constraining order/fairness of outputs. We also provide an extension with constructs to raise and handle computational effects, which can be instantiated to model different policies.
AB - We introduce the abstract notions of monadic operational semantics, a small-step semantics where computational effects are modularly modeled by a monad, and type-and-effect system, including effect types whose interpretation lifts well-typedness to its monadic version. In this meta-theory, as usual in the non-monadic case, we can express progress and subject reduction, and provide a proof, given once and for all, that they imply soundness. The approach is illustrated on a lambda calculus with generic effects, equipped with an expressive type-and-effect system We provide proofs of progress and subject reduction, parametric on the interpretation of effect types. In this way, we obtain as instances many significant examples, such as checking exceptions, preventing/limiting non-determinism, constraining order/fairness of outputs. We also provide an extension with constructs to raise and handle computational effects, which can be instantiated to model different policies.
KW - Effects
KW - monads
KW - type soundness
UR - https://www.scopus.com/pages/publications/105009720082
U2 - 10.4230/LIPIcs.ECOOP.2025.7
DO - 10.4230/LIPIcs.ECOOP.2025.7
M3 - Conference contribution
AN - SCOPUS:105009720082
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 39th European Conference on Object-Oriented Programming, ECOOP 2025
A2 - Aldrich, Jonathan
A2 - Silva, Alexandra
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 39th European Conference on Object-Oriented Programming, ECOOP 2025
Y2 - 30 June 2025 through 2 July 2025
ER -