English
Related papers

Related papers: Reduction Strategies in the Lambda Calculus and Th…

200 papers

The lambda-calculus is a peculiar computational model whose definition does not come with a notion of machine. Unsurprisingly, implementations of the lambda-calculus have been studied for decades. Abstract machines are implementations…

Programming Languages · Computer Science 2017-01-04 Beniamino Accattoli

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

To support the understanding of declarative probabilistic programming languages, we introduce a lambda-calculus with a fair binary probabilistic choice that chooses between its arguments with equal probability. The reduction strategy of the…

Logic in Computer Science · Computer Science 2022-05-31 David Sabel , Manfred Schmidt-Schauß , Luca Maio

We present a call-by-need $\lambda$-calculus that enables strong reduction (that is, reduction inside the body of abstractions) and guarantees that arguments are only evaluated if needed and at most once. This calculus uses explicit…

Logic in Computer Science · Computer Science 2023-06-22 Thibaut Balabonski , Antoine Lanco , Guillaume Melquiond

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

A notion of probabilistic lambda-calculus usually comes with a prescribed reduction strategy, typically call-by-name or call-by-value, as the calculus is non-confluent and these strategies yield different results. This is a break with one…

Logic in Computer Science · Computer Science 2020-02-21 Ugo Dal Lago , Giulio Guerrieri , Willem Heijltjes

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

This paper concerns the explicit treatment of substitutions in the lambda calculus. One of its contributions is the simplification and rationalization of the suspension calculus that embodies such a treatment. The earlier version of this…

Logic in Computer Science · Computer Science 2007-05-23 Andrew Gacek , Gopalan Nadathur

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

We define a new cost model for the call-by-value lambda-calculus satisfying the invariance thesis. That is, under the proposed cost model, Turing machines and the call-by-value lambda-calculus can simulate each other within a polynomial…

Logic in Computer Science · Computer Science 2007-05-23 Ugo Dal Lago , Simone Martini

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

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

Higher-order representations of objects such as programs, proofs, formulas and types have become important to many symbolic computation tasks. Systems that support such representations usually depend on the implementation of an intensional…

Programming Languages · Computer Science 2007-05-23 Xiaochu Qi

We propose a call-by-value lambda calculus extended with a new construct inspired by abductive inference and motivated by the programming idioms of machine learning. Although syntactically simple the abductive construct has a complex and…

Programming Languages · Computer Science 2017-10-12 Koko Muroya , Steven Cheung , Dan R. Ghica

The elegant 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 2016-09-21 Beniamino Accattoli , Giulio Guerrieri

Whether the number of beta-steps in the lambda-calculus can be taken as a reasonable time cost model (that is, polynomially related to the one of Turing machines) is a delicate problem, which depends on the notion of evaluation strategy.…

Logic in Computer Science · Computer Science 2021-10-29 Beniamino Accattoli , Andrea Condoluci , Claudio Sacerdoti Coen

This paper is a concise and painless introduction to the $\lambda$-calculus. This formalism was developed by Alonzo Church as a tool for studying the mathematical properties of effectively computable functions. The formalism became popular…

Logic in Computer Science · Computer Science 2015-04-01 Raul Rojas

We prove that orthogonal constructor term rewrite systems and lambda-calculus with weak (i.e., no reduction is allowed under the scope of a lambda-abstraction) call-by-value reduction can simulate each other with a linear overhead. In…

Programming Languages · Computer Science 2012-08-03 Ugo Dal Lago , Simone Martini

We prove that orthogonal constructor term rewrite systems and lambda-calculus with weak (i.e., no reduction is allowed under the scope of a lambda-abstraction) call-by-value reduction can simulate each other with a linear overhead. In…

Programming Languages · Computer Science 2019-03-14 Ugo Dal Lago , Simone Martini

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
‹ Prev 1 2 3 10 Next ›