English
Related papers

Related papers: No value restriction is needed for algebraic effec…

200 papers

Delimited control operator shift0 exhibits versatile capabilities: it can express layered monadic effects, or equivalently, algebraic effects. Little did we know it can express lambda calculus too! We present $ \Lambda_\$ $, a call-by-value…

Programming Languages · Computer Science 2023-06-22 Mateusz Pyzik

Algebraic effects offer a versatile framework that covers a wide variety of effects. However, the family of operations that delimit scopes are not algebraic and are usually modelled as handlers, thus preventing them from being used freely…

Programming Languages · Computer Science 2022-01-26 Zhixuan Yang , Marco Paviotti , Nicolas Wu , Birthe van den Berg , Tom Schrijvers

We propose a programming model where effects are treated in a disciplined way, and where the potential side-effects of a function are apparent in its type signature. The type and effect of expressions can also be inferred automatically, and…

Programming Languages · Computer Science 2014-06-10 Daan Leijen

This note recapitulates and expands the contents of a tutorial on the mathematical theory of algebraic effects and handlers which I gave at the Dagstuhl seminar 18172 "Algebraic effect handlers go mainstream". It is targeted roughly at the…

Logic in Computer Science · Computer Science 2019-03-13 Andrej Bauer

Programming languages with algebraic effects often track the computations' effects using type-and-effect systems. In this paper, we propose to view an algebraic effect theory of a computation as a variable context; consequently, we propose…

Programming Languages · Computer Science 2021-08-24 Nikita Zyuzin , Aleksandar Nanevski

Probabilistic programming languages (PPLs) allow programmers to construct statistical models and then simulate data or perform inference over them. Many PPLs restrict models to a particular instance of simulation or inference, limiting…

Programming Languages · Computer Science 2024-12-24 Minh Nguyen , Roly Perera , Meng Wang , Nicolas Wu

We show how to smoothly incorporate in the object-oriented paradigm constructs to raise, compose, and handle effects in an arbitrary monad. The underlying pure calculus is meant to be a representative of the last generation of OO languages,…

Programming Languages · Computer Science 2025-04-23 Francesco Dagnino , Paola Giannini , Elena Zucca

Effect systems are used to statically reason about the effects an expression may have when evaluated. In the literature, such effects include various behaviours as diverse as memory accesses and exception throwing. Here we present CallE, an…

Programming Languages · Computer Science 2019-09-09 Isaac Oscar Gariano , James Noble , Marco Servetto

Eff is a programming language based on the algebraic approach to computational effects, in which effects are viewed as algebraic operations and effect handlers as homomorphisms from free algebras. Eff supports first-class effects and…

Programming Languages · Computer Science 2015-07-17 Andrej Bauer , Matija Pretnar

Algebraic effects and handlers have emerged in the programming languages community as a convenient, modular abstraction for controlling computational effects. They have found several applications including concurrent programming, meta…

Programming Languages · Computer Science 2018-11-16 Dave Moore , Maria I. Gorinova

This paper studies the design of programming languages with handlers of higher-order effectful operations -- effectful operations that may take in computations as arguments or return computations as output. We present and analyse a core…

Programming Languages · Computer Science 2025-11-11 Zhixuan Yang , Nicolas Wu

Model-checking is one of the most powerful techniques for verifying systems and programs, which since the pioneering results by Knapik et al., Ong, and Kobayashi, is known to be applicable to functional programs with higher-order types…

Logic in Computer Science · Computer Science 2023-09-01 Ugo Dal Lago , Alexis Ghyselen

We present an effect system for core Eff, a simplified variant of Eff, which is an ML-style programming language with first-class algebraic effects and handlers. We define an expressive effect system and prove safety of operational…

Programming Languages · Computer Science 2015-07-01 Andrej Bauer , Matija Pretnar

We introduce a new diagrammatic notation for representing the result of (algebraic) effectful computations. Our notation explicitly separates the effects produced during a computation from the possible values returned, this way simplifying…

Programming Languages · Computer Science 2020-01-13 Ugo Dal Lago , Francesco Gavazzo

The framework of Light Logics has been extensively studied to control the complexity of higher-order functional programs. We propose an extension of this framework to multithreaded programs with side effects, focusing on the case of…

Programming Languages · Computer Science 2012-09-27 Antoine Madet

Many effect systems for algebraic effect handlers are designed to guarantee that all invoked effects are handled adequately. However, respective researchers have developed their own effect systems that differ in how to represent the…

Programming Languages · Computer Science 2024-04-26 Takuma Yoshioka , Taro Sekiyama , Atsushi Igarashi

We investigate the phenomenon that "every monad is a linear state monad". We do this by studying a fully-complete state-passing translation from an impure call-by-value language to a new linear type theory: the enriched call-by-value…

Programming Languages · Computer Science 2015-07-01 Rasmus Ejlers Møgelberg , Sam Staton

Effect and coeffect tracking integrate many types of compile-time analysis, such as cost, liveness, or dataflow, directly into a language's type system. In this paper, we investigate the addition of effect and coeffect tracking to the type…

Programming Languages · Computer Science 2024-09-04 Cassia Torczon , Emmanuel Suárez Acevedo , Shubh Agrawal , Joey Velez-Ginorio , Stephanie Weirich

Algebraic effects are computational effects that can be described with a set of basic operations and equations between them. As many interesting effect handlers do not respect these equations, most approaches assume a trivial theory,…

Logic in Computer Science · Computer Science 2020-05-29 Žiga Lukšič , Matija Pretnar

Effect handlers allow programmers to model and compose computational effects modularly. Effect systems statically guarantee that all effects are handled. Several recent practical effect systems are based on either row polymorphism or…

Programming Languages · Computer Science 2025-12-16 Wenhao Tang , Sam Lindley