Results 1 
4 of
4
Macros as multistage computations: Typesafe, generative, binding macros in MacroML
 in MacroML. In the International Conference on Functional Programming (ICFP ’01
, 2001
"... ..."
A Simply Typed Context Calculus with FirstClass Environments
, 2002
"... . We introduce a simply typed calculus " which has both contexts and environments as firstclass 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 t ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
. We introduce a simply typed calculus " which has both contexts and environments as firstclass 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 ficalculus, 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. 1 Introduction Informally speaking, a context (in calculus) is a term with some holes in it. For example, writing [ ] for a hole, y: [ ] is a...
A Calculus of Lambda Calculus Contexts
 Journal of Automated Reasoning
, 2001
"... The calculus c serves as a general framework for representing contexts. Essential features are control over variable capturing and the freedom to manipulate contexts before or after hole lling, by a mechanism of delayed substitution. The context calculus c is given in the form of an extension of th ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
The calculus c serves as a general framework for representing contexts. Essential features are control over variable capturing and the freedom to manipulate contexts before or after hole lling, by a mechanism of delayed substitution. The context calculus c is given in the form of an extension of the lambda calculus. Many notions of context can be represented within the framework; a particular variation can be obtained by the choice of a pretyping, which we illustrate by three examples. 1.
Firstclass substitutions in contextual type theory
"... In this paper, we revisit the theory of firstclass substitution in notion of substitution variables. This forms the basis for extending Beluga, a dependently typed proof and programming language which already supports firstclass contexts and contextual objects, with firstclass substitutions. To i ..."
Abstract
 Add to MetaCart
In this paper, we revisit the theory of firstclass substitution in notion of substitution variables. This forms the basis for extending Beluga, a dependently typed proof and programming language which already supports firstclass contexts and contextual objects, with firstclass substitutions. To illustrate the elegance and power of firstclass substitution variables, we describe the implementation of a weak normalization proof for the simplytyped lambdacalculus in Beluga. 1.