Skip to main content

A simply typed context calculus with first-class environments

  • Conference paper
  • First Online:
Functional and Logic Programming (FLOPS 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2024))

Included in the following conference series:

  • 236 Accesses

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].

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Barendregt, H. P., The Lambda Calculus, Its Syntax and Semantics, North-Holland, 1981.

    Google Scholar 

  2. 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)

  3. Bognar, M. and de Vrijer, R., A calculus of lambda calculus contexts, available at: http://www.cs.vu.nl/~mirna/new.ps.gz.

  4. 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.

    Article  MathSciNet  Google Scholar 

  5. Dami, L., A Lambda-Calculus for Dynamic Binding, pp. 201–231, Theoretical Computer Science 192, 1998.

    Article  MathSciNet  Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Article  Google Scholar 

  9. Mason, I., Computing with Contexts, Higher-Order and Symbolic Computation 12, pp. 171–201, 1999.

    Article  Google Scholar 

  10. 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.

    Chapter  Google Scholar 

  11. 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.

    Google Scholar 

  12. Sakurada, H., An interpretation of a context calculus in an environment calculus, Master Thesis, Dept. of Information Science, Kyoto Univ., 1999 (in Japanese).

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Sato, M., Theory of Symbolic Expressions, II, Publ. of Res. Inst. for Math. Sci., Kyoto Univ., 21, pp. 455–540, 1985.

    Article  MathSciNet  Google Scholar 

  15. Sato, M., Sakurai T., and Burstall, R., Explicit Environments, Typed Lambda Calculi and Applications, Lecture Notes in Computer Science 1581, pp. 340–354, 1999.

    Google Scholar 

  16. Talcott, C., A Theory of binding structures and applications to rewriting, Theoretical Computer Science 112: 1, pp. 99–143, 1993.

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics