Programming in MODULA-2 (3rd corrected ed.)
Programming in MODULA-2 (3rd corrected ed.)
A theory of binding structures and applications to rewriting
Theoretical Computer Science
Parallel reductions in &lgr;-calculus
Information and Computation
Enriching the lambda calculus with contexts: toward a theory of incremental program construction
Proceedings of the first ACM SIGPLAN international conference on Functional programming
A lambda-calculus for dynamic binding
Theoretical Computer Science - Special issue: theoretical aspects of coordination languages
The Definition of Standard ML
Computer
A Lambda-Calculus Structure Isomorphic to Gentzen-Style Sequent Calculus Structure
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
CTRS '92 Proceedings of the Third International Workshop on Conditional Term Rewriting Systems
Higher-order Unification via Explicit Substitutions
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
Macros as multi-stage computations: type-safe, generative, binding macros in MacroML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
A Calculus of Lambda Calculus Contexts
Journal of Automated Reasoning
Higher-Order and Symbolic Computation
TLCA '99 Proceedings of the 4th International Conference on Typed Lambda Calculi and Applications
MobileML: A Programming Language for Mobile Computation
COORDINATION '00 Proceedings of the 4th International Conference on Coordination Languages and Models
Theory of Judgments and Derivations
Progress in Discovery Science, Final Report of the Japanese Discovery Science Project
Term rewriting with variable binding: an initial algebra approach
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Proceedings of the 3rd ACM international workshop on Data engineering for wireless and mobile access
Dynamic rebinding for marshalling and update, with destruct-time ?
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Theoretical Computer Science
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
A modal type system for multi-level generating extensions with persistent code
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
An initial algebra approach to term rewriting systems with variable binders
Higher-Order and Symbolic Computation
Functional Programming With Higher-order Abstract Syntax and Explicit Substitutions
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Electronic Notes in Theoretical Computer Science (ENTCS)
ACM Transactions on Computational Logic (TOCL)
Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction
Journal of Functional Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
The lambda-context calculus (extended version)
Information and Computation
Curry-Howard for incomplete first-order logic derivations using one-and-a-half level terms
Information and Computation
Fundamenta Informaticae - Typed Lambda Calculi and Applications (TLCA'99)
First-class substitutions in contextual type theory
Proceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice
Hi-index | 5.23 |
This paper develops a typed calculus for contexts i.e., lambda terms with "holes". In addition to ordinary lambda terms, the calculus contains labeled holes, hole abstraction and context application for manipulating first-class contexts. The primary operation for contexts is hole-filling, which captures free variables. This operation conflicts with substitution of the lambda calculus, and a straightforward mixture of the two results in an inconsistent system. We solve this problem by defining a type system that precisely specifies the variable-capturing nature of contexts and that keeps track of bound variable renaming. These mechanisms enable us to define a reduction system that properly integrates&brg;-reduction and hole-filling. The resulting calculus is Church-Rosser and the type system has the subject reduction property. We believe that the context calculus will serve as a basis for developing a programming language with advanced features that call for manipulation of open terms. Copyright 2001 Elsevier Science B.V.