English
Related papers

Related papers: Polymonadic Programming

200 papers

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

Monads are a useful tool for structuring effectful features of computation such as state, non-determinism, and continuations. In the last decade, several generalisations of monads have been suggested which provide a more fine-grained model…

Programming Languages · Computer Science 2020-05-04 Dominic Orchard , Philip Wadler , Harley Eades

Monads in category theory are algebraic structures that can be used to model computational effects in programming languages. We show how the notion of "centre", and more generally "centrality", i.e. the property for an effect to commute…

Logic in Computer Science · Computer Science 2025-10-31 TItouan Carette , Louis Lemonnier , Vladimir Zamdzhiev

Monads govern computational side-effects in programming semantics. They can be combined in a ''bottom-up'' way to handle several instances of such effects. Indexed monads and graded monads do this in a modular way. Here, instead, we equip…

Logic in Computer Science · Computer Science 2021-08-05 Carmen Constantin , Nuiok Dicaire , Chris Heunen

Computer science provides an in-depth understanding of technical aspects of programming concepts, but if we want to understand how programming concepts evolve, how programmers think and talk about them and how they are used in practice, we…

Programming Languages · Computer Science 2018-03-28 Tomas Petricek

Monads provide a simple and concise interface to user-defined computational effects in functional programming languages. This enables equational reasoning about effects, abstraction over monadic interfaces and the development of monad…

Programming Languages · Computer Science 2025-05-05 Yuchen Jiang , Runze Xue , Max S. New

This paper proposes a general semantic framework for verifying programs with arbitrary monadic side-effects using Dijkstra monads, which we define as monad-like structures indexed by a specification monad. We prove that any monad morphism…

Programming Languages · Computer Science 2019-06-27 Kenji Maillard , Danel Ahman , Robert Atkey , Guido Martinez , Catalin Hritcu , Exequiel Rivas , Éric Tanter

This paper describes a categorical interpretation of the Wolfram Language and introduces a simple implementation of monadic types and the "do" notation. The monadic style of programming combined with the many built in functions of the…

Programming Languages · Computer Science 2020-05-20 Kacper Topolnicki

Graded monads refine traditional monads using effect annotations in order to describe quantitatively the computational effects that a program can generate. They have been successfully applied to a variety of formal systems for reasoning…

Logic in Computer Science · Computer Science 2026-01-22 Satoshi Kura , Marco Gaboardi , Taro Sekiyama , Hiroshi Unno

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

One can perform equational reasoning about computational effects with a purely functional programming language thanks to monads. Even though equational reasoning for effectful programs is desirable, it is not yet mainstream. This is partly…

Logic in Computer Science · Computer Science 2025-01-15 Reynald Affeldt , Jacques Garrigue , Takafumi Saikawa

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

Software frequently converts data from one representation to another and vice versa. Naively specifying both conversion directions separately is error prone and introduces conceptual duplication. Instead, bidirectional programming…

Programming Languages · Computer Science 2019-02-20 Li-yao Xia , Dominic Orchard , Meng Wang

Notions of computation can be modelled by monads. Algebraic effects offer a characterization of monads in terms of algebraic operations and equational axioms, where operations are basic programming features, such as reading or updating the…

Programming Languages · Computer Science 2024-05-21 Cristina Matache , Sam Lindley , Sean Moss , Sam Staton , Nicolas Wu , Zhixuan Yang

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

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

Partial Combinatory Algebras (PCAs) provide a foundational model of the untyped $\lambda$-calculus and serve as the basis for many notions of computability, such as realizability theory. However, PCAs support a very limited notion of…

Logic in Computer Science · Computer Science 2025-06-12 Liron Cohen , Ariel Grunfeld , Dominik Kirst , Étienne Miquey

This paper is a contribution to the search for efficient and high-level mathematical tools to specify and reason about (abstract) programming languages or calculi. Generalising the reduction monads of Ahrens et al., we introduce transition…

Programming Languages · Computer Science 2023-06-22 André Hirschowitz , Tom Hirschowitz , Ambroise Lafont

In the study of computational effects, it is important to consider the notion of computational effects with parameters. The need of such a notion arises when, for example, statically estimating the range of effects caused by a program, or…

Category Theory · Mathematics 2019-04-18 Soichiro Fujii

Type-and-effect systems incorporate information about the computational effects, e.g., state mutation, probabilistic choice, or I/O, a program phrase may invoke alongside its return value. A semantics for type-and-effect systems involves a…

Programming Languages · Computer Science 2018-04-11 Ohad Kammar , Dylan McDermott
‹ Prev 1 2 3 10 Next ›