Extending the lambda-calculus with unbind and rebind
We extend the simply typed -calculus with and 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 , where the meaning of a name is determined at runtime, , such as dynamic updating of resources and exchange of mobile code, and , where an alternative action is taken if a binding is missing. Depending...