skip to main content
10.1145/1069774.1069783acmconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
Article

A new calculus of contexts

Published: 11 July 2005 Publication History

Abstract

We study contexts (terms with holes) by proposing a 'λ-calculus with holes'. It is very expressive and can encode programming constructs apparently unrelated to contexts, including objects and algorithms in partial evaluation. We give proofs of confluence, preservation of strong normalisation, principal typing for an ML-style Hindley-Milner type system, and an applicative characterisation of contextual equivalence. We explore the limitations of the calculus including further applications, and discuss how they might be tackled.

References

[1]
Martín Abadi and Luca Cardelli, An imperative object calculus, TAPSOFT '95: Proceedings of the 6th International Joint Conference CAAP/FASE on Theory and Practice of Software Development, LNCS, vol. 915, 1995, pp. 471--485.]]
[2]
S. Abramsky, K. Honda, and G. McCusker, A fully abstract game semantics for general references, Proc. 13th IEEE Symp. Logic in Comp. Sci., IEEE Computer Society Press, 1998, pp. 334--344.]]
[3]
H. P. Barendregt, The lambda calculus: its syntax and semantics (revised ed.), Studies in Logic and the Foundations of Mathematics, vol. 103, North-Holland, 1984.]]
[4]
John Bell and Moshé Machover, A course in mathematical logic, North-Holland, 1977.]]
[5]
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle, and Keith Wansbrough, Dynamic rebinding for marshalling and update, with destruct-time lambda, Proceedings of ICFP 2003: the 8th ACM SIGPLAN International Conference on Functional Programming (Uppsala), August 2003, pp. 99--110.]]
[6]
Roel Bloo and Kristoffer Høgsbro Rose, Preservation of strong normalisation in named lambda calculi with explicit substitution and garbage collection, CSN-95: Computer Science in the Netherlands, 1995.]]
[7]
Mirna Bognar, Contexts in lambda calculus, Ph.D. thesis, Vrije Universiteit Amsterdam, 2002.]]
[8]
Charles Consel and Olivier Danvy, Partial evaluation: Principles and perspectives, Journées Francophones des Langages Applicatifs, February 1993, pp. 493--501.]]
[9]
Luis Damas and Robin Milner, Principal type-schemes for functional programs, POPL '82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, ACM Press, 1982, pp. 207--212.]]
[10]
Laurent Dami, A lambda-calculus for dynamic binding, Theoretical Comp. Sc. 192(2) (1998), 201--231.]]
[11]
Maribel Fernández and Murdoch J. Gabbay, Extensions of nominal rewriting, PPDP, 2005.]]
[12]
Murdoch J. Gabbay, a-logic, Submitted, 2005.]]
[13]
Murdoch J. Gabbay and A. M. Pitts, A new approach to abstract syntax with variable binding, Formal Aspects of Computing 13 (2001), 341--363.]]
[14]
M. Hamana, Free sigma-monoids: A higher-order syntax with metavariables, The Second Asian Symposium on Programming Languages and Systems (APLAS 2004), Lecture Notes in Computer Science, vol. 3202, 2004, pp. 348--363.]]
[15]
Masatomo Hashimoto and Atsushi Ohori, A typed context calculus, Theor. Comput. Sci. 266 (2001), no. 1-2, 249--272.]]
[16]
Peyton Jones, Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in haskell, Engineering theories of software construction, Marktoberdorf Summer School, NATO ASI, 105 Press, 2001, pp. 47--96.]]
[17]
Simon L. Peyton Jones and Philip Wadler, Imperative functional programming, Conference record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, South Carolina, 1993, pp. 71--84.]]
[18]
John Launchbury and Simon L. Peyton Jones, Lazy functional state threads, PLDI '94: Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, ACM Press, 1994, pp. 24--35.]]
[19]
Pierre Lescanne, From lambda-sigma to lambda-upsilon a journey through calculi of explicit substitutions, POPL, 1994, pp. 60--69.]]
[20]
Elena Machkasova and Franklyn A. Turbak, A calculus for link-time compilation, Lecture Notes in Computer Science 1782 (2000), 260--274.]]
[21]
Ian Mackie Maribel Fernández, Murdoch J. Gabbay, Nominal rewriting, Submitted, January 2004.]]
[22]
Takafumi Sakurai Masahiko Sato and Rod Burstall, Explicit environments, Fundamenta Informaticae 45:1-2 (2001), 79--115.]]
[23]
Dale Miller, A logic programming language with lambda-abstraction, function variables, and simple unification, Extensions of Logic Programming (1991), no. 475, 253--281.]]
[24]
Robin Milner, Joachim Parrow, and David Walker, A calculus of mobile processes, II, Information and Computation 100 (1992), no. 1, 41--77.]]
[25]
Eugenio Moggi, Notions of computation and monads, Inf. Comput. 93 (1991), no. 1, 55--92.]]
[26]
Eugenio Moggi, Walid Taha, Zine-El-Abidine Benaissa, and Tim Sheard, An idealized metaml: Simpler, and more expressive, ESOP '99: Proceedings of the 8th European Symposium on Programming Languages and Systems, LNCS, vol. 1576, 1999, pp. 193--207.]]
[27]
Larry Paulson, The Isabelle reference manual, Cambridge University Computer Laboratory, February 2001.]]
[28]
A. M. Pitts and T. Sheard, On the denotational semantics of staged execution of open code, Submitted, February 2004.]]
[29]
A. M. Pitts and I. D. B. Stark, Operational reasoning for functions with local state, Higher Order Operational Techniques in Semantics (A. D. Gordon and A. M. Pitts, eds.), Publications of the Newton Institute, Cambridge University Press, 1998, pp. 227--273.]]
[30]
Masahiko Sato, Takafumi Sakurai, and Yukiyoshi Kameyama, A simply typed context calculus with first-class environments, Journal of Functional and Logic Programming 2002 (2002), no. 4, 359--374.]]
[31]
Masahiko Sato, Takafumi Sakurai, Yukiyoshi Kameyama, and Atsushi Igarashi, Calculi of meta-variables, Computer Science Logic and 8th Kurt Gödel Colloquium (CSL'03 & KGC), Vienna, Austria. Proccedings (M. Baaz, ed.), Lecture Notes in Computer Science, vol. 2803, 2003, pp. 484--497.]]
[32]
Tim Sheard and Simon Peyton Jones, Template metaprogramming for Haskell, ACM SIGPLAN Haskell Workshop 02 (Manuel M. T. Chakravarty, ed.), ACM Press, October 2002, pp. 1--16.]]
[33]
Francois Maurel Sylvain Baro, The qnu and qnuk calculi: name capture and control, Tech. report, Université Paris VII, March 2003, Extended Abstract, Prépublication PPS//03/11//n°16.]]
[34]
Laurence Tratt, Compile-time meta-programming in converge, Tech. Report TR-04-11, Department of Computer Science, King's College London, December 2002.]]
[35]
C. Urban, A. M. Pitts, and Murdoch Gabbay, Nominal unification, Theoretical Computer Science 323 (2004), 473--497.]]
[36]
Vincent van Oostrom, Confluence for abstract and higher-order rewriting, Ph.D. thesis, Vrije Universiteit, Amsterdam, March 29 1994.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPDP '05: Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
July 2005
260 pages
ISBN:1595930906
DOI:10.1145/1069774
  • General Chair:
  • Pedro Barahona,
  • Program Chair:
  • Amy Felty
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 July 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. binders
  2. calculi of contexts
  3. functional programming
  4. lambda-calculi
  5. nominal techniques

