English
Related papers

Related papers: Patterns for computational effects arising from a …

200 papers

We propose the first framework for defining relational program logics for arbitrary monadic effects. The framework is embedded within a relational dependent type theory and is highly expressive. At the semantic level, we provide an…

Programming Languages · Computer Science 2019-11-22 Kenji Maillard , Catalin Hritcu , Exequiel Rivas , Antoine Van Muylder

Effectful programs interact in ways that go beyond simple input-output, making compositional reasoning challenging. Existing work has shown that when such programs are ``separate'', i.e., when programs do not interfere with each other, it…

Programming Languages · Computer Science 2023-03-06 Pedro H. Azevedo de Amorim , Justin Hsu

In this paper we propose an approach to reasoning about properties of imperative programs. We assume in this context that the meanings of program constructs are described using rules in the natural semantics style with the additional…

Logic in Computer Science · Computer Science 2015-03-04 Daniel DaCosta

Monads are a popular tool for the working functional programmer to structure effectful computations. This paper presents polymonads, a generalization of monads. Polymonads give the familiar monadic bind the more general type forall a,b. L a…

Programming Languages · Computer Science 2014-06-10 Michael Hicks , Gavin Bierman , Nataliya Guts , Daan Leijen , Nikhil Swamy

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

It is well established that equational algebraic theories, and the monads they generate, can be used to encode computational effects. An important insight of Power and Shkaravska is that comodels of an algebraic theory T -- i.e., models in…

Logic in Computer Science · Computer Science 2020-12-01 Richard Garner

We introduce the abstract notions of "monadic operational semantics", a small-step semantics where computational effects are modularly modeled by a monad, and "type-and-effect system", including "effect types" whose interpretation lifts…

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

The original purpose of component-based development was to provide techniques to master complex software, through composition, reuse and parametrisation. However, such systems are rapidly moving towards a level in which software becomes…

Logic in Computer Science · Computer Science 2016-08-02 Renato Neves , Luis S. Barbosa , Dirk Hofmann , Manuel A. Martins

Most often, in a categorical semantics for a programming language, the substitution of terms is expressed by composition and finite products. However this does not deal with the order of evaluation of arguments, which may have major…

Logic in Computer Science · Computer Science 2009-06-12 Jean-Guillaume Dumas , Dominique Duval , Jean-Claude Reynaud

Recent advances in programming languages study and design have established a standard way of grounding computational systems representation in category theory. These formal results led to a better understanding of issues of control and…

Artificial Intelligence · Computer Science 2007-05-23 Jean-Marie Chauvet

The selection monad on a set consists of selection functions. These select an element from the set, based on a loss (dually, reward) function giving the loss resulting from a choice of an element. Abadi and Plotkin used the monad to model a…

Programming Languages · Computer Science 2025-04-08 Gordon Plotkin , Ningning Xie

Monads are extensively used nowadays to abstractly model a wide range of computational effects such as nondeterminism, statefulness, and exceptions. It turns out that equipping a monad with a (uniform) iteration operator satisfying a set of…

Logic in Computer Science · Computer Science 2016-03-08 Sergey Goncharov , Stefan Milius , Christoph Rauch

Probability theory can be studied synthetically as the computational effect embodied by a commutative monad. In the recently proposed Markov categories, one works with an abstraction of the Kleisli category and then defines deterministic…

Logic in Computer Science · Computer Science 2022-12-06 Sean Moss , Paolo Perrone

Permutations can be viewed as pairs of linear orders, or more formally as models over a signature consisting of two binary relation symbols. This approach was adopted by Albert, Bouvel and F\'eray, who studied the expressibility of…

Combinatorics · Mathematics 2025-11-05 Vít Jelínek , Michal Opler

Free monads (and their variants) have become a popular general-purpose tool for representing the semantics of effectful programs in proof assistants. These data structures support the compositional definition of semantics parameterized by…

Programming Languages · Computer Science 2022-07-28 Yao Li , Stephanie Weirich

We develop a method to incrementally construct programming languages. Our approach is categorical: each layer of the language is described as a monad. Our method either (i) concretely builds a distributive law between two monads, i.e.…

Logic in Computer Science · Computer Science 2018-10-08 Fredrik Dahlqvist , Louis Parlant , Alexandra Silva

Reasoning about implied relationships (e.g., paraphrastic, common sense, encyclopedic) between pairs of words is crucial for many cross-sentence inference problems. This paper proposes new methods for learning and using embeddings of word…

Computation and Language · Computer Science 2019-04-09 Mandar Joshi , Eunsol Choi , Omer Levy , Daniel S. Weld , Luke Zettlemoyer

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

The delay monad provides a way to introduce general recursion in type theory. To write programs that use a wide range of computational effects directly in type theory, we need to combine the delay monad with the monads of these effects.…

Logic in Computer Science · Computer Science 2025-10-15 Rasmus Ejlers Møgelberg , Maaike Zwart

We develop the theory of strong and commutative monads in the 2-dimensional setting of bicategories. This provides a framework for the analysis of effects in many recent models which form bicategories and not categories, such as those based…

Logic in Computer Science · Computer Science 2024-06-12 Hugo Paquet , Philip Saville