English
Related papers

Related papers: Semantics for a Turing-complete Reversible Program…

200 papers

We study when a programming language can emulate programs written in that same language without delegating the guest program back to the host evaluator or compiler. We call this property emulation-completeness. The central observation is…

Programming Languages · Computer Science 2026-04-20 Gregory Morse , Tamás Kozsik

Reversible algorithms are algorithms in which each step represents a partial injective function; they are useful for performance optimization in reversible systems. In this study, using Janus, a reversible imperative high-level programming…

Data Structures and Algorithms · Computer Science 2019-10-24 Hiroki Masuda , Tetsuo Yokoyama

Software systems that process structured inputs often lack complete and up-to-date specifications, which specify the input syntax and the semantics of input processing. While grammar mining techniques have focused on recovering syntactic…

Software Engineering · Computer Science 2025-07-18 Andreas Pointner , Josef Pichler , Herbert Prähofer

The polarized SILL programming language uniformly integrates functional programming and session-typed message-passing concurrency. It supports general recursion, asynchronous and synchronous communication, and higher-order programs that…

Programming Languages · Computer Science 2020-05-12 Ryan Kavanagh

Automatic differentiation plays a prominent role in scientific computing and in modern machine learning, often in the context of powerful programming systems. The relation of the various embodiments of automatic differentiation to the…

Programming Languages · Computer Science 2020-02-04 Martin Abadi , Gordon D. Plotkin

The defunctionalization translation that eliminates higher-order functions from programs forms a key part of many compilers. However, defunctionalization for dependently-typed languages has not been formally studied. We present the first…

Programming Languages · Computer Science 2023-04-11 Yulong Huang , Jeremy Yallop

We describe several views of the semantics of a simple programming language as formal documents in the calculus of inductive constructions that can be verified by the Coq proof system. Covered aspects are natural semantics, denotational…

Logic in Computer Science · Computer Science 2007-07-10 Yves Bertot

We present a novel approach to construction of a formal semantics for a programming language. Our approach, using a parametric denotational semantics, allows the semantics to be easily extended to support new language features, and…

Programming Languages · Computer Science 2018-12-04 In-Ho Yi

To date, work on formalizing connectionist computation in a way that is at least Turing-complete has focused on recurrent architectures and developed equivalences to Turing machines or similar super-Turing models, which are of more…

Artificial Intelligence · Computer Science 2015-05-04 Anthony Di Franco

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

This work examines approaches to making computational models reversible. Broadly speaking, transforming a computational model into a reversible one, i.e. reversibilizing it, means extending its operational semantics conservatively in a way…

Programming Languages · Computer Science 2026-03-05 Matteo Palazzo , Luca Roversi

We show how to define forward- and reverse-mode automatic differentiation source-code transformations or on a standard higher-order functional language. The transformations generate purely functional code, and they are principled in the…

Programming Languages · Computer Science 2021-01-25 Matthijs Vákár

Reversible distributed programs have the ability to abort unproductive computation paths and backtrack, while unwinding communication that occurred in the aborted paths. While it is natural to assume that reversibility implies full state…

Programming Languages · Computer Science 2016-02-12 Geoffrey Brown , Amr Sabry

The synthesis problem asks to automatically generate, if it exists, an algorithm from a specification of correct input-output pairs. In this paper, we consider the synthesis of computable functions of infinite words, for a classical Turing…

Formal Languages and Automata Theory · Computer Science 2024-02-09 Emmanuel Filiot , Sarah Winter

Finding a denotational semantics for higher order quantum computation is a long-standing problem in the semantics of quantum programming languages. Most past approaches to this problem fell short in one way or another, either limiting the…

Logic in Computer Science · Computer Science 2013-11-12 Michele Pagani , Peter Selinger , Benoît Valiron

Reversibility is a key issue in the interface between computation and physics, and of growing importance as miniaturization progresses towards its physical limits. Most foundational work on reversible computing to date has focussed on…

Logic in Computer Science · Computer Science 2011-12-01 Samson Abramsky

Causal-consistent reversibility is the reference notion of reversibility for concurrency. We introduce a modular framework for defining causal-consistent reversible extensions of concurrent models and languages. We show how our framework…

Logic in Computer Science · Computer Science 2016-08-12 Alexis Bernadet , Ivan Lanese

Dependent pattern matching is a key feature in dependently typed programming. However, there is a theory-practice disconnect: while many proof assistants implement pattern matching as primitive, theoretical presentations give semantics to…

Programming Languages · Computer Science 2025-01-31 Joseph Eremondi , Ohad Kammar

Janus is a paradigmatic example of a reversible programming language. Indeed, Janus programs can be executed backwards as well as forwards. However, its current small-step semantics (useful, e.g., for debugging or as a basis for extensions…

Programming Languages · Computer Science 2026-02-27 Ivan Lanese , Germán Vidal

The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source…

Programming Languages · Computer Science 2017-08-29 José María Rey-Poza , Julio Mariño-Carballo