Monadic type-and-effect soundness

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Dagnino, Francesco, Giannini, Paola, Zucca, Elena
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866910910867570688
author Dagnino, Francesco
Giannini, Paola
Zucca, Elena
author_facet Dagnino, Francesco
Giannini, Paola
Zucca, Elena
contents 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 usually done in the non-monadic case, we can express progress and subject reduction properties and provide a proof, given once and for all, that they imply soundness. The approach is illustrated on a lambda calculus with generic effects. We equip the calculus with an expressive type-and-effect system, and provide proofs of progress and subject reduction which are 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 on different locations. We also provide an extension with constructs to raise and handle computational effects, which can be instantiated to model different policies.
format Preprint
id arxiv_https___arxiv_org_abs_2504_10159
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Monadic type-and-effect soundness
Dagnino, Francesco
Giannini, Paola
Zucca, Elena
Programming Languages
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 usually done in the non-monadic case, we can express progress and subject reduction properties and provide a proof, given once and for all, that they imply soundness. The approach is illustrated on a lambda calculus with generic effects. We equip the calculus with an expressive type-and-effect system, and provide proofs of progress and subject reduction which are 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 on different locations. We also provide an extension with constructs to raise and handle computational effects, which can be instantiated to model different policies.
title Monadic type-and-effect soundness
topic Programming Languages
url https://arxiv.org/abs/2504.10159