## A Simply Typed Context Calculus with First-Class Environments (2002)

### Cached

### Download Links

- [www.sato.kuis.kyoto-u.ac.jp]
- [www.sato.kuis.kyoto-u.ac.jp]
- [scholar.lib.vt.edu]
- DBLP

### Other Repositories/Bibliography

Citations: | 12 - 1 self |

### BibTeX

@MISC{Sato02asimply,

author = {Masahiko Sato and Takafumi Sakurai and Yukiyoshi Kameyama},

title = {A Simply Typed Context Calculus with First-Class Environments},

year = {2002}

}

### OpenURL

### Abstract

. 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 fi-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. 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...

### Citations

1119 |
The Lambda Calculus: Its Syntax and Semantics
- Barendregt
- 1984
(Show Context)
Citation Context ...g of the premises of the (envI) rule. 11 Before going into technical details, we explain our method by comparing it with the traditional method of defining substitution for terms with named variables =-=[2]-=- and also with the method invented by de Bruijn [6]. In the traditional method, for example, substitution of x for y in #x. y is done by first #-converting #x. y to, say, #z. y and then replacing y by... |

391 | J.-J.: Explicit substitutions
- Abadi, Cardelli, et al.
(Show Context)
Citation Context ...Works In this section, we compare our calculus with some related works. In the formulation of contexts in ###, first-class environments (or explicit substitutions) play an essential role. Abadi et al =-=[1]-=- first introduced explicit substitutions, and there are many interesting works on this subject since then. However, to our knowledge, the ##-calculus [18] is the only language which is pure in our sen... |

303 | Lambda calculus notation with nameless dummies, a tool for automatic formal manipulation with application to the Church-Rosser theorem - Bruijn - 1972 |

185 | Introduction to lambda calculus - Barendregt - 1988 |

154 |
De Bruijn. Lambda calculus notation with nameless dummies
- G
- 1972
(Show Context)
Citation Context ...finition of substitution where #-conversion is sometimes necessary to avoid the unwanted capture of variables. Our method of defining substitution is a simple extension of the method due to de Bruijn =-=[6]-=-. 2 Strictly speaking, in order to have this property, we have to identify those derivations which are the same up to the di#erence of ordering of the premises of the (envI) rule. 11 Before going into... |

143 |
Semantics of programming languages
- Gunter
- 1992
(Show Context)
Citation Context ...ices. Similarly, the third term becomes #1. #2. (#3. 2(31))(21), and this term is essentially the same as the representation of the first term in de Bruijn levels, or, using the terminology of Gunter =-=[9]-=-, corresponds to the CCC model representation. We can therefore see that our terms are natural extensions of both traditional concrete terms with variable names and name free terms a la de Bruijn that... |

44 |
Typed -calculi with explicit substitution may not terminate
- Mellies
- 1995
(Show Context)
Citation Context ... faithfully compute substitution internally by using these reduction rules, and at the same time the system enjoys the strong normalizability (Theorem 5.26). In fact, as can be seen in, e.g., Mellies =-=[13]-=- and Bloo and Rose [3], the strong normalizability of calculi of explicit substitutions and explicit environments is a subtle problem. The reader is referred to [18] for a detailed discussion on our c... |

27 | A lambda calculus for dynamic binding
- Dami
- 1998
(Show Context)
Citation Context ... names of variables. Recently there have been several attempts to formalize the notion of context and thereby make computing with contexts possible. For example, Talcott [19], Lee-Friedman [11], Dami =-=[5]-=-, Hashimoto-Ohori [10], Sands [16], Mason [12] and Bognar-de Vrijer [4] made notable contributions. However, as far as we know, there is as yet no proposal of a language which has contexts as first-cl... |

23 |
Typed λ-calculi with explicit substitutions may not terminate
- Melliès
- 1995
(Show Context)
Citation Context ... faithfully compute substitution internally by using these reduction rules, and at the same time the system enjoys the strong normalizability (Theorem 5.26). In fact, as can be seen in, e.g., Melliès =-=[13]-=- and Bloo and Rose [3], the strong normalizability of calculi of explicit substitutions and explicit environments is a subtle problem. The reader is referred to [18] for a detailed discussion on our c... |

