Abstract
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.
Supplemental Material
- R. M. Amadio and P.-L. Curien. Domains and lambda-calculi. Cambridge University Press, New York, NY, USA, 1998. Google Scholar
Digital Library
- R. Atkey. Parameterised notions of computation. J. Funct. Program., 19(3--4):335--376, 2009. Google Scholar
Digital Library
- G. Barthe, P. Dybjer, L. Pinto, and J. Saraiva, editors. Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures, volume 2395 of LNCS. Springer, 2002. Google Scholar
Digital Library
- N. Benton and P. Buchlovsky. Semantics of an effect analysis for exceptions. In Proceedings of 2007 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, pages 15--26. ACM, 2007. Google Scholar
Digital Library
- N. Benton, J. Hughes, and E. Moggi. Monads and effects. In Barthe et al. {3}, pages 42--122. Google Scholar
Digital Library
- N. Benton, A. Kennedy, L. Beringer, and M. Hofmann. Relational semantics for effect-based program transformations with dynamic allocation. In Proceedings of the 9th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, pages 87--96. ACM, 2007. Google Scholar
Digital Library
- N. Benton, A. Kennedy, L. Beringer, and M. Hofmann. Relational semantics for effect-based program transformations: higher-order store. In Proceedings of the 11th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, pages 301--312. ACM, 2009. Google Scholar
Digital Library
- N. Benton, A. Kennedy, M. Hofmann, and L. Beringer. Reading, writing and relations. In Programming Languages and Systems, 4th Asian Symposium, APLAS 2006, Proceedings, volume 4279 of LNCS, pages 114--130. Springer, 2006. Google Scholar
Digital Library
- A. Filinski. Representing layered monads. In Proc. POPL 1999, pages 175--188, 1999. Google Scholar
Digital Library
- J.-C. Filliǎtre. A theory of monads parameterized by effects. Research Report 1367, LRI, Université Paris Sud, November 1999.Google Scholar
- B. Jacobs. Categorical Logic and Type Theory. Elsevier, 1999.Google Scholar
- B. Jacobs. Coalgebraic trace semantics for combined possibilitistic and probabilistic systems. Electr. Notes Theor. Comput. Sci., 203(5):131--152, 2008. Google Scholar
Digital Library
- O. Kammar and G. D. Plotkin. Algebraic foundations for effectdependent optimisations. In Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 349--360. ACM, 2012. Google Scholar
Digital Library
- S. Katsumata. A semantic formulation of ΤΤ-lifting and logical predicates for computational metalanguage. In Proc. CSL '05, volume 3634 of LNCS, pages 87--102. Springer, 2005. Google Scholar
Digital Library
- S. Katsumata. Relating computational effects by ΤΤ-lifting. Inf. Comput., 222:228--246, 2013. Google Scholar
Digital Library
- S. Katsumata and T. Sato. Preorders on monads and coalgebraic simulations. In Foundations of Software Science and Computation Structures - 16th International Conference, Proceedings, volume 7794 of LNCS, pages 145--160. Springer, 2013. Google Scholar
Digital Library
- G.M. Kelly and G. Janelidze. A note on actions of a monoidal category. Theory and Applications of Categories, 9(4):61--91, 2001.Google Scholar
- A. Kock. Strong functors and monoidal monads. Archiv der Mathe-matik, 23(1):113--120, 1972.Google Scholar
Cross Ref
- S. Lack and R. Street. The formal theory of monads ii. Journal of Pure and Applied Algebra, 175(1-3):243--265, 2002.Google Scholar
Cross Ref
- T. Leinster. Higher Operads, Higher Categories. London Mathematical Society Lecture Note Series. Cambridge University Press, 2004.Google Scholar
- P. B. Levy. Call-by-Push-Value A Functiona/Imperative Synthesis. Springer, 2004. Google Scholar
Digital Library
- J. M. Lucassen and D. K. Gifford. Polymorphic effect systems. In Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 47--57. ACM, 1988. Google Scholar
Digital Library
- S. MacLane. Categories for the Working Mathematician (Second Edition), volume 5 of Graduate Texts in Mathematics. Springer, 1998.Google Scholar
- P.-A. Mellies. Parametric monads and enriched adjunctions. Manuscript.Google Scholar
- P.-A. Mellies. The parametric continuation monad. Mathematical Structures in Computer Science, Festschrift in honor of Corrado Böhm for his 90th birthday, 2013.Google Scholar
- E. Moggi. Notions of computation and monads. Inf. Comput., 93(1):55--92, 1991. Google Scholar
Digital Library
- F. Nielson and H. R. Nielson. From CML to its process algebra. Theor. Comput. Sci., 155:179--219, February 1996. Google Scholar
Digital Library
- F. Nielson, H. R. Nielson, and C. Hankin. Principles of program analysis (2. corr. print). Springer, 2005.Google Scholar
- T. Petricek, D. A. Orchard, and A. Mycroft. Coeffects: Unified static analysis of context-dependence. In Automata, Languages, and Programming - 40th International Colloquium, Proceedings, volume 7966 of LNCS, pages 385--397. Springer, 2013. Google Scholar
Digital Library
- G. Plotkin and J. Power. Algebraic operations and generic effects. Applied Categorical Structures, 11(1):69--94, 2003.Google Scholar
Cross Ref
- L. Solberg, H. R. Nielson, and F. Nielson. Strictness and totality analysis. In Static Analysis, volume 864 of LNCS, pages 408--422. Springer Berlin Heidelberg, 1994.Google Scholar
Cross Ref
- J.-P. Talpin and P. Jouvelot. The type and effect discipline. Inf. Comput., 111(2):245--296, 1994. Google Scholar
Digital Library
- R. Tate. The sequential semantics of producer effect systems. In The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 15--26. ACM, 2013. Google Scholar
Digital Library
- J. Thamsborg and L. Birkedal. A kripke logical relation for effectbased program transformations. In Proceeding of the 16th ACM SIG- PLAN International Conference on Functional Programming, pages 445--456. ACM, 2011. Google Scholar
Digital Library
- M. Tofte and J.-P. Talpin. Implementation of the typed call-by-value lambda-calculus using a stack of regions. In Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 188--201, 1994. Google Scholar
Digital Library
- D. Varacca and G. Winskel. Distributing probability over nondeterminism. Mathematical Structures in Computer Science, 16(1):87--113, 2006. Google Scholar
Digital Library
- P. Wadler. The marriage of effects and monads. In Proceedings of the third ACM SIGPLAN International Conference on Functional Programming (ICFP '98), pages 63--74. ACM, 1998. Google Scholar
Digital Library
- P.Wadler and P. Thiemann. The marriage of effects and monads. ACM Trans. Comput. Log., 4(1):1--32, 2003. Google Scholar
Digital Library
Index Terms
Parametric effect monads and semantics of effect systems
Recommendations
Parametric effect monads and semantics of effect systems
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesWe 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 ...
Observationally-induced Effect Monads: Upper and Lower Powerspace Constructions
Alex Simpson has suggested to use an observationally-induced approach towards modelling computational effects in denotational semantics. The principal idea is that a single observation algebra is used for defining the computational type structure. He ...
Arrows, like Monads, are Monoids
Monads are by now well-established as programming construct in functional languages. Recently, the notion of ''Arrow'' was introduced by Hughes as an extension, not with one, but with two type parameters. At first, these Arrows may look somewhat ...







Comments