Parametric effect monads and semantics of effect systems
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '14
We study fundamental properties of a generalisation of monad called parametric effect monad, and apply it to the interpretation of general effect systems whose effects have sequential composition operators. We show that parametric effect monads admit analogues of the structures and concepts that exist for monads, such as Kleisli triples, the state monad and the continuation monad, Plotkin and Power's algebraic operations, and the categorical ⊤⊤-lifting. We also show a systematic method to
... tic method to generate both effects and a parametric effect monad from a monad morphism. Finally, we introduce two effect systems with explicit and implicit subeffecting, and discuss their denotational semantics and the soundness of effect systems. Type structure Keywords algebrac operation; computational effect; effect system; lax monoidal functor; monad; parametric effect monad • Various effect systems and their semantics are studied for the analysis of memory usage during the execution of programs [6, 7, 22, 32, 34, 37] . Effects are defined to be sets of atoms rd ρ , wr ρ , init ρ tagged with regions. • In , an effect system for concurrent ML (an extension of ML with communication primitives) is designed to analyse the communication behaviour of programs. There, effects are expressions of a process calculus. • In , Kammar and Plotkin designs an effect system that estimates the set of algebraic operations invoked during the execution of programs.