English
Related papers

Related papers: Higher-Order Asynchronous Effects

200 papers

We explore asynchronous programming with algebraic effects. We complement their conventional synchronous treatment by showing how to naturally also accommodate asynchrony within them, namely, by decoupling the execution of operation calls…

Programming Languages · Computer Science 2020-11-17 Danel Ahman , Matija Pretnar

Asynchronous effects of Ahman and Pretnar complement the conventional synchronous treatment of algebraic effects with asynchrony based on decoupling the execution of algebraic operation calls into signalling that an operation's…

Programming Languages · Computer Science 2026-05-01 Danel Ahman , Ilja Sobolev

Algebraic effects and handlers support composable and structured control-flow abstraction. However, existing designs of algebraic effects often require effects to be executed sequentially. This paper studies parallel algebraic effect…

Programming Languages · Computer Science 2021-10-15 Ningning Xie , Daniel D. Johnson , Dougal Maclaurin , Adam Paszke

Algebraic effect handlers is a programming paradigm where programmers can declare their own syntactic operations, and modularly define the semantics of these using effect handlers. However, we cannot directly define algebraic effect…

Programming Languages · Computer Science 2022-03-08 Cas van der Rest , Jaro Reinders , Casper Bach Poulsen

Algebraic effects & handlers are a modular approach for modeling side-effects in functional programming. Their syntax is defined in terms of a signature of effectful operations, encoded as a functor, that are plugged into the free monad;…

Programming Languages · Computer Science 2023-02-06 Birthe van den Berg , Tom Schrijvers

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

Asynchronous programming has appeared as a programming style that overcomes undesired properties of concurrent programming. Typically in asynchronous models of programming, methods are posted into a post list for latter execution. The order…

Programming Languages · Computer Science 2015-01-06 Mohamed A. El-Zawawy

Pressed by the difficulty of writing asynchronous, event-driven code, mainstream languages have recently been building in support for a variety of advanced control-flow features. Meanwhile, experimental language designs have suggested…

Programming Languages · Computer Science 2020-10-20 Yizhou Zhang , Guido Salvaneschi , Andrew C. Myers

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

We study the relation between process calculi that differ in their either synchronous or asynchronous interaction mechanism. Concretely, we are interested in the conditions under which synchronous interaction can be implemented using just…

Logic in Computer Science · Computer Science 2011-08-24 Kirstin Peters , Jens-Wolfhard Schicke , Uwe Nestmann

Algebraic effects & handlers have become a standard approach for side-effects in functional programming. Their modular composition with other effects and clean separation of syntax and semantics make them attractive to a wide audience.…

Programming Languages · Computer Science 2024-11-27 Roger Bosman , Birthe van den Berg , Wenhao Tang , Tom Schrijvers

Runners of algebraic effects, also known as comodels, provide a mathematical model of resource management. We show that they also give rise to a programming concept that models top-level external resources, as well as allows programmers to…

Programming Languages · Computer Science 2020-04-21 Danel Ahman , Andrej Bauer

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

Inference algorithms for probabilistic programming are complex imperative programs with many moving parts. Efficient inference often requires customising an algorithm to a particular probabilistic model or problem, sometimes called…

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

Side effects are a core part of practical programming. However, they are often hard to reason about, particularly in a concurrent setting. We propose a foundation for reasoning about concurrent side effects using sessions. Primarily, we…

Programming Languages · Computer Science 2016-02-12 Dominic Orchard , Nobuko Yoshida

We present an abstract framework for concurrent processes in which atomic steps have generic side effects, handled according to the principle of monadic encapsulation of effects. Processes in this framework are potentially infinite…

Logic in Computer Science · Computer Science 2011-04-18 Sergey Goncharov , Lutz Schröder

Choreographic Programming is a paradigm for the development of concurrent software, where deadlocks are prevented syntactically. However, choreography languages are typically synchronous, whereas many real-world systems have asynchronous…

Programming Languages · Computer Science 2017-12-01 Luís Cruz-Filipe , Fabrizio Montesi

We present a complete polymorphic effect inference algorithm for an ML-style language with handlers of not only exceptions, but of any other algebraic effect such as input & output, mutable references and many others. Our main aim is to…

Programming Languages · Computer Science 2015-07-01 Matija Pretnar

The energy efficiency of analog forms of computing makes it one of the most promising candidates to deploy resource-hungry machine learning tasks on resource-constrained system such as mobile or embedded devices. However, it is well known…

Hardware Architecture · Computer Science 2023-09-26 Lisa Kuhn , Bernhard Klein , Holger Fröning

This research started with an algebra for reasoning about rely/guarantee concurrency for a shared memory model. The approach taken led to a more abstract algebra of atomic steps, in which atomic steps synchronise (rather than interleave)…

Logic in Computer Science · Computer Science 2017-10-11 Ian J. Hayes , Larissa A. Meinicke , Kirsten Winter , Robert J. Colvin
‹ Prev 1 2 3 10 Next ›