scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Evaluating functions as processes

TL;DR: It is shown that an abstract-machine evaluation of a lambda-term in the pi-calculus corresponds to linear weak head reduction, a strategy arising from the representation of lambda-terms as linear logic proof nets, and that the relation between the two is as tight as it can be.
Abstract: 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 is simulated in the pi-calculus. The idea is that evaluating a lambda-term in the pi-calculus is like running an environment-based abstract machine, rather than applying ordinary beta-reduction. In this paper we show that such an abstract-machine evaluation corresponds to linear weak head reduction, a strategy arising from the representation of lambda-terms as linear logic proof nets, and that the relation between the two is as tight as it can be. The study is also smoothly rephrased in the call-by-value case, introducing a call-by-value analogous of linear weak head reduction.
Citations
More filters
Proceedings ArticleDOI
19 Aug 2014
TL;DR: The distillation process unveils that abstract machines in fact implement weak linear head reduction, a notion of evaluation having a central role in the theory of linear logic, and shows that the LSC is a complexity-preserving abstraction of abstract machines.
Abstract: It is well-known that many environment-based abstract machines can be seen as strategies in lambda calculi with explicit substitutions (ES). Recently, graphical syntaxes and linear logic led to the linear substitution calculus (LSC), a new approach to ES that is halfway between small-step calculi and traditional calculi with ES. This paper studies the relationship between the LSC and environment-based abstract machines. While traditional calculi with ES simulate abstract machines, the LSC rather distills them: some transitions are simulated while others vanish, as they map to a notion of structural congruence. The distillation process unveils that abstract machines in fact implement weak linear head reduction, a notion of evaluation having a central role in the theory of linear logic. We show that such a pattern applies uniformly in call-by-name, call-by-value, and call-by-need, catching many machines in the literature. We start by distilling the KAM, the CEK, and a sketch of the ZINC, and then provide simplified versions of the SECD, the lazy KAM, and Sestoft's machine. Along the way we also introduce some new machines with global environments. Moreover, we show that distillation preserves the time complexity of the executions, i.e. the LSC is a complexity-preserving abstraction of abstract machines.

77 citations


Cites background or methods from "Evaluating functions as processes"

  • ...Explicit substitutions (ES) have been connected to linear logic by Kesner and co-authors in a sequence of works [26, 32, 33], culminating in the linear substitution calculus (LSC), a new formalism with ES behaviorally isomorphic to proof nets (introduced in [6], developed in [1, 3, 4, 7, 10], and bearing similarities with calculi by De Bruijn [25], Nederpelt [42], and Milner [41])....

    [...]

  • ...The presentation in use here has already appeared in [3, 10] (see also [1, 4]) as the weak head strategy of the linear substitution calculus (which is obtained by considering all contexts as evaluation contexts), and it avoids many technicalities of the original one....

    [...]

  • ...The strategies modularly encoding the various machines (generically noted ⊸ and parametric in a fixed notion of evaluation contexts) are in fact call-byname/value/need versions of weak linear head reduction (WLHR), a fundamental notion in the theory of linear logic [3, 18, 21, 27, 40]....

    [...]

  • ...Evaluation as Communication: we implicitly establish a link between the KAM/MAM and the π-calculus, given that the evaluation of a term via WLHR is isomorphic to evaluation via Milner’s encoding in the π-calculus [3]....

    [...]

