Results 1 
3 of
3
The lambdacontext calculus (extended version
 Information and computation
, 2009
"... We present the Lambda Context Calculus. This simple lambdacalculus features variables arranged in a hierarchy of strengths such that substitution of a strong variable does not avoid capture with respect to abstraction by a weaker variable. This allows the calculus to express both captureavoiding ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We present the Lambda Context Calculus. This simple lambdacalculus features variables arranged in a hierarchy of strengths such that substitution of a strong variable does not avoid capture with respect to abstraction by a weaker variable. This allows the calculus to express both captureavoiding and capturing substitution (instantiation). The reduction rules extend the ‘vanilla ’ lambdacalculus in a simple and modular way and preserve the look and feel of a standard lambdacalculus with explicit substitutions. Good properties of the lambdacalculus are preserved. The LamCC is confluent, and a natural injection into the LamCC of the untyped lambdacalculus exists and preserves strong normalisation. We discuss the calculus and its design with full proofs. In the presence of the hierarchy of variables, functional binding splits into a functional abstraction λ (lambda) and a namebinder N(new). We investigate how the components of this calculus interact with each other and with the reduction rules, with examples. In two more extended case studies we demonstrate how global state can be expressed, and how contexts and contextual equivalence can be naturally internalised using function application.
unknown title
"... 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, princi ..."
Abstract
 Add to MetaCart
(Show Context)
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 MLstyle HindleyMilner 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. 1 Categories and Subject Descriptors: F.4.1 [Mathematical Logic and Formal Languages]: lambda calculus and related systems
The lambdacontext calculus
 In: LFMTP’07: International Workshop on Logical Frameworks and MetaLanguages
"... We present a simple lambdacalculus whose syntax is populated by variables which behave like metavariables. It can express both captureavoiding and capturing substitution (instantiation). To do this requires several innovations, including a key insight in the confluence proof and a set of reductio ..."
Abstract
 Add to MetaCart
(Show Context)
We present a simple lambdacalculus whose syntax is populated by variables which behave like metavariables. It can express both captureavoiding and capturing substitution (instantiation). To do this requires several innovations, including a key insight in the confluence proof and a set of reduction rules which manages the complexity of a calculus of contexts over the ‘vanilla ’ lambdacalculus in a very simple and modular way. This calculus remains extremely close in look and feel to a standard lambdacalculus with explicit substitutions, and good properties of the lambdacalculus are preserved. These include a HindleyMilner type system with principal typings and subject reduction, and an applicative characterisation of contextual equivalence. Key words: Lambdacalculus, calculi of contexts, functional programming,