文档详情

Abstract Dynamic Rebinding for Distributed Programming.pdf

发布:2015-09-27约字共12页下载文档
文本预览下载声明
Dynamic Rebinding for Distributed Programming Gavin Bierman† Michael Hicks‡ Peter Sewell†∗ Gareth Stoyle† Keith Wansbrough† †University of Cambridge ‡Cornell University {First.Last}@cl.cam.ac.uk mhicks@ Abstract known advantages. Modern software, though, is becoming Most programming languages adopt static binding, but for increasingly dynamic, as it becomes ever more modular, ex- distributed programming an exclusive reliance on static bind- tensible, and distributed. Exclusive use of static binding is ing is too restrictive: dynamic binding is required in various too limiting in many ways. guises. Typically it is provided only by ad-hoc mechanisms Simple uses of dynamic binding are ubiquitous, of course. that lack clean semantics. Conventional executables will, when run, load so-called shared In this paper we adopt a more foundational approach, libraries to resolve standard library functions (e.g. read, showing how core dynamic rebinding mechanisms can be write, etc.). Which libraries are loaded depends upon the added to a CBV λ-calculus. To do so we first develop two context; for example, a machine might have a library com- refinements of the CBV reduction strategy with delayed in- piled with profiling enabled and one without. Dynamically stantiation, the redex-time and destruct-time semantics. De- loading and resolving program code, whether shared libraries layed instantiation ensures we obtain the most recent ver- or otherwise, is achieved via dynamic linking. Modern lan- sion o
显示全部
相似文档