ABSTRACT
λv is an extension of the λ-calculus with a binding construct for local names. The extension has properties analogous to classical λ-calculus and preserves all observational equivalences of λ. It is useful as a basis for modeling wide-spectrum languages that build on a functional core.
- 1.H. P. Barendregt. The Lambda Calculus: its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam, revised edition, 1984.Google Scholar
- 2.E. Crank and M. Felleisen. Parameter-passing and the lambda-calculus. In Proc. 18th A CM Symposium on Principles of Programming Languages, Orlando, Florida, pages 233-244, January 1991. Google ScholarDigital Library
- 3.M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. TheoreticaI Computer Science, 103:235-271, 1992. Google ScholarDigital Library
- 4.P. Hudak and D. Rabin. Mutable abstract datatypes - or - how to have your state and munge it too. Research Report YALEU/DCS/RR-914, Yale University, Department of Computer Science, July 1992.Google Scholar
- 5.J. Launchbury. Lazy imperative programming. In SIPL '93 A CM SIGPLAN Workshop on State in Programming Languages, Copenhagen, Denmark, pages 46-56, June 1993. Yale University Research Report YALEU/DCS/RR-96S.Google Scholar
- 6.I. Mason and C. Talcott. Axiomatising operational equivalence in the presence of side effects, in IEEE Symposium on Logic in Computer Science, pages 284- 303, Asilomar, California, June 1989. Google ScholarDigital Library
- 7.A. R. Meyer and K. Sieber. Towards fully abstract semantics for local variables: Preliminary report. In Proc. 15th A CM Symposium on Principles of Programming Languages, pages 191-203. ACM, ACM Press, January 1988. Google ScholarDigital Library
- 8.R. Milner. Functions as processes. Rapport de Recherche 1154, INRIA Sophia-Antipolis, February 1990.Google Scholar
- 9.R. Milner. Elements of interaction. Communications of the ACM, 36(1):78-89, January 1993. Turing Award lecture. Google ScholarDigital Library
- 10.E. Moggi. Computational lambda-calculus and monads. In Proceedings 1989 IEEE Symposium on Logic in Computer Science, pages 14-23. IEEE, June 1989. Google ScholarDigital Library
- 11.M. Odersky. A syntactic theory of local names. Research Report YALEU/DCS/RR-965, Department of Computer Science, Yale University, May 1993.Google Scholar
- 12.M. Odersky and D. Rabin. The unexpurgated callby-name, assignment, and the lambda-calculus. Research Report YALEU/DCS/RR-930, Department of Computer Science, Yale University, May 1993.Google Scholar
- 13.M. Odersky, D. Rabin, and P. Hudak. Call-by-name, call-by-value, and the lambda calculus, in Proc. ZOth A CM Symposium on Principles of Programming Languages, pages 43-56, January 1993. Google ScholarDigital Library
- 14.F. J. Oles. A Category-Theoretic Approach to the Semantics of Programming Languages. PhD thesis, Syracuse University, August 1982. Google ScholarDigital Library
- 15.S. L. Peyton jones and P. Wadler. Imperative functional programming. In Proc. 20th A CM Symposium on Principles of Programming Languages, pages 71-84. ACM Press, January 1993. Google ScholarDigital Library
- 16.A. Pitts and I. Stark. On the observable properties of higher order functions that dynamically create local names. In SIPL '93 A CM SIGPLAN Workshop on State in Programming Languages, Copenhagen, Denmark, pages 31-45, June 1993. Yale University Research Report YALEU/DCS/RR-968.Google ScholarCross Ref
- 17.G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5:223-255, 1977.Google ScholarCross Ref
- 18.J.C. Reynolds. Preliminary design of the programming language Forsythe. Technical Report CMU-CS-88-159, Carnegie Mellon University, June 1988.Google Scholar
- 19.J. G. Riecke. Delimiting the scope of effects. In Proc. Conf. on Functional Programming and Computer Architecture, pages 146-155, June 1993. Google ScholarDigital Library
- 20.V. Swarup, U. S. Reddy, and E. Ireland. Assignments for applicative languages. In J. Hughes, editor, Functional Programming Languages and Computer Architecture, pages 192-214. Springer-Verlag, August 1991. Lecture Notes in Computer Science' 523. Google ScholarDigital Library
- 21.P. Wadler. Comprehending monads. In Proc. A CM Con/. on Lisp and Functional Programming, pages 61- 78, June 1990. Google ScholarDigital Library
- 22.P. Wadler. The essence of functional programming. In Proc.Igth A CM Symposium on Principles o/Programming Languages, pages 1-14, January 1992. Google ScholarDigital Library
- 23.S. Weeks and M. Felleisen. On the orthogonaiity of assignments and procedures in Algol. In Proc. BOth A CM Symposium on Principles of Programming Languages, pages 57-70. ACM Press, January 1993. Google ScholarDigital Library
Index Terms
- A functional theory of local names
Recommendations
A theory of bisimulation for a fragment of concurrent ML with local names
Concurrent ML is an extension of Standard ML with π-calculus-like primitives for multithreaded programming. CML has a reduction semantics, but to date there has been no labelled transition system semantics provided for the entire language. In this paper,...
Toward a general theory of names: binding and scope
MERLIN '05: Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized reasoning about languages with variable bindingHigh-level formalisms for reasoning about names and binding such as de Bruijn indices, various flavors of higher-order abstract syntax, the Theory of Contexts, and nominal abstract syntax address only one relatively restrictive form of scoping: namely, ...
Encoding Abstract Syntax Without Fresh Names
This paper introduces a variant of nominal abstract syntax in which bindable names are represented by normal meta-variables as opposed to a separate class of globally fresh names. Distinct meta-variables can be instantiated with the same concrete name, ...
Comments