Results 1  10
of
133
ParameterPassing and the Lambda Calculus
, 1991
"... The choice of a parameterpassing technique is an important decision in the design of a highlevel programming language. To clarify some of the semantic aspects of the decision, we develop, analyze, and compare modifications of the calculus for the most common parameterpassing techniques, i.e., ca ..."
Abstract

Cited by 193 (23 self)
 Add to MetaCart
(Show Context)
The choice of a parameterpassing technique is an important decision in the design of a highlevel programming language. To clarify some of the semantic aspects of the decision, we develop, analyze, and compare modifications of the calculus for the most common parameterpassing techniques, i.e., callbyvalue and callbyname combined with passbyworth and passby reference, respectively. More specifically, for each parameterpassing technique we provide 1. a program rewriting semantics for a language with sideeffects and firstclass procedures based on the respective parameterpassing technique; 2. an equational theory that is derived from the rewriting semantics in a uniform manner; 3. a formal analysis of the correspondence between the calculus and the semantics; and 4. a strong normalization theorem for the imperative fragment of the theory (when applicable). A comparison of the various systems reveals that Algol's callbyname indeed satisfies the wellknown fi rule of the orig...
Confluence properties of Weak and Strong Calculi of Explicit Substitutions
 JOURNAL OF THE ACM
, 1996
"... Categorical combinators [12, 21, 43] and more recently oecalculus [1, 23], have been introduced to provide an explicit treatment of substitutions in the calculus. We reintroduce here the ingredients of these calculi in a selfcontained and stepwise way, with a special emphasis on confluence prope ..."
Abstract

Cited by 130 (7 self)
 Add to MetaCart
Categorical combinators [12, 21, 43] and more recently oecalculus [1, 23], have been introduced to provide an explicit treatment of substitutions in the calculus. We reintroduce here the ingredients of these calculi in a selfcontained and stepwise way, with a special emphasis on confluence properties. The main new results of the paper w.r.t. [12, 21, 1, 23] are the following: 1. We present a confluent weak calculus of substitutions, where no variable clashes can be feared. 2. We solve a conjecture raised in [1]: oecalculus is not confluent (it is confluent on ground terms only). This unfortunate result is "repaired" by presenting a confluent version of oecalculus, named the Envcalculus in [23], called here the confluent oecalculus.
The Geometry of Optimal Lambda Reduction
, 1992
"... Lamping discovered an optimal graphreduction implementation of the calculus. Simultaneously, Girard invented the geometry of interaction, a mathematical foundation for operational semantics. In this paper, we connect and explain the geometry of interaction and Lamping's graphs. The geometry o ..."
Abstract

Cited by 106 (2 self)
 Add to MetaCart
Lamping discovered an optimal graphreduction implementation of the calculus. Simultaneously, Girard invented the geometry of interaction, a mathematical foundation for operational semantics. In this paper, we connect and explain the geometry of interaction and Lamping's graphs. The geometry of interaction provides a suitable semantic basis for explaining and improving Lamping's system. On the other hand, graphs similar to Lamping's provide a concrete representation of the geometry of interaction. Together, they offer a new understanding of computation, as well as ideas for efficient and correct implementations.
Equational term graph rewriting
 FUNDAMENTA INFORMATICAE
, 1996
"... We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is wellknown in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bis ..."
Abstract

Cited by 75 (8 self)
 Add to MetaCart
We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is wellknown in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bisimilarity class of a term graph, partially ordered by functional bisimulation, is a complete lattice. It is shown how Equational Logic induces a notion of copying and substitution on term graphs, or systems of recursion equations, and also suggests the introduction of hidden or nameless nodes in a term graph. Hidden nodes can be used only once. The general framework of term graphs with copying is compared with the more restricted copying facilities embodied in the µrule, and translations are given between term graphs and µexpressions. Using these, a proof system is given for µexpressions that is complete for the semantics given by infinite tree unwinding. Next, orthogonal term graph rewrite ...
Linear Logic Without Boxes
, 1992
"... Girard's original definition of proof nets for linear logic involves boxes. The box is the unit for erasing and duplicating fragments of proof nets. It imposes synchronization, limits sharing, and impedes a completely local view of computation. Here we describe an implementation of proof nets w ..."
Abstract

Cited by 54 (0 self)
 Add to MetaCart
