English
Related papers

Related papers: Programming with Algebraic Effects and Handlers

200 papers

This dissertation is concerned with the study of program equivalence and algebraic effects as they arise in the theory of programming languages. Algebraic effects represent impure behaviour in a functional programming language, such as…

Programming Languages · Computer Science 2019-02-14 Cristina Matache

Algebraic effects and handlers are a mechanism to structure programs with computational effects in a modular way. They are recently gaining popularity and being adopted in practical languages, such as OCaml. Meanwhile, there has been…

Programming Languages · Computer Science 2023-11-20 Fuga Kawamata , Hiroshi Unno , Taro Sekiyama , Tachio Terauchi

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

Soundness and completeness with respect to equational theories for programming languages are fundamental properties in the study of categorical semantics. However, completeness results have not been established for programming languages…

Logic in Computer Science · Computer Science 2026-02-04 Satoshi Kura

Probabilistic programming languages, which exist in abundance, are languages that allow users to calculate probability distributions defined by probabilistic programs, by using inference algorithms. However, the underlying inference…

Programming Languages · Computer Science 2026-01-15 Oliver Goldstein , Ohad Kammar

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

Dependent types provide a lightweight and modular means to integrate programming and formal program verification. In particular, the types of programs written in dependently typed programming languages (Agda, Idris, F*, etc.) can be used to…

Logic in Computer Science · Computer Science 2017-10-10 Danel Ahman

Variable environment is the time-honored way of making sense of free variables, used in programming language theory as well when writing interpreters and some compilers. Algebraic effects give another way, as was pointed already at HOPE…

Programming Languages · Computer Science 2023-12-29 Oleg Kiselyov

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

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 introduce a new programming language and its categorical semantics in order to design and implement neural networks within the framework of algebraic effects and handlers for arrows. Our language enables us to construct neural networks…

Programming Languages · Computer Science 2026-02-23 Takahiro Sanada , Keisuke Hoshino , Kenshin Hirai , Shin-ya Katsumata

Algebraic effects and handlers are a powerful abstraction to build non-local control-flow mechanisms such as resumable exceptions, lightweight threads, co-routines, generators, and asynchronous I/O. All of such features have very evolved…

Logic in Computer Science · Computer Science 2023-02-08 Tiago Soares , Mário Pereira

Algebraic effects and handlers are a powerful abstraction mechanism to represent and implement control effects. In this work, we study their extension with parametric polymorphism that allows abstracting not only expressions but also…

Programming Languages · Computer Science 2020-01-16 Taro Sekiyama , Atsushi Igarashi

We explore the design and implementation of Frank, a strict functional programming language with a bidirectional effect type system designed from the ground up around a novel variant of Plotkin and Pretnar's effect handler abstraction.…

Programming Languages · Computer Science 2017-10-04 Sam Lindley , Conor McBride , Craig McLaughlin

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

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

Sequential effect systems are a class of effect system that exploits information about program order, rather than discarding it as traditional commutative effect systems do. This extra expressive power allows effect systems to reason about…

Programming Languages · Computer Science 2020-05-18 Colin S. Gordon

Type-and-effect systems help the programmer to organize data and computational effects in a program. While for traditional type systems expressive variants with sophisticated inference algorithms have been developed and widely used in…

Programming Languages · Computer Science 2025-10-24 Patrycja Balik , Szymon Jędras , Piotr Polesiuk

Scientists often infer abstract procedures from specific instances of problems and use the abstractions to generate new, related instances. For example, programs encoding the formal rules and properties of a system have been useful in…

Computation and Language · Computer Science 2025-07-22 Zaid Khan , Elias Stengel-Eskin , Archiki Prasad , Jaemin Cho , Mohit Bansal

Regular languages -- the languages accepted by deterministic finite automata -- are known to be precisely the languages recognized by finite monoids. This characterization is the origin of algebraic language theory. In this paper, we…

Formal Languages and Automata Theory · Computer Science 2025-05-06 Fabian Lenke , Stefan Milius , Henning Urbat , Thorsten Wißmann