Sciweavers

JFP
2008

Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction

13 years 4 months ago
Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example, when a marshalled value is received from the network, containing identifiers that must be rebound to local resources. Typically, it is provided only by ad hoc mechanisms that lack clean semantics. In this paper, we adopt a foundational approach, developing core dynamic rebinding mechanisms as extensions to the simply typed call-byvalue calculus. To do so, we must first explore refinements of the call-by-value reduction strategy that delay instantiation, to ensure computations make use of the most recent versions of rebound definitions. We introduce redex-time and destruct-time strategies. The latter forms the basis for a marsh calculus that supports dynamic rebinding of marshalled values, while remaining as far as possible statically typed. We sketch an extension of marsh with concurren...
Peter Sewell, Gareth Stoyle, Michael Hicks, Gavin
Added 13 Dec 2010
Updated 13 Dec 2010
Type Journal
Year 2008
Where JFP
Authors Peter Sewell, Gareth Stoyle, Michael Hicks, Gavin M. Bierman, Keith Wansbrough
Comments (0)