Affiliation:
1. Cornell University, Ithaca, NY, USA
Abstract
Effects are fundamental to programming languages. Even the lambda calculus has effects, and consequently the two famous evaluation strategies produce different semantics. As such, much research has been done to improve our understanding of effects. Since Moggi introduced monads for his computational lambda calculus, further generalizations have been designed to formalize increasingly complex computational effects, such as indexed monads followed by layered monads followed by parameterized monads. This succession prompted us to determine the most general formalization possible. In searching for this formalization we came across many surprises, such as the insufficiencies of arrows, as well as many unexpected insights, such as the importance of considering an effect as a small component of a whole system rather than just an isolated feature. In this paper we present our semantic formalization for producer effect systems, which we call a productor, and prove its maximal generality by focusing on only sequential composition of effectful computations, consequently guaranteeing that the existing monadic techniques are specializations of productors.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A HAT Trick: Automatically Verifying Representation Invariants using Symbolic Finite Automata;Proceedings of the ACM on Programming Languages;2024-06-20
2. Trace contracts;Journal of Functional Programming;2023
3. Polymorphic Iterable Sequential Effect Systems;ACM Transactions on Programming Languages and Systems;2021-03-31
4. Graded Hoare Logic and its Categorical Semantics;Programming Languages and Systems;2021
5. A Variety Theorem for Relational Universal Algebra;Relational and Algebraic Methods in Computer Science;2021