Publication View

Under consideration for publication in J. Functional Programming 1 Acute: High-level programming language design for distributed computation (2008)

Abstract
† INRIA Rocquencourt Existing languages provide good support for typeful programming of standalone programs. In a distributed system, however, there may be interaction between multiple instances of many distinct programs, sharing some (but not necessarily all) of their module structure, and with some instances rebuilt with new versions of certain modules as time goes on. In this paper we discuss programminglanguage support for such systems, focussing on their typing and naming issues. We describe an experimental language, Acute, which extends an ML core to support distributed development, deployment, and execution, allowing type-safe interaction between separately-built programs. The main features are: (1) type-safe marshalling of arbitrary values; (2) type names that are generated (freshly and by hashing) to ensure that type equality tests suffice to protect the invariants of abstract types, across the entire distributed system; (3) expression-level names generated to ensure that name equality tests suffice for type safety of associated values, e.g. values carried on named channels; (4) controlled dynamic rebinding of marshalled values to local resources; and (5) thunkification of threads and mutexes to support computation mobility.

Publication details
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=?doi=10.1.1.123.9857
Source http://moscova.inria.fr/~zappa/readings/acute-journal.pdf
Contributors CiteSeerX
Repository CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Keywords Contents
Type text
Language English
Relation 10.1.1.7.2483, 10.1.1.18.370, 10.1.1.53.1757, 10.1.1.19.3826, 10.1.1.127.1777, 10.1.1.13.2633, 10.1.1.39.7265, 10.1.1.14.7918, 10.1.1.19.7620, 10.1.1.17.5273, 10.1.1.43.9043, 10.1.1.31.9953, 10.1.1.2.5990, 10.1.1.14.2708, 10.1.1.25.7343, 10.1.1.109.5262, 10.1.1.4.1894, 10.1.1.108.197, 10.1.1.107.4845, 10.1.1.3.9157, 10.1.1.58.9093, 10.1.1.52.6408, 10.1.1.76.5222, 10.1.1.101.9679, 10.1.1.113.1302, 10.1.1.28.8295, 10.1.1.137.3049