11 research outputs found
Intersection types for unbind and rebind
We define a type system with intersection types for an extension of
lambda-calculus with unbind and rebind operators. In this calculus, a term with
free variables, representing open code, can be packed into an "unbound" term,
and passed around as a value. In order to execute inside code, an unbound term
should be explicitly rebound at the point where it is used. Unbinding and
rebinding are hierarchical, that is, the term can contain arbitrarily nested
unbound terms, whose inside code can only be executed after a sequence of
rebinds has been applied. Correspondingly, types are decorated with levels, and
a term has type decorated with k if it needs k rebinds in order to reduce to a
value. With intersection types we model the fact that a term can be used
differently in contexts providing different numbers of unbinds. In particular,
top-level terms, that is, terms not requiring unbinds to reduce to values,
should have a value type, that is, an intersection type where at least one
element has level 0. With the proposed intersection type system we get
soundness under the call-by-value strategy, an issue which was not resolved by
previous type systems.Comment: In Proceedings ITRS 2010, arXiv:1101.410
Interpreting Church-Style Typed λ-Calculus in Curry-Style Type Assignment
It is well known that there are problems with the labelled syntax in Church-style type assignment to lambda-terms, the syntax in which the types of bound variables are indicated, as in λx : # . M , since if #-reduction is added then the Church-Rosser Theorem fails in general (although it has been proved for some common systems of type assignment) . In this paper, the labelled syntax is interpreted in the standard syntax of Curry-style type assignment by means of a constant Label, so that λx : # . M is taken as an abbreviation for Label#(λx . M ). The constant Label can be defined as a closed term, so that the labelled syntax is ultimately interpreted in a syntax for which the Church-Rosser Theorem is known to hold for both #-reduction and #-reduction. This interpretation is carried through for three well known systems of type assignment: ordinary type assignment, the second-order polymorphic typed lambda-calculus, and the calculus of constructions. These cases illustrate the general ..