Girard's original definition of proof nets for linear logic involves boxes. The box is the unit for erasing and duplicating fragments of proof nets. It imposes synchronization, limits sharing, and impedes a completely local view of computation. Here we describe an implementation of proof nets without boxes. Proof nets are translated into graphs of the sort used in optimal calculus implementations; computation is performed by simple graph rewriting. This graph implementation helps in understanding optimal reductions in the calculus and in the various programming languages inspired by linear logic. 1 Beyond the calculus The calculus is not entirely explicit about the operations of erasing and duplicating arguments. These operations are important both in the theory of the  calculus and in its implementations, yet they are typically treated somewhat informally, implicitly. The proof nets of linear logic [1] provide a refinement of the calculus where these operations become explici...
A Brief Guide to Linear Logic
, 1993
"... An overview of linear logic is given, including an extensive bibliography and a simple example of the close relationship between linear logic and computation. ..."
Abstract

Cited by 53 (8 self)
 Add to MetaCart
An overview of linear logic is given, including an extensive bibliography and a simple example of the close relationship between linear logic and computation.
The CallbyNeed Lambda Calculus
 Journal of Functional Programming
, 1994
"... We present a calculus that captures the operational semantics of callbyneed. The callbyneed lambda calculus is confluent, has a notion of standard reduction, and entails the same observational equivalence relation as the callbyname calculus. The system can be formulated with or without explici ..."
Abstract

Cited by 45 (2 self)
 Add to MetaCart
(Show Context)
We present a calculus that captures the operational semantics of callbyneed. The callbyneed lambda calculus is confluent, has a notion of standard reduction, and entails the same observational equivalence relation as the callbyname calculus. The system can be formulated with or without explicit let bindings, admits useful notions of marking and developments, and has a straightforward operational interpretation. Introduction The correspondence between callbyvalue lambda calculi and strict functional languages (such as the pure subset of Standard ML) is quite good; the correspondence between callby name lambda calculi and lazy functional languages (such as Miranda or Haskell) is not so good. Callbyname reevaluates an argument each time it is used, a prohibitive expense. Thus, many lazy languages are implemented using the callbyneed mechanism proposed by Wadsworth (1971), which overwrites an argument with its value the first time it is evaluated, avoiding the need for any s...
Applications of Linear Logic to Computation: An Overview
, 1993
"... This paper is an overview of existing applications of Linear Logic (LL) to issues of computation. After a substantial introduction to LL, it discusses the implications of LL to functional programming, logic programming, concurrent and objectoriented programming and some other applications of LL, li ..."
Abstract

Cited by 42 (3 self)
 Add to MetaCart
This paper is an overview of existing applications of Linear Logic (LL) to issues of computation. After a substantial introduction to LL, it discusses the implications of LL to functional programming, logic programming, concurrent and objectoriented programming and some other applications of LL, like semantics of negation in LP, nonmonotonic issues in AI planning, etc. Although the overview covers pretty much the stateoftheart in this area, by necessity many of the works are only mentioned and referenced, but not discussed in any considerable detail. The paper does not presuppose any previous exposition to LL, and is addressed more to computer scientists (probably with a theoretical inclination) than to logicians. The paper contains over 140 references, of which some 80 are about applications of LL. 1 Linear Logic Linear Logic (LL) was introduced in 1987 by Girard [62]. From the very beginning it was recognized as relevant to issues of computation (especially concurrency and stat...
Interaction Systems I: The theory of optimal reductions
 Mathematical Structures in Computer Science
, 1994
"... We introduce a new class of higher order rewriting systems, called Interaction Systems (IS's). IS's come from Lafont's (Intuitionistic) Interaction Nets [Lafont 1990] by dropping the linearity constraint. In particular, we borrow from Interaction Nets the syntactical bipartitions o ..."
Abstract

Cited by 40 (7 self)
 Add to MetaCart
(Show Context)
We introduce a new class of higher order rewriting systems, called Interaction Systems (IS's). IS's come from Lafont's (Intuitionistic) Interaction Nets [Lafont 1990] by dropping the linearity constraint. In particular, we borrow from Interaction Nets the syntactical bipartitions of operators into constructors and destructors and the principle of binary interaction. As a consequence, IS's are a subclass of Klop's Combinatory Reduction Systems [Klop 1980] where the CurryHoward analogy still "makes sense". Destructors and constructors respectively corresponds to left and right logical introduction rules, interaction is cut and reduction is cutelimination. Interaction Systems have been primarily motivated by the necessity of extending the practice of optimal evaluators for calculus [Lamping 1990, Gonthier et al. 1992a] to other computational constructs as conditionals and recursion. In this paper we focus on the theoretical aspects of optimal reductions. In particular, we ge...
Interaction Combinators
 Information and Computation
, 1995
"... This paper is the continuation of the author 's work on interaction nets, inspired by Girard's proof nets for linear logic, but no preliminary knowledge of these topics is required for its reading. Introduction ..."
Abstract

Cited by 38 (3 self)
 Add to MetaCart
(Show Context)
This paper is the continuation of the author 's work on interaction nets, inspired by Girard's proof nets for linear logic, but no preliminary knowledge of these topics is required for its reading. Introduction