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. may- and should-convergence
We aim to make it easier for programmers to write correct concurrent programs and to demonstrate tha...
A reversible semantics enables to undo computation steps. Reversing message-passing, concurrent prog...
Various concurrency primitives have been added to sequential programming languages, in order to turn...
Abstract: We show how Sestoft’s abstract machine for lazy evaluation of purely functional programs c...
The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is a process...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
Various concurrency primitives had been added to functional programming languages in different ways....
We propose a model for measuring the runtime of concurrent programs by the minimal number of evaluat...
Abstract. The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is...
A concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-n...
The synchronous pi-calculus is translated into a core language of Concurrent Haskell extended by fut...
Writing concurrent programs in languages that lack explicit support for concurrency can often be awk...
AbstractWe introduce a new lambda calculus with futures, λ(fut), that models the operational semanti...
Reasoning about the correctness of program transformations requires a notion of program equivalence....
It has often been suggested that functional languages provide an excellent basis for programming par...
We aim to make it easier for programmers to write correct concurrent programs and to demonstrate tha...
A reversible semantics enables to undo computation steps. Reversing message-passing, concurrent prog...
Various concurrency primitives have been added to sequential programming languages, in order to turn...
Abstract: We show how Sestoft’s abstract machine for lazy evaluation of purely functional programs c...
The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is a process...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
Various concurrency primitives had been added to functional programming languages in different ways....
We propose a model for measuring the runtime of concurrent programs by the minimal number of evaluat...
Abstract. The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is...
A concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-n...
The synchronous pi-calculus is translated into a core language of Concurrent Haskell extended by fut...
Writing concurrent programs in languages that lack explicit support for concurrency can often be awk...
AbstractWe introduce a new lambda calculus with futures, λ(fut), that models the operational semanti...
Reasoning about the correctness of program transformations requires a notion of program equivalence....
It has often been suggested that functional languages provide an excellent basis for programming par...
We aim to make it easier for programmers to write correct concurrent programs and to demonstrate tha...
A reversible semantics enables to undo computation steps. Reversing message-passing, concurrent prog...
Various concurrency primitives have been added to sequential programming languages, in order to turn...