Qualifiers

  • Article

Conference

PPDP05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 185 of 381 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2015)A Meta Lambda Calculus with Cross-Level ComputationACM SIGPLAN Notices10.1145/2775051.267697650:1(383-393)Online publication date: 14-Jan-2015
  • (2015)A Meta Lambda Calculus with Cross-Level ComputationProceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2676726.2676976(383-393)Online publication date: 14-Jan-2015
  • (2012)Permissive-nominal logicACM Transactions on Computational Logic10.1145/2287718.228772013:3(1-36)Online publication date: 28-Aug-2012
  • (2010)Permissive-nominal logicProceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming10.1145/1836089.1836111(165-176)Online publication date: 26-Jul-2010
  • (2010)Permissive nominal terms and their unification: an infinite, co-infinite approach to nominal techniquesLogic Journal of the IGPL10.1093/jigpal/jzq00618:6(769-822)Online publication date: 25-May-2010
  • (2009)The lambda-context calculus (extended version)Information and Computation10.1016/j.ic.2009.06.004207:12(1369-1400)Online publication date: 1-Dec-2009
  • (2009)Two-level Lambda-calculusElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2009.07.018246(107-129)Online publication date: 1-Aug-2009
  • (2008)Calculi of meta-variablesFrontiers of Computer Science in China10.1007/s11704-008-0011-12:1(12-21)Online publication date: 28-Mar-2008
  • (2007)Taming non-compositionality using new bindersProceedings of the 6th international conference on Unconventional Computation10.5555/2394869.2394886(150-162)Online publication date: 13-Aug-2007
  • (2007)A formal calculus for informal equality with bindingProceedings of the 14th international conference on Logic, language, information and computation10.5555/1770176.1770188(162-176)Online publication date: 2-Jul-2007
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media