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 im-plicit 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.
A reversible semantics enables to undo computation steps. Reversing message-passing, concurrent prog...
Concurrency plays an important role in programming language design. Logic variables in the form of f...
This paper presents the formal specification of an abstract machine for the M-calculus, a new distri...
We show how Sestoft’s abstract machine for lazy evaluation of purely functional programs can be ext...
Abstract. The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is...
The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is a process...
The synchronous pi-calculus is translated into a core language of Concurrent Haskell extended by fut...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
We propose a model for measuring the runtime of concurrent programs by the minimal number of evaluat...
AbstractWe introduce a new lambda calculus with futures, λ(fut), that models the operational semanti...
Various concurrency primitives had been added to functional programming languages in different ways....
A concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-n...
. A monad for concurrent programming that is suitable for being built into Haskell is presented. The...
It has often been suggested that functional languages provide an excellent basis for programming par...
Writing concurrent programs in languages that lack explicit support for concurrency can often be awk...
A reversible semantics enables to undo computation steps. Reversing message-passing, concurrent prog...
Concurrency plays an important role in programming language design. Logic variables in the form of f...
This paper presents the formal specification of an abstract machine for the M-calculus, a new distri...
We show how Sestoft’s abstract machine for lazy evaluation of purely functional programs can be ext...
Abstract. The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is...
The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is a process...
The synchronous pi-calculus is translated into a core language of Concurrent Haskell extended by fut...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
We propose a model for measuring the runtime of concurrent programs by the minimal number of evaluat...
AbstractWe introduce a new lambda calculus with futures, λ(fut), that models the operational semanti...
Various concurrency primitives had been added to functional programming languages in different ways....
A concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-n...
. A monad for concurrent programming that is suitable for being built into Haskell is presented. The...
It has often been suggested that functional languages provide an excellent basis for programming par...
Writing concurrent programs in languages that lack explicit support for concurrency can often be awk...
A reversible semantics enables to undo computation steps. Reversing message-passing, concurrent prog...
Concurrency plays an important role in programming language design. Logic variables in the form of f...
This paper presents the formal specification of an abstract machine for the M-calculus, a new distri...