Computer Science – Logic in Computer Science
Scientific paper
2011-01-24
EPTCS 45, 2011, pp. 45-58
Computer Science
Logic in Computer Science
In Proceedings ITRS 2010, arXiv:1101.4104
Scientific paper
10.4204/EPTCS.45.4
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.
Dezani-Ciancaglini Mariangiola
Giannini Paola
Zucca Elena
No associations
LandOfFree
Intersection types for unbind and rebind does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.
If you have personal experience with Intersection types for unbind and rebind, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Intersection types for unbind and rebind will most certainly appreciate the feedback.
Profile ID: LFWR-SCP-O-635555