Results 1  10
of
19
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 186 (23 self)
 Add to MetaCart
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...
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 of int ..."
Abstract

Cited by 97 (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 71 (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 withou ..."
Abstract

Cited by 53 (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...
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 41 (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 of operators int ..."
Abstract

Cited by 40 (6 self)
 Add to MetaCart
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...
Cyclic Lambda Graph Rewriting
 In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science
, 1994
"... This paper is concerned with the study of cyclic  graphs. The starting point is to treat a graph as a system of recursion equations involving terms, and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible for firstorder term rewriting. Surprisingly, ..."
Abstract

Cited by 35 (2 self)
 Add to MetaCart
This paper is concerned with the study of cyclic  graphs. The starting point is to treat a graph as a system of recursion equations involving terms, and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible for firstorder term rewriting. Surprisingly, now the confluence property breaks down in an essential way. Confluence can be restored by introducing a restraining mechanism on the `copying' operation. This leads to a family of graph calculi, which are inspired by the family of oecalculi (calculi with explicit substitution) . However, these concern acyclic expressions only. In this paper we are not concerned with optimality questions for acyclic reduction. We also indicate how Wadsworth's interpreter can be simulated in the graph rewrite rules that we propose. Introduction As shown in recent years, firstorder orthogonal term rewriting [8, 19] has quite pleasant confluent extensions to the case where cycles are admitted (term grap...
Optimal Derivations in Weak Lambdacalculi and in Orthogonal Terms Rewriting Systems.
, 1991
"... We introduce the new framework of Labeled Terms Rewriting Systems (T l RS), a general framework to express sharing in Term Rewriting Systems (TRS). For Orthogonal T l RS, an important subclass of T l RS, we characterize optimal derivations. This result is applied to weak calculi, showing the ..."
Abstract

Cited by 34 (0 self)
 Add to MetaCart
We introduce the new framework of Labeled Terms Rewriting Systems (T l RS), a general framework to express sharing in Term Rewriting Systems (TRS). For Orthogonal T l RS, an important subclass of T l RS, we characterize optimal derivations. This result is applied to weak calculi, showing the optimality of the lazy strategy, that is, the callbyname with sharing strategy. The result is also valid in the presence of ffi rules, as in PCF. Orthogonal T l RS is also useful as a calculus for proving syntactic properties of functional languages. 1 Compilation of the calculus Most compilers for functional languages translate their source language into some enriched calculus [17], and then, compile this intermediate language to a lowlevel language, such as mutually recursive supercombinators, as in LML [2, 10], or categorical combinators, as in CAML [4]. These lowlevel languages define different forms of weak fireduction. We now describe two of these lowlevel languages, superc...
Properties of a Firstorder Functional Language with Sharing
 Theoretical Computer Science
, 1994
"... A calculus and a model for a firstorder functional language with sharing is presented. In most implementations of... ..."
Abstract

Cited by 22 (4 self)
 Add to MetaCart
A calculus and a model for a firstorder functional language with sharing is presented. In most implementations of...
Interaction Systems II: The Practice of Optimal Reductions
 Theoretical Computer Science
, 1994
"... Lamping's optimal graph reduction technique for the calculus is generalized to a new class of higher order rewriting systems, called Interaction Systems. Interaction Systems provide a nice integration of the functional paradigm with a rich class of data structures (all inductive types), and some ba ..."
Abstract

Cited by 18 (5 self)
 Add to MetaCart
Lamping's optimal graph reduction technique for the calculus is generalized to a new class of higher order rewriting systems, called Interaction Systems. Interaction Systems provide a nice integration of the functional paradigm with a rich class of data structures (all inductive types), and some basic control flow constructs such as conditionals and (primitive or general) recursion. We describe a uniform and optimal implementation, in Lamping's style, for all these features. The paper is the natural continuation of [3], where we focused on the theoretical aspects of optimal reductions in Interaction Systems (family relation, labeling, extraction). 1 Introduction At the end of 70's, L'evy fixed the theoretical performance of what should be considered as an optimal implementation of the calculus. The optimal evaluator should always keep shared those redexes in a expression that have a common origin (e.g. that are copies of a same redex). For a long time, no implementation achieved L'...