JUCS - Journal of Universal Computer Science 11(7): 1234-1254, doi: 10.3217/jucs-011-07-1234
mHaskell: Mobile Computation in a Purely Functional Language
expand article infoAndrè Rauber Du Bois, Phil Trinder, Hans-Wolfgang Loidl§
‡ Heriot-Watt University, United Kingdom§ Ludwig-Maximilians-Universität, München, Germany
Open Access
Abstract
We provide a complete description of mHaskell, a new mobile programming language that extends the Haskell functional language. We describe new stateful mobility primitives that use higher-order channels, giving their operational semantics and an implementation outline. We show how medium-level coordination abstractions can be constructed using monadic composition of the mobility primitives. We briefly outline how high-level mobile coordination abstractions, or mobility skeletons, can be defined using the lower-level abstractions. The use of all three abstractions is demonstrated with examples and a new case study: a distributed stateless web server where a thread farm skeleton is used to distribute work to remote locations.
Keywords
Haskell, functional programming, mobile computation, programming languages