English
Related papers

Related papers: The Complexity of Abstract Machines

200 papers

The lambda calculus since more than half a century is a model and foundation of functional programming languages. However, lambda expressions can be evaluated with different reduction strategies and thus, there is no fixed cost model nor…

Programming Languages · Computer Science 2024-05-22 Tomasz Drab

An abstract machine is a theoretical model designed to perform a rigorous study of computation. Such a model usually consists of configurations, instructions, programs, inputs and outputs for the machine. In this paper we formalize these…

Logic in Computer Science · Computer Science 2010-07-21 Zhaohua Luo

A famous result by Milner is that the lambda-calculus can be simulated inside the pi-calculus. This simulation, however, holds only modulo strong bisimilarity on processes, i.e. there is a slight mismatch between beta-reduction and how it…

Programming Languages · Computer Science 2013-02-27 Beniamino Accattoli

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

This note is about a reasonable abstract machine, called Maximal MAM, implementing the maximal strategy of the lambda-calculus, that is, the strategy that always produces a longest evaluation sequence.

Programming Languages · Computer Science 2017-11-29 Beniamino Accattoli

Turing machines and register machines have been used for decades in theoretical computer science as abstract models of computation. Also the $\lambda$-calculus has played a central role in this domain as it allows to focus on the notion of…

Logic in Computer Science · Computer Science 2023-06-22 Giuseppe Della Penna , Benedetto Intrigila , Giulio Manzonetto

The theory of the call-by-value lambda-calculus relies on weak evaluation and closed terms, that are natural hypotheses in the study of programming languages. To model proof assistants, however, strong evaluation and open terms are…

Logic in Computer Science · Computer Science 2017-02-02 Beniamino Accattoli , Giulio Guerrieri

The lambda calculus is a widely accepted computational model of higher-order functional pro- grams, yet there is not any direct and universally accepted cost model for it. As a consequence, the computational difficulty of reducing lambda…

Logic in Computer Science · Computer Science 2012-02-09 Beniamino Accattoli , Ugo Dal Lago

Abstract machines for strong evaluation of the $\lambda$-calculus enter into arguments and have a set of transitions for backtracking out of an evaluated argument. We study a new abstract machine which avoids backtracking by splitting the…

Logic in Computer Science · Computer Science 2023-10-03 Beniamino Accattoli , Pablo Barenbaum

Wu's positive $\lambda$-calculus is a recent call-by-value $\lambda$-calculus with sharing coming from Miller and Wu's study of the proof-theoretical concept of focalization. Accattoli and Wu showed that it simplifies a technical aspect of…

Logic in Computer Science · Computer Science 2025-09-05 Beniamino Accattoli , Claudio Sacerdoti Coen , Jui-Hsuan Wu

Abstract machines for the strong evaluation of lambda-terms (that is, under abstractions) are a mostly neglected topic, despite their use in the implementation of proof assistants and higher-order logic programming languages. This paper…

Programming Languages · Computer Science 2016-03-18 Beniamino Accattoli , Pablo Barenbaum , Damiano Mazza

Quantum lambda calculus has been studied mainly as an idealized programming language -- the evaluation essentially corresponds to a deterministic abstract machine. Very little work has been done to develop a rewriting theory for quantum…

Logic in Computer Science · Computer Science 2025-01-29 Claudia Faggian , Gaetan Lopez , Benoît Valiron

In this work we study randomised reduction strategies,a notion already known in the context of abstract reduction systems, for the $\lambda$-calculus. We develop a simple framework that allows us to prove a randomised strategy to be…

Logic in Computer Science · Computer Science 2019-11-12 Ugo Dal Lago , Gabriele Vanoni

We present fully abstract encodings of the call-by-name and call-by-value $\lambda$-calculus into HOcore, a minimal higher-order process calculus with no name restriction. We consider several equivalences on the $\lambda$-calculus side --…

Logic in Computer Science · Computer Science 2024-08-07 Małgorzata Biernacka , Dariusz Biernacki , Sergueï Lenglet , Piotr Polesiuk , Damien Pous , Alan Schmitt

Implicit Computational Complexity makes two aspects implicit, by manipulating programming languages rather than models of com-putation, and by internalizing the bounds rather than using external measure. We survey how automata theory…

Logic in Computer Science · Computer Science 2015-02-05 Clément Aubert

In implementing evaluation strategies of the lambda-calculus, both correctness and efficiency of implementation are valid concerns. While the notion of correctness is determined by the evaluation strategy, regarding efficiency there is a…

Programming Languages · Computer Science 2018-02-21 Koko Muroya , Dan R. Ghica

The call-by-need lambda calculus provides an equational framework for reasoning syntactically about lazy evaluation. This paper examines its operational characteristics. By a series of reasoning steps, we systematically unpack the…

Programming Languages · Computer Science 2015-07-01 Ronald Garcia , Andrew Lumsdaine , Amr Sabry

Weak-head normalization is inconsistent with functional extensionality in the call-by-name $\lambda$-calculus. We explore this problem from a new angle via the conflict between extensionality and effects. Leveraging ideas from work on the…

Programming Languages · Computer Science 2016-06-22 Philip Johnson-Freyd , Paul Downen , Zena M. Ariola

We present an abstract machine that implements a full-reducing (a.k.a. strong) call-by-value strategy for pure $\lambda$-calculus. It is derived using Danvy et al.'s functional correspondence from Cr\'egut's KN by: (1) deconstructing KN to…

Programming Languages · Computer Science 2020-09-16 Małgorzata Biernacka , Dariusz Biernacki , Witold Charatonik , Tomasz Drab

The technique of abstracting abstract machines (AAM) provides a systematic approach for deriving computable approximations of evaluators that are easily proved sound. This article contributes a complementary step-by-step process for…

Programming Languages · Computer Science 2013-07-25 J. Ian Johnson , Nicholas Labich , Matthew Might , David Van Horn
‹ Prev 1 2 3 10 Next ›