We extend the simply typed λ-calculus with unbind and rebind primitive constructs. That is, a value can be a fragment of open code, which in order to be used should be explicitly rebound. This mechanism nicely coexists with standard static binding. The motivation is to provide an unifying foundation for mechanisms of dynamic scoping, where the meaning of a name is determined at runtime, rebinding, such as dynamic updating of resources and exchange of mobile code, and delegation, where an alternative action is taken if a binding is missing. Depending on the application scenario, we consider two extensions which differ in the way type safety is guaranteed. The former relies on a combination of static and dynamic type checking. That is, rebind raises a dynamic error if for some variable there is no replacing term or it has the wrong type. In the latter, this error is prevented by a purely static type system, at the price of more sophisticated types.
Mots-clés : lambda calculus, type systems, static and dynamic scoping, rebinding
@article{ITA_2011__45_1_143_0, author = {Dezani-Ciancaglini, Mariangiola and Giannini, Paola and Zucca, Elena}, title = {Extending the lambda-calculus with unbind and rebind}, journal = {RAIRO - Theoretical Informatics and Applications - Informatique Th\'eorique et Applications}, pages = {143--162}, publisher = {EDP-Sciences}, volume = {45}, number = {1}, year = {2011}, doi = {10.1051/ita/2011008}, mrnumber = {2776858}, zbl = {1220.68045}, language = {en}, url = {http://archive.numdam.org/articles/10.1051/ita/2011008/} }
TY - JOUR AU - Dezani-Ciancaglini, Mariangiola AU - Giannini, Paola AU - Zucca, Elena TI - Extending the lambda-calculus with unbind and rebind JO - RAIRO - Theoretical Informatics and Applications - Informatique Théorique et Applications PY - 2011 SP - 143 EP - 162 VL - 45 IS - 1 PB - EDP-Sciences UR - http://archive.numdam.org/articles/10.1051/ita/2011008/ DO - 10.1051/ita/2011008 LA - en ID - ITA_2011__45_1_143_0 ER -
%0 Journal Article %A Dezani-Ciancaglini, Mariangiola %A Giannini, Paola %A Zucca, Elena %T Extending the lambda-calculus with unbind and rebind %J RAIRO - Theoretical Informatics and Applications - Informatique Théorique et Applications %D 2011 %P 143-162 %V 45 %N 1 %I EDP-Sciences %U http://archive.numdam.org/articles/10.1051/ita/2011008/ %R 10.1051/ita/2011008 %G en %F ITA_2011__45_1_143_0
Dezani-Ciancaglini, Mariangiola; Giannini, Paola; Zucca, Elena. Extending the lambda-calculus with unbind and rebind. RAIRO - Theoretical Informatics and Applications - Informatique Théorique et Applications, Tome 45 (2011) no. 1, pp. 143-162. doi : 10.1051/ita/2011008. http://archive.numdam.org/articles/10.1051/ita/2011008/
[1] A parametric calculus for mobile open code. Electronic Notes in Theoretical Computer Science 192 (2008) 3-22. | Zbl
, and ,[2] Dynamic rebinding for marshalling and update, with destruct-time , in ICFP'03. ACM Press (2003), 99-110.
, , , and ,[3] A lambda-calculus for dynamic binding. Theoret. Comput. Sci. 192 (1997) 201-231. | MR | Zbl
,[4] A calculus of evolving objects. Scientific Annals of Computer Science (2008) 63-98. | MR
, and ,[5] Intersection types for unbind and rebind, in ITRS'10. Electronic Proceedings in Theoretical Computer Science 45 (2010) 45-59. | Zbl
, and ,[6] Delimited dynamic binding, in ICFP'06, ACM Press (2006), 26-37.
, and ,[7] A syntactic theory of dynamic binding. Higher Order and Symbolic Computation 11 (1998) 233-279. | Zbl
,[8] Acute: High-level programming language design for distributed computation: Design rationale and language definition. J. Funct. Prog. 17 (2007) 547-612. | MR | Zbl
, , , , , and ,[9] MetaML and multi-stage programming with explicit annotations. Theoret. Comput. Sci. 248 (2000) 211-242. | Zbl
and ,[10] Beyond static and dynamic scope, in DLS'09. ACM Press (2009), 3-14.
,Cité par Sources :