Patterns for computational effects arising from a monad or a comonad - Archive ouverte HAL Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2013

Patterns for computational effects arising from a monad or a comonad

Résumé

This paper presents equational-based logics for proving first order properties of programming languages involving effects. We propose two dual inference system patterns that can be instanciated with monads or comonads in order to be used for proving properties of different effects. The first pattern provides inference rules which can be interpreted in the Kleisli category of a monad and the coKleisli category of the associated comonad. In a dual way, the second pattern provides inference rules which can be interpreted in the coKleisli category of a comonad and the Kleisli category of the associated monad. The logics combine a 3-tier effect system for terms consisting of pure terms and two other kinds of effects called 'constructors/observers' and 'modifiers', and a 2-tier system for 'up-to-effects' and 'strong' equations. Each pattern provides generic rules for dealing with any monad (respectively comonad), and it can be extended with specific rules for each effect. The paper presents two use cases: a language with exceptions (using the standard monadic semantics), and a language with state (using the less standard comonadic semantics). Finally, we prove that the obtained inference system for states is Hilbert-Post complete.
Fichier principal
Vignette du fichier
patternsmonads.pdf (251.03 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00868831 , version 1 (02-10-2013)
hal-00868831 , version 2 (14-10-2013)

Identifiants

Citer

Jean-Guillaume Dumas, Dominique Duval, Jean-Claude Reynaud. Patterns for computational effects arising from a monad or a comonad. [Research Report] LJK. 2013. ⟨hal-00868831v2⟩
277 Consultations
131 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More