We propose a model for measuring the runtime of concurrent programs by the minimal number of evaluation steps. The focus of this paper are improvements, which are program transformations that improve this number in every context, where we distinguish between sequential and parallel improvements, for one or more processors, respectively. We apply the methods to CHF, a model of Concurrent Haskell extended by futures. The language CHF is a typed higher-order functional language with concurrent threads, monadic IO and MVars as synchronizing variables. We show that all deterministic reduction rules and 15 further program transformations are sequential and parallel improvements. We also show that introduction of deterministic parallelism is a par...
We aim to make it easier for programmers to write correct concurrent programs and to demonstrate tha...
A concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-n...
We present CoCo, the Concurrency Commentator, a tool that recovers a declarative view of concurrent ...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is a process...
Abstract: We show how Sestoft’s abstract machine for lazy evaluation of purely functional programs c...
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...
It has often been suggested that functional languages provide an excellent basis for programming par...
. A monad for concurrent programming that is suitable for being built into Haskell is presented. The...
This dissertation presents a number of methods to build massively concurrent network applications in...
The synchronous pi-calculus is translated into a core language of Concurrent Haskell extended by fut...
Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (func...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
It has long been known that some of the most common uses of for and while-loops in imperative progra...
We aim to make it easier for programmers to write correct concurrent programs and to demonstrate tha...
A concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-n...
We present CoCo, the Concurrency Commentator, a tool that recovers a declarative view of concurrent ...
In this paper we analyze the semantics of a higher-order functional language with concurrent threads...
The calculus CHF models Concurrent Haskell extended by concurrent, implicit futures. It is a process...
Abstract: We show how Sestoft’s abstract machine for lazy evaluation of purely functional programs c...
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...
It has often been suggested that functional languages provide an excellent basis for programming par...
. A monad for concurrent programming that is suitable for being built into Haskell is presented. The...
This dissertation presents a number of methods to build massively concurrent network applications in...
The synchronous pi-calculus is translated into a core language of Concurrent Haskell extended by fut...
Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (func...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
It has long been known that some of the most common uses of for and while-loops in imperative progra...
We aim to make it easier for programmers to write correct concurrent programs and to demonstrate tha...
A concurrent implementation of software transactional memory in Concurrent Haskell using a call-by-n...
We present CoCo, the Concurrency Commentator, a tool that recovers a declarative view of concurrent ...