An abstract machine for concurrent haskell with futures
David Sabel
Abstract
We show how Sestoft's abstract machine for lazy evaluation of purely functional programs can be extended to evaluate expressions of the calculus CHF - a process calculus that models Concurrent Haskell extended by imperative and implicit futures. The abstract machine is modularly constructed by first adding monadic IO-actions to the machine and then in a second step we add concurrency. Our main result is that the abstract machine coincides with the original operational semantics of CHF, w.r.t. mayand should-convergence.
Full Text: PDF