ACM Home Page
Please provide us with feedback. Feedback
On laziness and optimality in lambda interpreters: tools for specification and analysis
Full text PdfPdf (1.57 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, United States
Pages: 1 - 15  
Year of Publication: 1989
ISBN:0-89791-343-4
Author
John Field  Department of Computer Science, Cornell University, Upson Hall, Ithaca, NY
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 27,   Citation Count: 19
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/96709.96710
What is a DOI?

ABSTRACT

In this paper, I introduce a new formal system, ACCL, based on Curien's Categorical Combinators [Cur86a]. I show that ACCL has properties not possessed by Curien's original combinators that make it particularly appropriate as the basis for implementation and analysis of a wide range of reduction schemes using shared environments, closures, or &lgr;-terms. As an example of the practical utility of this formalism, I use it to specify a simple lazy interpreter for the &lgr;-calculus, whose correctness follows trivially from the properties of ACCL. I then describe a labeled variant of ACCL, ACCLL, which can be used as a tool to determine the degree of “laziness” possessed by various &lgr;-reduction schemes. In particular, ACCLL is applied to the problem of optimal reduction in the &lgr;-calculus. A reduction scheme for the &lgr;-calculus is optimal if the number of redex contractions that must be performed in the course of reducing any &lgr;-term to a normal form (if one exists) is guaranteed to be minimal. Results of Lévy [Lév78,Lév80] showed that for a natural class of reduction strategies allowing shared redexes, optimal reductions were, at least in principle, possible. He conjectured that an optimal reduction strategy might be realized in practice using shared closures and environments as well as shared &lgr;-terms. I show, however, using ACCLL, a practical optimal reduction scheme for arbitrary &lgr;-terms using only shared environments, closures, or terms is unlikely to exist.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
ACCJL89
M. Abadi, L. CardeUi, P.-L. Curien, and J.J.- Levy. Explicit substitutions. In Proc. Seventeenth A CM Symposium on Principles o} Programming Languages, San Francisco, 1989.
 
AKP84
Arvind, Vinod Kathail, and Keshav Pingali. Sharing of computation in functional language implementations, in Proc. international Work. shop on High-Level Computer Architecture, Los Angeles, 1984.
 
AP81
Luigia Aiello and Gianfraneo Prini. An efficient interpreter for the lambda calculus. Journal of Computer and Sl/stem Sciences, 23:383-424, 1981.
Aug84
 
Bar84
H.P. Barendregt. The Lombda Calculus, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam, 1984.
 
BBKV76
H.P. Barendregt, J. Bergstra, J.W. Klop, and H. Volken. Degrees, reductions, and representability in the lambda calculus. Preprint 22, Department of Mathematics, University of Utrecht, The Netherlands, 1976.
 
BKKS87
 
CCM87
 
Chu41
A. Church. The Calculi of Lambda Conversion. Princeton University Press, Princeton, NJ, 1941.
 
Cur86a
 
Cur86b
 
Cur86c
P.-L. Curien. De Is diificult~ d'impl~menter le partage optimal au sens de l~vy. Unpublished Note, Universit~ de Paris VII, 1986.
 
dB72
N.G. de Bruijn. Larnbda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the church-tosser theorem. Proc. of the Koninkli. jke Nederlandse Akademie van Wetenschappen, 75(5):381-392, 1972.
 
dB78
N.G. de Bruijn. Lambdn calculus with namefree formulas involving symbols that represent reference transforming mappings. Proc. of the Koninklijke Nederlandse Akademie van Wetenschappen, 81(3):348-356, 1978.
 
Der87
 
FH88
Anthony J. Field and Peter G. Harrison. Func. tional Programming. Addison-Wesley, Wakingham, England, 1988.
 
FW87
 
Har87
Th~r~se Hardin. R~sultats de Confluence pour lea R~gles Fortes de la Logique Combinatoire Cat~gorique et Liens avec lea Lambda-Calctds. PhD thesis, Universit~ de Paris VII, 1987.
 
Har89
 
HL86
Th~r~se Hardin and AlaJn Laville. Proof of termination of the rewriting system SUBST on CUL. Rapports de Recherche 560, Institut National de Recherche en Informatique et en Autom~tique, Domxine de Voluceau, Rocquencourt, B.P. 105, 78153 Le Chesnay Cedex, France, August 1986.
HM76
 
HO80
G. Hunt a~d D.C. Oppen. Equations and rewrite rules: A survey. In R.V. Book, editor, Formal Language Theory, Perspectives, and Open Problems, pages 349-405. Academic Press, London, 1980.
 
HS86
Hue80
 
Hug84
R.J.M. Hughes. The Design and Implements. tion of Programming Languages. PhD thesis, Oxford University, September 1984. (PRG-40).
Joh84
 
Joh85
 
KL80
S. Kamin and J.-J. L~vy. Two generalizations of the recursive path orderings. Unpublished note, Department of Computer Science, Unlverity of Illinois, Urbana, IL, 1980.
 
Klo80
J.W. Klop. Combinatory Reduction Systems, volume 127 of Mathematical Centre Tracts. Mathematical Centre, Kruislaan 413, Amsterdam 1098SJ, The Netherlands, 1980.
Lam89
 
Lan64
P.J. Laadin. The mechanical evaluation of expressions. Computer Journal, 6:308-320, 1964.
 
Les84
Pierre Lescanne. Uniform termination of term rewriting systems. In B. Courcelle, editor, Ninth Colloquium on Trees in Algebra and Pro. gramming, pages 181-191, Bordeaux, France, 1984. Cambridge University Press.
 
Lév75
 
Lév78
Jeu-Jacques L~vy. R~duction8 correctes et op. timales dons le lambda-calcul. PhD thesis, Universit~ de Paris VII, 1978. (Th~se d'Etat).
 
Lév80
Jeu-Jscques L~vy. Optimal reductions in the lsmbda-calculus. In J.P. Seldin and J.R. Hind- Icy, editors, To H.B. Curry: EsJays on Combi. natory Logic, Lambda Calculus, and Formalism. AceAemic Press, London, 1980.
 
Lin87
 
Pey87
 
Rus87
 
Sta80a
John Staples. Computation on graph-like expressions. Theoretical Computer Science, 10:171-185, 1980.
 
Sta80b
John Staples. Optimal evaluations of graphlike expressions. Theoretical Computer Science, 10:297-316, 1980.
 
Sta80c
John Staples. Speeding up subtree replacement systems. Theoretical Computer Science, 11:39- 4~, 1980.
 
Sta81
John Staples. Efficient combinatory reduction. Zeitschr. !. math. Logik und Grundlagen d. Math., 27:391-402, 1981.
 
Sta82
 
Tur79
D.A. Turner. A new imptementation technique for applicative lugusges. Software--Practice and Experience, 9:31-49, 1979.
 
Wad71
C.P. Wadsworth. Semantics and Pragmatics of the Lambda.Calculus. PhD thesis, Oxford University, 1971.
 
Yok89

CITED BY  19