## Process Semantics of Graph Reduction (1995)

Venue: | Proc. CONCUR '95, volume 962 of Lecture Notes in Computer Science |

Citations: | 6 - 1 self |

### BibTeX

@INPROCEEDINGS{Brock95processsemantics,

author = {Simon Brock and Gerald Ostheimer and North Haugh and Fife Ky Ss},

title = {Process Semantics of Graph Reduction},

booktitle = {Proc. CONCUR '95, volume 962 of Lecture Notes in Computer Science},

year = {1995},

pages = {471--485},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

This paper introduces an operational semantics for call-by-need reduction in terms of Milner's ß-calculus. The functional programming interest lies in the use of ß-calculus as an abstract yet realistic target language. The practical value of the encoding is demonstrated with an outline for a parallel code generator. From a theoretical perspective, the ß-calculus representation of computational strategies with shared reductions is novel and solves a problem posed by Milner [13]. The compactness of the process calculus presentation makes it interesting as an alternative definition of call-by-need. Correctness of the encoding is proved with respect to the call-by-need -calculus of Ariola et al. [3]. 1 Introduction Graph reduction of extended -calculi has become a mature field of applied research. The efficiency of the implementations is due in great measure to a technique known as `sharing', whereby argument values are computed (at most) once and then memoized for future reference. Both...

### Citations

953 | Active Messages: a mechanism for integrated communication and computation
- Eicken, Culler, et al.
- 1992
(Show Context)
Citation Context ...es some elaboration. In this section we sketch a strategy for compiling the asynchronous ��-calculus to concurrent machine code. The machine model underlying our approach is that of `active messag=-=es' [19]-=- 2 of von Eicken et al. which is supported on various MIMD machines. This is based on asynchronous message passing where the sender of a message can specify the address of an entry point to be invoked... |

313 |
Functions as processes, in
- Milner
- 1990
(Show Context)
Citation Context ... outline for a parallel code generator. From a theoretical perspective, the ��-calculus representation of computational strategies with shared reductions is novel and solves a problem posed by Mil=-=ner [13]-=-. The compactness of the process calculus presentation makes it interesting as an alternative definition of call-by-need. Correctness of the encoding is proved with respect to the call-by-need -calcul... |

272 |
The Polyadic -Calculus: A Tutorial
- Milner
- 1993
(Show Context)
Citation Context ...scope in the usual way. The processes that these binding create could either be direct encodings of -terms or direct implementations in ��-calculus, as in the data structures examples given by Mil=-=ner [12]. Al-=-ternatively if constants are added to the ��-calculus they can be used in a natural way, as shown in Ostheimer and Davie [16]. 8 Conclusions In this paper it has been shown that an encoding of -te... |

181 | A Natural Semantics for Lazy Evaluation
- Launchbury
- 1993
(Show Context)
Citation Context ... Leftmost reduction in this calculus essentially models callby -need, although that fact is not established in the paper. Launchbury presents an operational semantics for graph reduction of -terms in =-=[11]-=- with a much simpler set of reduction axioms, albeit at the expense of introducing into these axioms an additional layer of global environments which are not part of the source language. Ariola et al.... |

109 | A calculus of mobile processes, parts i and ii - Milner, Parrow, et al. - 1992 |

83 |
Control operators, the SECD machine and the -calculus
- Felleisen, Friedman
- 1986
(Show Context)
Citation Context ... with the let S -I rule that (x:M)N ! let x = N in M . There are then three rules that manipulate nested let constructs. The rewrite rules are introduced in a conventional way but evaluation contexts =-=[5]-=- are used to define the context for a redex rather than more usual traversal inference rules in a small step operational semantics. The system evaluates terms through to answers which are of the form ... |

23 |
The lazy -calculus
- Abramsky
- 1990
(Show Context)
Citation Context ...erm `call-by-need' for the parameter passing mechanism. Modern practice is not to perform reduction inside -abstractions, i.e., to stop reduction at weak head normal forms, as pointed out by Abramsky =-=[2]-=-, who studies the semantics of the resulting `lazy' -calculus. Despite the maturity of the applications based on Wadsworth's ideas, the underlying theory of -calculi with shared reductions is currentl... |

18 |
Two bisimilarities for the -calculus
- Honda
- 1992
(Show Context)
Citation Context ... abstractions, [[x:M ]]o def = (f)(of j!f (x; p):[[M ]]p) We can see that the representation of the function value, f , is immediately available at o. The 1 This is called `lazy replication' in Honda =-=[9]-=-. Note that the permitted process terms are just those of Honda's -calculus [9], but we retain the structural equivalences of Milner [13] replicated term represents an `activation server' which allows... |

17 |
Implementation of Non-Strict Functional Programming Languages
- Traub
- 1991
(Show Context)
Citation Context ...with implementing strictness in the manner shown above is that an application cannot be reduced until both sides have converged to a value. An alternative to this is to use eager or lenient reduction =-=[18]-=-. Here, both sides of an application are evaluated in parallel (as in parallel call-by-value) but the application can be reduced before the right hand side has converged to a value (as in call-by-name... |

13 | A fully abstract semantics for concurrent graph reduction
- Jeffrey
- 1994
(Show Context)
Citation Context ...reduction to implement functional programming and therefore interested in models which have similar properties to the lazy -calculus [2]. A number of researchers, including Ariola et al. [3], Jeffrey =-=[10]-=-, Launchbury [11] and Yoshida [21], have studied operational models of graph reduction for such terms. As mentioned in the introduction, we use results presented by Ariola et al. [3] to establish the ... |

9 |
A safe approach to parallel combinator reduction
- Hankin, Burn, et al.
- 1988
(Show Context)
Citation Context ...nctional language is via strictness annotations, which are either inserted safely by the compiler performing strictness analysis or, potentially less safely, by the programmer. Following Hankin et al =-=[8]-=- we will annotate applications and 's. The syntax ofslet is then extended with an explicit application symbol @ so that it andsare annotated with a subscript V when they are to be strict. The resultin... |

8 |
Optimal reduction in weak lambda-calculus with shared environments
- Yoshida
- 1993
(Show Context)
Citation Context ... for the underlying principles. Recently, various more elegant proposals have been put forward, of which we will identify a few that we consider to be of particular significance. Yoshida's f-calculus =-=[21]-=- is a -calculus extended by a let-construct whose reduction axioms model the sharing of computation. Leftmost reduction in this calculus essentially models callby -need, although that fact is not esta... |

7 |
and J.-J.Lévy. Explicit substitution
- Abadi, Cardelli, et al.
- 1989
(Show Context)
Citation Context .... In particular, since the ��-calculus only requires the communication of atomic names, rather than of arbitrarily complex terms, our solution makes substitution explicit in the sense of Abadi et =-=al. [1]. Ye-=-t the encoding of Figure 3 is arguably as concise as any specification of call-by-need that we have seen. 5 Implementing the ��-calculus While the reader may agree at this point that the encoding ... |

7 | Some chemical abstract machines. In A Decade of Concurrency---Reflections and - Boudol - 1993 |

7 |
GRIP -- a high-performance architecture for parallel graph reduction
- SL, Clack, et al.
- 1987
(Show Context)
Citation Context ... terms can be related back to the originals via a simple function that erases the annotations. These states can also be found in some implementations of functional languages, such as the GRIP machine =-=[17]-=-. The initial creation of a let becomes (x:M)N ! let S x = N in M where the subscript implies the evaluation of N is suspended. Subsequently when M needs x then the reduction let S x = N in E[x] ! let... |

7 |
Semantics and Pragmatics of the -Calculus
- Wadsworth
- 1971
(Show Context)
Citation Context ...chnique known as `sharing', whereby argument values are computed (at most) once and then memoized for future reference. Both the term `graph reduction' and the original algorithm are due to Wadsworth =-=[20]-=- who also coined the term `call-by-need' for the parameter passing mechanism. Modern practice is not to perform reduction inside -abstractions, i.e., to stop reduction at weak head normal forms, as po... |

6 | A New Process Model for Functions
- Glauert, Leth, et al.
- 1993
(Show Context)
Citation Context ...more natural model would be to implement sharing. One of the aims of the work presented here was to solve this problem. We go further than Milner by relating the encodings to implementations. Glauert =-=[6, 7]-=- describes compatible encodings of lazy and eager evaluation in an asynchronous process notation. It is shown the process notation used can be translated into a graph reduction language. In Ostheimer ... |

4 | Parallel functional computation on STAR:DUST
- Ostheimer
- 1991
(Show Context)
Citation Context ...sistent handlers and composite handlers. Then a simple induction on the structure of the encoding 2 This is very similar to the programming model for the STAR:DUST architecture described in Ostheimer =-=[15]-=- shows that we map -terms to actions---a message action in the case of encoding a variable and allocation actions in the encodings of -abstraction and application. Further useful properties of the enc... |

2 |
A call-by-need -calculus
- Ariola, Felleisen, et al.
- 1995
(Show Context)
Citation Context ... the process calculus presentation makes it interesting as an alternative definition of call-by-need. Correctness of the encoding is proved with respect to the call-by-need -calculus of Ariola et al. =-=[3]-=-. 1 Introduction Graph reduction of extended -calculi has become a mature field of applied research. The efficiency of the implementations is due in great measure to a technique known as `sharing', wh... |

2 |
Asynchronous mobile processes
- Glauert
- 1992
(Show Context)
Citation Context ...more natural model would be to implement sharing. One of the aims of the work presented here was to solve this problem. We go further than Milner by relating the encodings to implementations. Glauert =-=[6, 7]-=- describes compatible encodings of lazy and eager evaluation in an asynchronous process notation. It is shown the process notation used can be translated into a graph reduction language. In Ostheimer ... |

2 |
Modelling parallel graph reduction in the ��-calculus
- Ostheimer, Davie
- 1993
(Show Context)
Citation Context ... compatible encodings of lazy and eager evaluation in an asynchronous process notation. It is shown the process notation used can be translated into a graph reduction language. In Ostheimer and Davie =-=[16], an-=- encoding for shared reduction strategies was given in the (synchronous) monadic ��-calculus but the correspondence to -terms was not formalized. Boudol [4] encodes a version of -calculus with exp... |