Parametric effect monads and semantics of effect systems

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 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.

[1]  G. L Y N N W I N S K E L Distributing probability over nondeterminism , 2005 .

[2]  Martin Hofmann,et al.  Reading, Writing and Relations , 2006, APLAS.

[3]  Lars Birkedal,et al.  A kripke logical relation for effect-based program transformations , 2011, ICFP '11.

[4]  João Saraiva,et al.  Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures , 2000 .

[5]  Gordon D. Plotkin,et al.  Algebraic Operations and Generic Effects , 2003, Appl. Categorical Struct..

[6]  Glynn Winskel,et al.  Distributing probability over non-determinism , 2006, Mathematical Structures in Computer Science.

[7]  Bart Jacobs,et al.  Categorical Logic and Type Theory , 2001, Studies in logic and the foundations of mathematics.

[8]  Philip Wadler,et al.  The marriage of effects and monads , 1998, ICFP '98.

[9]  Shin-ya Katsumata,et al.  A Semantic Formulation of TT-Lifting and Logical Predicates for Computational Metalanguage , 2005, CSL.

[10]  Mads Tofte,et al.  Implementation of the typed call-by-value λ-calculus using a stack of regions , 1994, POPL '94.

[11]  Andrzej Filinski,et al.  Representing layered monads , 1999, POPL '99.

[12]  Tetsuya Sato,et al.  Preorders on Monads and Coalgebraic Simulations , 2013, FoSSaCS.

[13]  Ross Tate,et al.  The sequential semantics of producer effect systems , 2013, POPL.

[14]  Martin Hofmann,et al.  Relational semantics for effect-based program transformations: higher-order store , 2009, PPDP '09.

[15]  Pierre Jouvelot,et al.  The Type and Effect Discipline , 1994, Inf. Comput..

[16]  Nick Benton,et al.  Semantics of an effect analysis for exceptions , 2007, TLDI '07.

[17]  A. Meyers Reading , 1999, Language Teaching.

[18]  Tom Leinster Higher Operads, Higher Categories , 2003 .

[19]  Robert Atkey,et al.  Parameterised notions of computation , 2006, J. Funct. Program..

[20]  Martin Hofmann,et al.  Relational semantics for effect-based program transformations with dynamic allocation , 2007, PPDP '07.

[21]  Flemming Nielson,et al.  From CML to its Process Algebra , 1996, Theor. Comput. Sci..

[22]  Paul Blain Levy,et al.  Call-by-push-value , 2022, ACM SIGLOG News.

[23]  G. M. Kelly,et al.  A note on actions of a monoidal category. , 2001 .

[24]  Flemming Nielson,et al.  Strictness and Totality Analysis , 1998, SAS.

[25]  Roberto M. Amadio,et al.  Domains and lambda-calculi , 1998, Cambridge tracts in theoretical computer science.

[26]  Alan Mycroft,et al.  Coeffects: Unified Static Analysis of Context-Dependence , 2013, ICALP.

[27]  S. Lack,et al.  The formal theory of monads II , 2002 .

[28]  David K. Gifford,et al.  Polymorphic effect systems , 1988, POPL '88.

[29]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[30]  Nick Benton,et al.  Monads and Effects , 2000, APPSEM.

[31]  Shin-ya Katsumata,et al.  Relating computational effects by ⊤⊤-lifting , 2013, Inf. Comput..

[32]  Ohad Kammar,et al.  Algebraic foundations for effect-dependent optimisations , 2012, POPL '12.

[33]  Bart Jacobs,et al.  Coalgebraic Trace Semantics for Combined Possibilitistic and Probabilistic Systems , 2008, CMCS.

[34]  A. Kock Strong functors and monoidal monads , 1972 .

[35]  Paul Blain Levy,et al.  Call-By-Push-Value: A Functional/Imperative Synthesis , 2003, Semantics Structures in Computation.