|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Zena M. Ariola , John Maraist , Martin Odersky , Matthias Felleisen , Philip Wadler, A call-by-need lambda calculus, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.233-246, January 23-25, 1995, San Francisco, California, United States
|
|
|
|
|
|
John Field , G. Ramalingam , Frank Tip, Parametric program slicing, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.379-392, January 23-25, 1995, San Francisco, California, United States
|
|
|
|
|
|
|
|
|
Georges Gonthier , Martín Abadi , Jean-Jacques Lévy, The geometry of optimal lambda reduction, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.15-26, January 19-22, 1992, Albuquerque, New Mexico, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|