English
Related papers

Related papers: Dijkstra Monads for All

200 papers

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

Modeling sequential and parallel composition of effectful computations has been investigated in a variety of languages for a long time. In particular, the popular do-notation provides a lightweight effect embedding for any instance of a…

Programming Languages · Computer Science 2024-07-11 David Richter , Timon Böhler , Pascal Weisenburger , Mira Mezini

Strong monads are important for several applications, in particular, in the denotational semantics of effectful languages, where strength is needed to sequence computations that have free variables. Strength is non-trivial: it can be…

Logic in Computer Science · Computer Science 2022-07-05 Dylan McDermott , Tarmo Uustalu

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

We give an algebraic characterization of the syntax and semantics of a class of languages with variable binding. We introduce a notion of 2-signature: such a signature specifies not only the terms of a language, but also reduction rules on…

Logic in Computer Science · Computer Science 2019-02-20 Benedikt Ahrens

Different theorem provers tend to produce proof objects in different formats and this is especially the case for modal logics, where several deductive formalisms (and provers based on them) have been presented. This work falls within the…

Logic in Computer Science · Computer Science 2016-09-15 Tomer Libal , Marco Volpe

The syntax of an imperative language does not mention explicitly the state, while its denotational semantics has to mention it. In this paper we present a framework for the verification in Coq of properties of programs manipulating the…

Logic in Computer Science · Computer Science 2013-10-15 Jean-Guillaume Dumas , Dominique Duval , Burak Ekici , Damien Pous

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

We propose a general framework to allow: (a) specifying the operational semantics of a programming language; and (b) stating and proving properties about program correctness. Our framework is based on a many-sorted system of hybrid modal…

Logic in Computer Science · Computer Science 2025-12-01 Ioana Leustean , Natalia Moanga , Traian Florin Serbanuta

Monads have become a powerful tool for structuring effectful computations in functional programming, because they make the order of effects explicit. When translating pure code to a monadic version, we need to specify evaluation order…

Programming Languages · Computer Science 2012-02-15 Tomas Petricek

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

What provides the highest level of assurance for correctness of execution within a programming language? One answer, and our solution in particular, to this problem is to provide a formalization for, if it exists, the denotational semantics…

Category Theory · Mathematics 2023-03-17 Zachary Flores , Angelo Taranto , Eric Bond , Yakir Forman

We describe a generic construction of non-wellfounded syntax involving variable binding and its monadic substitution operation. Our construction of the syntax and its substitution takes place in category theory, notably by using monoidal…

Programming Languages · Computer Science 2024-05-08 Ralph Matthes , Kobe Wullaert , Benedikt Ahrens

In their work on second-order equational logic, Fiore and Hur have studied presentations of simply typed languages by generating binding constructions and equations among them. To each pair consisting of a binding signature and a set of…

Logic in Computer Science · Computer Science 2019-07-16 Benedikt Ahrens , André Hirschowitz , Ambroise Lafont , Marco Maggesi

Accounts of semantic phenomena often involve extending types of meanings and revising composition rules at the same time. The concept of monads allows many such accounts -- for intensionality, variable binding, quantification and focus --…

Computation and Language · Computer Science 2007-05-23 Chung-chieh Shan

We present a lightweight, open source Agda framework for manually verifying effectful programs using predicate transformer semantics. We represent the abstract syntax trees (AST) of effectful programs with a generalized algebraic datatype…

Software Engineering · Computer Science 2022-08-18 Christa Jenkins , Mark Moir , Harold Carr

Sized types are a modular and theoretically well-understood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make…

Programming Languages · Computer Science 2010-12-23 Andreas Abel

Dynamic evaluation is a paradigm in computer algebra which was introduced for computing with algebraic numbers. In linear algebra, for instance, dynamic evaluation can be used to apply programs which have been written for matrices with…

Logic in Computer Science · Computer Science 2014-11-27 Jean-Guillaume Dumas , Dominique Duval , Burak Ekici , Damien Pous

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

We give a new presentation of interactive realizability with a more explicit syntax. Interactive realizability is a realizability semantics that extends the Curry-Howard correspondence to (sub-)classical logic, more precisely to first-order…

Logic in Computer Science · Computer Science 2013-10-16 Giovanni Birolo