English
Related papers

Related papers: Programming with Algebraic Effects and Handlers

200 papers

The lower and upper bound of any given algorithm is one of the most crucial pieces of information needed when evaluating the computational effectiveness for said algorithm. Here a novel method of Boolean Algebraic Programming for symbolic…

Data Structures and Algorithms · Computer Science 2014-07-14 Daniel McCormack

Categories and categorical structures are increasingly recognized as useful abstractions for modeling in science and engineering. To uniformly implement category-theoretic mathematical models in software, we introduce GATlab, a…

Logic in Computer Science · Computer Science 2024-12-18 Owen Lynch , Kris Brown , James Fairbanks , Evan Patterson

We apply program verification technology to the problem of specifying and verifying automatic differentiation (AD) algorithms. We focus on define-by-run, a style of AD where the program that must be differentiated is executed and monitored…

Logic in Computer Science · Computer Science 2024-02-14 Paulo Emílio de Vilhena , François Pottier

Parsing Expression Grammars (PEGs) are a recognition-based formalism which allows to describe the syntactical and the lexical elements of a language. The main difference between Context-Free Grammars (CFGs) and PEGs relies on the…

Formal Languages and Automata Theory · Computer Science 2020-11-10 Sérgio Medeiros , Carlos Olarte

This paper suggests an approach to the development of software testing and debugging automation tools based on precise program behavior models. The program behavior model is defined as a set of events (event trace) with two basic binary…

Software Engineering · Computer Science 2007-05-23 Mikhail Auguston

Using process algebra, this paper describes the formalisation of the process/semantics behind the purely event-driven programming language.

Programming Languages · Computer Science 2018-08-28 Bas van den Heuvel

We define EVL, a minimal higher-order functional language to deal with generic events. The notion of generic event extends the well-known notion of event traditionally used in a variety of areas, such as database management, concurrency,…

Logic in Computer Science · Computer Science 2021-11-01 Sandra Alves , Maribel Fernández , Miguel Ramos

Debugging lazy functional programs poses serious challenges. In support of the "stop, examine, and resume" debugging style of imperative languages, some debugging tools abandon lazy evaluation. Other debuggers preserve laziness but present…

Programming Languages · Computer Science 2011-08-25 Stephen Chang , John Clements , Eli Barzilay , Matthias Felleisen

Theoretical foundations of compositional reasoning about heaps in imperative programming languages are investigated. We introduce a novel concept of compositional symbolic memory and its relevant properties. We utilize these formal…

Programming Languages · Computer Science 2019-06-27 Yurii Kostyukov , Konstantin Batoev , Dmitry Mordvinov , Michael Kostitsyn , Aleksandr Misonizhnik

We describe a denotational semantics for an abstract effect system for a higher-order, shared-variable concurrent programming language. We prove the soundness of a number of general effect-based program equivalences, including a…

Programming Languages · Computer Science 2015-10-12 Nick Benton , Martin Hofmann , Vivek Nigam

We introduce a quantum-like classical computational model, called affine computation, as a generalization of probabilistic computation. After giving the basics of affine computation, we define affine finite automata (AfA) and compare it…

Formal Languages and Automata Theory · Computer Science 2016-06-07 Alejandro Díaz-Caro , Abuzer Yakaryılmaz

We study program refactoring while considering the language or even the programming paradigm as a parameter. We use typed functional programs, namely Haskell programs, as the specification medium for a corresponding refactoring framework.…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

Motivated by a need for a model of reversible computation appropriate for a Brownian molecular architecture, the $\aleph$ calculus is introduced. This novel model is declarative, concurrent, and term-based--encapsulating all information…

Programming Languages · Computer Science 2021-12-02 Hannah Earley

Our goal is to define an algebraic language for reasoning about non-deterministic computations. Towards this goal, we introduce an algebra of string-to-string transductions. Specifically, it is an algebra of partial functions on words over…

Logic in Computer Science · Computer Science 2023-11-22 Eugenia Ternovska

Experiments require human decisions in the design process, which in turn are reformulated and summarized as inputs into a system (computational or otherwise) to generate the experimental design. I leverage this system to promote a language…

Other Computer Science · Computer Science 2023-07-26 Emi Tanaka

Effectivity functions are the basic formalism for investigating the semantics game logic. We discuss algebraic properties of stochastic effectivity functions, in particular the relationship to stochastic relations, morphisms and congruences…

Logic in Computer Science · Computer Science 2014-04-01 Ernst-Erich Doberkat

A ring with effects (e-ring) is a generalization of the ring of bounded linear operators on a Hilbert space and the subsystem of effect operators (positive Hermitian operators dominated by the identity operator). The POV-measures…

Quantum Physics · Physics 2007-05-23 D. J. Foulis

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 a mathematical framework for quantum mechanics in which the basic entities and operations have physical significance. In this framework the primitive concepts are states and effects and the resulting mathematical structure is a…

Quantum Physics · Physics 2018-02-06 Stan Gudder

This paper attempts to connects the evolution of computer languages with the evolution of life, where the later has been dictated by \emph{theory of evolution of species}, and tries to give supportive evidence that the new languages are…

Programming Languages · Computer Science 2020-07-07 K. R. Chowdhary