Abstract
We introduce a simply typed λ-calculus λкε which has both contexts and environments as first-class values. In λкε, holes in contexts are represented by ordinary variables of appropriate types and hole filling is represented by the functional application together with a new abstraction mechanism which takes care of packing and unpacking of the term which is used to fill in the holes of the context. λкε is a conservative extension of the simply typed λβ -calculus, enjoys subject reduction property, is confluent and strongly normalizing.
The traditional method of defining substitution does not work for our calculus. So, we also introduce a new method of defining substitution. Although we introduce the new definition of substitution out of necessity, the new definition turns out to be conceptually simpler than the traditional definition of substitution.
We have introduced this notion of purity in [15].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Barendregt, H. P., The Lambda Calculus, Its Syntax and Semantics, North-Holland, 1981.
Bloo, R. and Rose, K.H., Preservation of Strong Normalization in Named Lambda Calculi with Explicit Substitution and Garbage Collection, Proceedings of CSN’95 (Computer Science in Netherlands), van Vliet J.C. (ed.), 1995. (ftp://ftp.diku.dk/diku/semantics/papers/D-246.ps)
Bognar, M. and de Vrijer, R., A calculus of lambda calculus contexts, available at: http://www.cs.vu.nl/~mirna/new.ps.gz.
de Bruijn, D. G., Lambda Calculus Notation with Nameless Dummies, a Tool for Automatic Formula Manipulation, with Application to the Church-Rosser Theorem, Indag. Math. 34, pp. 381–392, 1972.
Dami, L., A Lambda-Calculus for Dynamic Binding, pp. 201–231, Theoretical Computer Science 192, 1998.
Fiore, M., Plotkin, G., and Turi, D., Abstract Syntax and Variable Binding (Extended Abstract), Proc. 14th Symposium on Logic in Computer Science, pp. 193–202, 1999.
Hashimoto, M. and Ohori, A., A typed context calculus, Preprint RIMS-1098, Res. Inst. for Math. Sci., Kyoto Univ., 1996, Journal version is to appear in Theoretical Computer Science.
Lee, S.-R., and D. P. Friedman, Enriching the Lambda Calculus with Contexts: Toward a Theory of Incremental Program Construction, ACM SIGPLAN Notices, Proc. International Conference on Functional Programming, pp. 239–250, 1996.
Mason, I., Computing with Contexts, Higher-Order and Symbolic Computation 12, pp. 171–201, 1999.
Melliés, P.-A., Typed λ-calculi with explicit substitutions may not terminate, Typed Lambda Calculi and Applications, Lecture Notes in Computer Science 902, pp. 328–349, 1995.
Pitts, A.M., Some notes on inductive and co-inductive techniques in the semantics of functional programs, Notes Series BRICS-NS-94-5, Department of Computer Science, University of Aarhus, 1994.
Sakurada, H., An interpretation of a context calculus in an environment calculus, Master Thesis, Dept. of Information Science, Kyoto Univ., 1999 (in Japanese).
Sands, D., Computing with Contexts-a simple approach, Proc. Higher-Order Operational Techniques in Semantics, HOOTS II, 16 pages, Electronic Notes in Theoretical Computer Science 10, 1998.
Sato, M., Theory of Symbolic Expressions, II, Publ. of Res. Inst. for Math. Sci., Kyoto Univ., 21, pp. 455–540, 1985.
Sato, M., Sakurai T., and Burstall, R., Explicit Environments, Typed Lambda Calculi and Applications, Lecture Notes in Computer Science 1581, pp. 340–354, 1999.
Talcott, C., A Theory of binding structures and applications to rewriting, Theoretical Computer Science 112: 1, pp. 99–143, 1993.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sato, M., Sakurai, T., Kameyama, Y. (2001). A simply typed context calculus with first-class environments. In: Kuchen, H., Ueda, K. (eds) Functional and Logic Programming. FLOPS 2001. Lecture Notes in Computer Science, vol 2024. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44716-4_23
Download citation
DOI: https://doi.org/10.1007/3-540-44716-4_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41739-2
Online ISBN: 978-3-540-44716-0
eBook Packages: Springer Book Archive