mHaskell: Mobile computation in a purely functional language
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.
haskell mobile computation programming languages functional programming