Abstract
AbstractMoggi's Computational Monads and Poweret al.'s equivalent notion of Freyd category have captured a large range of computational effects present in programming languages. Examples include non-termination, non-determinism, exceptions, continuations, side effects and input/output. We present generalisations of both computational monads and Freyd categories, which we callparameterisedmonads andparameterisedFreyd categories, that also capture computational effects with parameters. Examples of such are composable continuations, side effects where the type of the state varies and input/output where the range of inputs and outputs varies. By considering structured parameterisation also, we extend the range of effects to cover separated side effects and multiple independent streams of I/O. We also present two typed λ-calculi that soundly and completely model our categorical definitions – with and without symmetric monoidal parameterisation – and act as prototypical languages with parameterised effects.
Publisher
Cambridge University Press (CUP)
Reference37 articles.
1. Atkey R. (2006) Substructural Simple Type Theories for Separation and In-place Update. PhD thesis, University of Edinburgh.
2. Premonoidal categories and notions of computation
Cited by
77 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Abstracting Effect Systems for Algebraic Effect Handlers;Proceedings of the ACM on Programming Languages;2024-08-15
2. Proofs as stateful programs: A first-order logic with abstract Hoare triples, and an interpretation into an imperative language;Logical Methods in Computer Science;2024-01-26
3. Polymorphic Typestate for Session Types;International Symposium on Principles and Practice of Declarative Programming;2023-10-22
4. Strongly-Typed Multi-View Stack-Based Computations;International Symposium on Principles and Practice of Declarative Programming;2023-10-22
5. ElixirST: A session-based type system for Elixir modules;Journal of Logical and Algebraic Methods in Programming;2023-10