Proceedings ArticleDOI
08 Jan 2014
TL;DR: This paper focuses on standardization for the linear substitution calculus, a calculus with ES capable of mimicking reduction in lambda-calculus and linear logic proof-nets, and relies on Gonthier, Lévy, and Melliès' axiomatic theory for standardization.
Abstract: Standardization is a fundamental notion for connecting programming languages and rewriting calculi. Since both programming languages and calculi rely on substitution for defining their dynamics, explicit substitutions (ES) help further close the gap between theory and practice.This paper focuses on standardization for the linear substitution calculus, a calculus with ES capable of mimicking reduction in lambda-calculus and linear logic proof-nets. For the latter, proof-nets can be formalized by means of a simple equational theory over the linear substitution calculus.Contrary to other extant calculi with ES, our system can be equipped with a residual theory in the sense of Levy, which is used to prove a left-to-right standardization theorem for the calculus with ES but without the equational theory. Such a theorem, however, does not lift from the calculus with ES to proof-nets, because the notion of left-to-right derivation is not preserved by the equational theory. We then relax the notion of left-to-right standard derivation, based on a total order on redexes, to a more liberal notion of standard derivation based on partial orders.Our proofs rely on Gonthier, Levy, and Mellies' axiomatic theory for standardization. However, we go beyond merely applying their framework, revisiting some of its key concepts: we obtain uniqueness (modulo) of standard derivations in an abstract way and we provide a coinductive characterization of their key abstract notion of external redex. This last point is then used to give a simple proof that linear head reduction --a nondeterministic strategy having a central role in the theory of linear logic-- is standard.

61 citations


Cites background or methods from "Evaluating functions as processes"

  • ...This notion of reduction is deterministic and tightly related to the π-calculus [3] and Krivine Abstract Machine [7, 14]....

    [...]

  • ...Linear logic and concurrency: it is tightly connected with the translations of λ-calculus into linear logic [4] and the πcalculus [3]....

    [...]

  • ...The alternative approach used here, already in use in [2, 3, 5], improves the original presentation in several aspects: there is no need to work with virtual redexes, there is a one-to-one correspondence between LHR in proof-nets and LHR in λlsub, and LHR can be seen as a strategy of λlsub although it is not a strategy of β-reduction....

    [...]

  • ...A new generation of calculi with ES at a distance, having very simple meta-theories and conceived as behaviorally equivalent copies of graphical languages such as linear logic proof-nets, have recently been introduced by Accattoli and Kesner in [6] (see also [2, 3, 5])....

    [...]

  • ...Linear head reduction (LHR): given the deep connection between λlsub and proof-nets [4], our calculus naturally expresses linear head reduction, a notion of evaluation for proof nets that is connected with other fundamental models [3, 5, 14, 15, 17, 29]....

    [...]

Book ChapterDOI
01 Sep 2014
TL;DR: This paper shows that practical values lead to a more efficient process of substitution--for both call-by-value and call- by-need--once the usual hypothesis for implementations hold terms are closed, reduction does not go under abstraction, and substitution is done in micro steps, replacing one variable occurrence at the time.
Abstract: Call-by-value and call-by-need l-calculi are defined using the distinguished syntactic category of values. In theoretical studies, values are variables and abstractions. In more practical works, values are usually defined simply as abstractions. This paper shows that practical values lead to a more efficient process of substitution--for both call-by-value and call-by-need--once the usual hypothesis for implementations hold terms are closed, reduction does not go under abstraction, and substitution is done in micro steps, replacing one variable occurrence at the time. Namely, the number of substitution steps becomes linear in the number of β-redexes, while theoretical values only provide a quadratic bound.

36 citations


