Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Graph Rewriting Systems For Efficient Compilation
 

Summary: 6
Graph Rewriting Systems
For Efficient Compilation
Z. M. Ariola and Arvind
6.1 INTRODUCTION
A modern trend in programming language theory has been to develop calculi to cap­
ture some specific aspects of functional language implementations. For example, sev­
eral calculi for explicit substitution have recently been developed by Curien and L'evy
[ACCL90, Cur86, Cur91, HL89, Hin77]. An attempt to formalize ``weak reduction'',
i.e., the kind of reduction that is actually done by most functional language imple­
mentations, is described by Maranget [Mar91]. Barendregt et al., have put forth a
calculus to capture sharing in graph reduction implementation of Term Rewriting
Systems (TRS) [BBvE + 87, BvEG + 87, Ken90, BvEvLP87]. In the same vein, we want
to develop a calculus to capture the sharing of subexpressions in a more general class
of languages.
Specification of sharing is desirable in the intermediate language used by a compiler
for a purely functional language. Consider the function definition F x = x+x and the
expression F(2+3). Any decent implementation, independent of the evaluation strategy
(normal­order or applicative­order) it employs, will evaluate the subexpression 2 + 3
only once. Dealing with sharing is important if the intermediate language is to be

  

Source: Ariola, Zena M. - Department of Computer and Information Science, University of Oregon

 

Collections: Computer Technologies and Information Sciences