21 | Abstract syntax and variable binding (extended abstract
- Fiore, Plotkin, et al.
- 1999
(Show Context)
Citation Context ...ve this theorem. # Here, we refer to some preceding works that have relations with our exchange operator and our definition of substitution. The definition of substitution by Fiore, Plotkin, and Turi =-=[7]-=- is similar to ours, that is, the 2nd clause of our definition corresponds to the 2nd clause of the definition of the substitution operation # : ## # # # [7], and we think that it should be possible t... |

15 |
Enriching the lambda calculus with contexts: toward a theory of incremental program construction
- Lee, Friedman
- 1996
(Show Context)
Citation Context ...through the names of variables. Recently there have been several attempts to formalize the notion of context and thereby make computing with contexts possible. For example, Talcott [19], Lee-Friedman =-=[11]-=-, Dami [5], Hashimoto-Ohori [10], Sands [16], Mason [12] and Bognar-de Vrijer [4] made notable contributions. However, as far as we know, there is as yet no proposal of a language which has contexts a... |

14 |
Preservation of strong normalization in named lambda calculi with explicit substitution and garbage collection
- Bloo, Rose
- 1995
(Show Context)
Citation Context ...stitution internally by using these reduction rules, and at the same time the system enjoys the strong normalizability (Theorem 5.26). In fact, as can be seen in, e.g., Mellies [13] and Bloo and Rose =-=[3]-=-, the strong normalizability of calculi of explicit substitutions and explicit environments is a subtle problem. The reader is referred to [18] for a detailed discussion on our choice of the (eval) ru... |

12 | Some notes on inductive and coinductive techniques in the semantics of functional programs - Pitts - 1994 |

11 |
The typed polymorphic label-selective -calculus
- Garrigue, At-Kaci
- 1994
(Show Context)
Citation Context ...of the definition of the substitution operation # : ## # # # [7], and we think that it should be possible to establish a precise correspondence. We also make a remark about label-selective #-calculus =-=[8]-=-. In label-selective #-calculus, abstracts and arguments are labeled and the labels are used in argument-passing. The label consists of a symbol and a number and the number changes when the label is p... |

11 |
Computing with contexts: A simple approach
- Sands
- 1998
(Show Context)
Citation Context ...re have been several attempts to formalize the notion of context and thereby make computing with contexts possible. For example, Talcott [19], Lee-Friedman [11], Dami [5], Hashimoto-Ohori [10], Sands =-=[16]-=-, Mason [12] and Bognar-de Vrijer [4] made notable contributions. However, as far as we know, there is as yet no proposal of a language which has contexts as first-class values and which is at the sam... |

9 | A typed context calculus
- Hashimoto, Ohori
- 2001
(Show Context)
Citation Context ...and that kind of representation is also necessary to treat modules as first-class citizens. Such a representation can be given by formalizing contexts and the hole-filling operations, but we refer to =-=[10]-=- for related discussions. Here we point out that the key idea is to link distributed objects through the names of variables. Recently there have been several attempts to formalize the notion of contex... |

7 |
Computing with Contexts
- Mason
- 1999
(Show Context)
Citation Context ... several attempts to formalize the notion of context and thereby make computing with contexts possible. For example, Talcott [19], Lee-Friedman [11], Dami [5], Hashimoto-Ohori [10], Sands [16], Mason =-=[12]-=- and Bognar-de Vrijer [4] made notable contributions. However, as far as we know, there is as yet no proposal of a language which has contexts as first-class values and which is at the same time pure ... |

7 | Theory of symbolic expressions - Sato - 1983 |

5 |
The typed polymorphic label-selective λ -calculus
- Garrigue, Aït-Kaci
- 1994
(Show Context)
Citation Context ... the definition of the substitution operation σ : δΛ × Λ → Λ [7], and we think that it should be possible to establish a precise correspondence. We also make a remark about label-selective λ-calculus =-=[8]-=-. In label-selective λ-calculus, abstracts and arguments are labeled and the labels are used in argument-passing. The label consists of a symbol and a number and the number changes when the label is p... |

3 | A calculus of lambda calculus context
- Bognar, Vrijer
- 2001
(Show Context)
Citation Context ...lize the notion of context and thereby make computing with contexts possible. For example, Talcott [19], Lee-Friedman [11], Dami [5], Hashimoto-Ohori [10], Sands [16], Mason [12] and Bognar-de Vrijer =-=[4]-=- made notable contributions. However, as far as we know, there is as yet no proposal of a language which has contexts as first-class values and which is at the same time pure in the following sense. W... |

1 |
Some Notes on Inductive and Co-Inductive
- Pitts
- 1994
(Show Context)
Citation Context ...ossible to compute holefilling within his system. Unlike these systems, in ###, contexts are directly representable as terms of ###, and we can compute hole-filling within ###. Sands [16] uses Pitts' =-=[14]-=- definition of contexts and shows that holefilling commutes with many relations on terms including #-equivalence. Pitts defines contexts by representing holes by (higher-order) function variables wher... |

1 |
An interpretation of a context calculus in an environment calculus
- Sakurada
- 1999
(Show Context)
Citation Context ...lculus has severe restrictions in that (i) each context may have at most one hole in it, and (ii) as we have explained in section 1, the application of the #-reduction is allowed only when 4 Sakurada =-=[15]-=- proved the strong normalizability of Hashimoto-Ohori's calculus by interpreting it in ##. 37 the #-redex has no hole in it. Our calculus does not have such restrictions and #-reduction and hole-filli... |

1 | A typed context calculus, Preprint RIMS-1098 - Hashimoto, Ohori |

1 | Explicit Environments, Typed Lambda Calculi and - Sato, Sakurai, et al. - 1999 |