English
Related papers

Related papers: Notions of Stack-manipulating Computation and Rela…

200 papers

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

Applicative functors are a generalisation of monads. Both allow the expression of effectful computations into an otherwise pure language, like Haskell. Applicative functors are to be preferred to monads when the structure of a computation…

Programming Languages · Computer Science 2014-06-10 Paolo Capriotti , Ambrus Kaposi

We generalise Levy's call-by-push-value (CBPV) to dependent type theory, to gain a better understanding of how to combine dependent types with effects. We define a dependently typed extension of CBPV, dCBPV-, and show that it has a very…

Logic in Computer Science · Computer Science 2016-03-15 Matthijs Vákár

Functional logic languages are a high-level approach to programming by combining the most important declarative features. They abstract from small-step operational details so that programmers can concentrate on the logical aspects of an…

Programming Languages · Computer Science 2026-05-01 Michael Hanus , Kai-Oliver Prott , Finn Teegen

This paper presents the Functional Machine Calculus (FMC) as a simple model of higher-order computation with "reader/writer" effects: higher-order mutable store, input/output, and probabilistic and non-deterministic computation. The FMC…

Programming Languages · Computer Science 2023-06-22 Willem Heijltjes

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

Wadler and Thiemann unified type-and-effect systems with monadic semantics via a syntactic correspondence and soundness results with respect to an operational semantics. They conjecture that a general, "coherent" denotational semantics can…

Programming Languages · Computer Science 2014-01-22 Dominic Orchard , Tomas Petricek , Alan Mycroft

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

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

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

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

In this paper, a monad-based denotational model is introduced and shown adequate for the Proto-Quipper family of calculi, themselves being idealized versions of the Quipper programming language. The use of a monadic approach allows us to…

Programming Languages · Computer Science 2025-12-01 Ken Sakayori , Andrea Colledan , Ugo Dal Lago

A long-standing open problem in the semantics of programming languages supporting probabilistic choice is to find a commutative monad for probability on the category DCPO. In this paper we present three such monads and a general…

Logic in Computer Science · Computer Science 2021-07-29 Xiaodong Jia , Bert Lindenhovius , Michael Mislove , Vladimir Zamdzhiev

Bidirectional transformations (bx) have primarily been modeled as pure functions, and do not account for the possibility of the side-effects that are available in most programming languages. Recently several formulations of bx that use…

Programming Languages · Computer Science 2017-09-12 Faris Abou-Saleh , James Cheney , Jeremy Gibbons , James McKinna , Perdita Stevens

Self-adjusting computation offers a language-based approach to writing programs that automatically respond to dynamically changing data. Recent work made significant progress in developing sound semantics and associated implementations of…

Programming Languages · Computer Science 2011-08-17 Matthew A. Hammer , Georg Neis , Yan Chen , Umut A. Acar

We give a domain-theoretic semantics to a statistical programming language, using the plain old category of dcpos, in contrast to some more sophisticated recent proposals. Remarkably, our monad of minimal valuations is commutative, which…

Logic in Computer Science · Computer Science 2021-09-14 Jean Goubault-Larrecq , Xiaodong Jia , Clément Théron

Using standard domain-theoretic fixed-points, we present an approach for defining recursive functions that are formulated in monadic style. The method works both in the simple option monad and the state-exception monad of Isabelle/HOL's…

Logic in Computer Science · Computer Science 2010-12-23 Alexander Krauss

There are different notions of computation, the most popular being monads, applicative functors, and arrows. In this article we show that these three notions can be seen as monoids in a monoidal category. We demonstrate that at this level…

Logic in Computer Science · Computer Science 2014-06-19 Exequiel Rivas , Mauro Jaskelioff

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

Extending the lambda-calculus with a construct for sharing, such as let expressions, enables a special representation of terms: iterated applications are decomposed by introducing sharing points in between any two of them, reducing to the…

Logic in Computer Science · Computer Science 2019-07-16 Beniamino Accattoli , Andrea Condoluci , Giulio Guerrieri , Claudio Sacerdoti Coen