A theory of binding structures and applications to rewriting
Theoretical Computer Science
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
Higher-Order and Symbolic Computation
Typed lambda-calculi with explicit substitutions may not terminate
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
TLCA '99 Proceedings of the 4th International Conference on Typed Lambda Calculi and Applications
Abstract Syntax and Variable Binding
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
CAL: A Computer Assisted Learning System for Computation and Logic
Computer Aided Systems Theory - EUROCAST 2001-Revised Papers
Theory of Judgments and Derivations
Progress in Discovery Science, Final Report of the Japanese Discovery Science Project
A Logic Programming Language Based on Binding Algebras
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
ACM Transactions on Computational Logic (TOCL)
The lambda-context calculus (extended version)
Information and Computation
Proof contexts with late binding
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Hi-index | 0.00 |
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.