Skip to main content
Log in

Computing with Contexts

  • Published:
Higher-Order and Symbolic Computation

Abstract

We investigate a representation of contexts, expressions with holes in them, that enables them to be meaningfully transformed, in particular α-converted and β-reduced. In particular we generalize the set of λ-expressions to include holes, and on these generalized entities define β-reduction (i.e., substitution) and filling so that these operations preserve α-congruence and commute. The theory is then applied to allow the encoding of reduction systems and operational semantics of call-by-value calculi enriched with control, imperative and concurrent features.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abadi, M., Cardeli, L., Curien, P.-L., and Lévy, J.-J. Explicit substitutions. In Seventeenth Annual ACM Symposium on Principles of Programmings Languages, 1990, pp. 31–46.

  2. Aczel, P. A general Church-Rosser theorem, Unpublished manuscript.

  3. Agha, G., Mason, I.A. Smith, S.F., and Talcott, C.L. A foundation for actor computation. Journal of Functional Programming, 7:1–72, 1997.

    Google Scholar 

  4. Avron, A., Honsell, F., Mason, I.A., and Pollack, R. Using typed lambda calculus to implement formal systems on a machine. Journal of Automated Reasoning, 9:309–354, 1992.

    Google Scholar 

  5. Curry, H.B. and Feys, R. Combinatory Logic. Studies in Logic and the Foundations of Mathematics. North-Holland, 1958.

  6. Dami, L. A lambda-calculus for dynamic binding. Theoretical Computer Science, 192:201–231, 1998.

    Google Scholar 

  7. Felleisen, M. The Calculi of Lambda-v-cs Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages. Ph.D. Thesis, Indiana University, 1987.

  8. Felleisen, M. and Friedman, D.P. Control operators, the SECD-machine, and the λ'-calculus. In Formal Description of Programming Concepts III, M. Wirsing (Ed.), North-Holland, 1986, pp. 193–217.

  9. Frost, J. and Mason, I.A. An operational logic of effects. In Proceedings of theAustralasian Theory Symposium, CATS' 96, 1996, pp. 147–156.

  10. Griffin, T.G. A formulae as types notion of control. In Seventeenth Annual ACM Symposium on Principles of Programmings Languages, 1990, pp. 47–58.

  11. Hashimoto, M. and Ohori, A. A typed context calculus, 1996. Preprint RIMS-1098, Research Institute for Mathematical Sciences, Kyoto University, 1996. See: http://www.kurims.kyoto-u.ac.jp/~ohori/.

  12. Honsell, F., Mason, I.A., Smith, S.F., and Talcott, C.L. A variable typed logic of effects. Information and Computation, 119(1):55–90, 1995.

    Google Scholar 

  13. Klop, J. Combinatory Reduction Systems. Ph.D. Thesis, University of Utrecht, 1980. Published as a Mathematical Centre Tract 129.

  14. Lee, S.-D. and Friedman, D.P. Enriching the Lambda Calculus with Contexts: Towards a Theory of Incremental Program Construction. In Proceedings ACM Int. Conf. on Functional Programming, ACM SIGPLAN Notices, 31(6):239–250, 1996.

    Google Scholar 

  15. Mason, I.A. Hoare's Logic in the LF. Technical Report ECS-LFCS-87-32, Laboratory for foundations of computer science, University of Edinburgh, 1987.

  16. Mason, I.A. A first order logic of effects. Theoretical Computer Science, 185:277–318, 1997.

    Google Scholar 

  17. Mason, I.A. Parametric Computation. In Proceedings of the Australasian Theory Symposium, CATS' 97, J. Harland (Ed.), 1997, pp. 103–112. Complete proofs of all claims are also available from http://smcs.une.edu.au/ iam/Data/Papers/97 cats-proofs.ps as postscript.

  18. Mason, I.A. and Talcott, C.L. Equivalence in functional languages with effects. Journal of Functional Programming, 1:287–327, 1991.

    Google Scholar 

  19. Milner, R. Fully abstract models of typed λ-calculi. Theoretical Computer Science, 4:1–22, 1977.

    Google Scholar 

  20. Morris, J.H. Lambda Calculus Models of Programming Languages. Ph.D. Thesis, Massachusetts Institute of Technology, 1968.

  21. Pitts, A.M. Some notes on inductive and co-inductive techniques in the semantics of functional programs, 1994. Notes Series BRICS-NS-94-5, BRICS, Department of Computer Science, University of Aarhus.

  22. Plotkin, G. Call-by-name, call-by-value and the lambda calculus. Theoretical Computer Science, 1:125–159, 1975.

    Google Scholar 

  23. Sands, D. Computing with contexts--A simple approach. In Proceedings of Higher-Order Operational Techniques in Semantics, HOOTS II, Electronic Notes in Theoretical Computer Science, vol. 10, 1998.

  24. Sato, M., Sakurai, T., and Burstall, R. Explicit environments. In Typed Lambda Calculi and Applications, Proceedings of 4th International Conference, TLCA'99. L'Aquila, Italy, April 7–9, 1999, J.Y. Girard (Ed.) vol. 1581 of Lecture Notes in Computer Science, Springer-Verlag, 1999.

  25. Talcott, C.L. Binding structures. In Artificial Intelligence and Mathematical Theory of Computation. Vladimir Lifschitz (Ed.), Academic Press, 1991.

  26. Talcott, C.L. A theory of binding structures and its applications to rewriting. Theoretical Computer Science, 112:99–143, 1993.

    Google Scholar 

  27. Talcott, C.L. Reasoning about functions with effects. In Higher Order Operational Techniques in Semantics. A. Gordon and A. Pitts (Eds.), Cambridge University Press, 1998.

  28. Weyhrauch, R.W. Prolegomena to a theory of formal reasoning. Artificial Intelligence, 13:133–170, 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mason, I.A. Computing with Contexts. Higher-Order and Symbolic Computation 12, 171–201 (1999). https://doi.org/10.1023/A:1010052222987

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1010052222987

Navigation