Optimizations for mutable structures?

Tomasz Zielonka tomasz.zielonka at gmail.com
Thu Dec 8 03:41:49 EST 2005

On Wed, Dec 07, 2005 at 04:45:52PM +0000, Tony Finch wrote:
> The following paper seems relevant to this thread. Although it's written
> in the context of C and C++, it's relevant to any language that combines
> pre-emptive threads and imperative features.
> http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf

I haven't read the whole paper yet, but I am not sure it
applies to Concurrent Haskell. The paper is about introducing
concurrency as a library to an imperative language. It seems
to assume that the threads will communicate through ordinary
variables modified in critical sections.

But in Concurrent Haskell we don't modify ordinary variables
(mutable variables don't exist in Haskell 98), but those
supplied by the library.

Citing the "Concurrent Haskell" paper:

    We give a semantics for Concurrent Haskell that is clearly
    stratified into a deterministic layer and a concurrency
    layer (Section 6). Existing reasoning techniques can be
    retained unmodified; for example, program transformations
    that preserve the correctness of a sequential Haskell
    program also preserve correctness of a Concurrent Haskell
    program. This is an unusual feature: more commonly, the
    non-determinism that arises from concurrency pervades the
    entire language.

But can Concurrent Haskell be seen as a library?

Best regards

I am searching for a programmer who is good at least in some of
[Haskell, ML, C++, Linux, FreeBSD, math] for work in Warsaw, Poland

More information about the Glasgow-haskell-users mailing list