Cites background or methods from "Evaluating functions as processes"

  • ...In the literature, (TCBN is known as weak linear head reduction, and it has been shown to be the strategy implemented by both the KAM [15, 4] and the πcalculus [3]....

    [...]

  • ...Note that such a definition is not ad-hoc, as it matches CBV weak linear head reduction as in [3], where it is defined by mimicking evaluation in the π-calculus (according to a CBV translation)....

    [...]

Journal ArticleDOI
TL;DR: This paper gives a detailed account of the relationship between (a variant of) the call-by-value lambda calculus and linear logic proof nets, and identifies a subcalculus that is shown to be as expressive as the full calculus.

34 citations


Cites background or result from "Evaluating functions as processes"

  • ...[5] Beniamino Accattoli, Pablo Barenbaum & Damiano Mazza (2014): Distilling abstract machines....

    [...]

  • ...[1] Beniamino Accattoli (2011): Jumping around the box: graphical and operational studies on λ-calculus and Linear Logic....

    [...]

  • ...[4] Beniamino Accattoli (2013): Evaluating functions as processes....

    [...]

  • ...[6] Beniamino Accattoli & Claudio Sacerdoti Coen (2014): On the Value of Variables....

    [...]

  • ...[10] Beniamino Accattoli & Luca Paolini (2012): Call-by-Value Solvability, Revisited....

    [...]

Book ChapterDOI
01 Sep 2014
TL;DR: Two non-idempotent intersection type systems for the linear substitution calculus, a calculus with partial substitutions acting at a distance that is a computational interpretation of linear logic proof-nets, are defined.
Abstract: We define two non-idempotent intersection type systems for the linear substitution calculus, a calculus with partial substitutions acting at a distance that is a computational interpretation of linear logic proof-nets. The calculus naturally express linear-head reduction, a notion of evaluation of proof nets that is strongly related to abstract machines. We show that our first (resp. second) quantitave type system characterizes linear-head, head and weak (resp. strong) normalizing sets of terms. All such characterizations are given by means of combinatorial arguments, i.e. there is a measure based on type derivations which decreases with respect to each reduction relation considered in the paper.

32 citations


Cites background or methods from "Evaluating functions as processes"

  • ...Partial substitution allows to express linear-head reduction [19, 35], a notion of evaluation of proof nets that is strongly related to significant aspects of computer science [32, 2, 4]....

    [...]

  • ...It was recently used in different investigations of computer science [4, 2, 3]....

    [...]

References
More filters
Journal ArticleDOI
30 Jan 1987

3,947 citations

Journal ArticleDOI
TL;DR: This column presents an intuitive overview of linear logic, some recent theoretical results, and summarizes several applications oflinear logic to computer science.
Abstract: Linear logic was introduced by Girard in 1987 [11] . Since then many results have supported Girard' s statement, \"Linear logic is a resource conscious logic,\" and related slogans . Increasingly, computer scientists have come to recognize linear logic as an expressive and powerful logic with connection s to a variety of topics in computer science . This column presents a.n intuitive overview of linear logic, some recent theoretical results, an d summarizes several applications of linear logic to computer science . Other introductions to linear logic may be found in [12, 361 .

2,304 citations

Journal ArticleDOI
TL;DR: This contribution was made possible only by the miraculous fact that the first members of the Editorial Board were sharing the same conviction about the necessity of Theoretical Computer Science.

1,480 citations

Book
03 Dec 2001
TL;DR: This book presents the pi-calculus, a theory of mobile systems, which provides a conceptual framework for understanding mobility, and mathematical tools for expressing systems and reasoning about their behaviors.
Abstract: From the Publisher: Mobile systems, whose components communicate and change their structure, now pervade the informational world and the wider world of which it is a part. The science of mobile systems is as yet immature, however. This book presents the pi-calculus, a theory of mobile systems. The pi-calculus provides a conceptual framework for understanding mobility, and mathematical tools for expressing systems and reasoning about their behaviors. The book serves both as a reference for the theory and as an extended demonstration of how to use pi-calculus to describe systems and analyze their properties. It covers the basic theory of pi-calculus, typed pi-calculi, higher-order processes, the relationship between pi-calculus and lambda-calculus, and applications of pi-calculus to object-oriented design and programming. The book is written at the graduate level, assuming no prior acquaintance with the subject, and is intended for computer scientists interested in mobile systems.

1,357 citations


"Evaluating functions as processes" refers background in this paper

  • ...This reformulation is justified by the following lemma, whose proof is along the one of the harmony lemma in [38] (p....

    [...]

  • ...Nowadays, it takes a relevant part in the standard reference for the π-calculus [38], and in any introductory course about it....

    [...]

Journal ArticleDOI
TL;DR: This paper examines the old question of the relationship between ISWIM and the λ-calculus, using the distinction between call-by-value and call- by-name, and finds that operational equality is not preserved by either of the simulations.

1,240 citations


"Evaluating functions as processes" refers background in this paper

  • ...In particular, Milner showed that Plotkin’s call-byname and call-by-value strategies [35] can be both faithfully represented....

    [...]