Concurrency (was: RE: Re[2]: important news: refocusing discussion)

Simon Marlow simonmar at
Mon Mar 27 09:36:55 EST 2006

On 26 March 2006 02:31, isaac jones wrote:

> Possible Interests:
>  1. I can write tools like filesystems, web servers, and GUIs in
> Haskell'
>  2. Libraries that I use are thread-safe
>  3. I can compile my code with any Haskell' compiler
>  4. Tools such as debuggers and tracers that claim to support Haskell'
> actually work on my code.
>  5. That there not be "too many Haskell's"
>  6. That there be a diversity of Haskell' implementations
>  7. That concurrency be reasonable to implement for existing
> compilers/interpreters.
>  8. That it be reasonable to implement for new compilers/interpreters.
>  9. Show off how effective Haskell can be in this area (possibly
> attracting new users).
> By 5 I mean that it might be nice to have a "core" Haskell and a bunch
> of addenda.  But this could cause no two Haskell' implementations to
> be the same. (My Haskell' might have concurrency and FFI, but no class
> system, or something.)  The more optional addenda we have, the more we
> actually fracture the language.  We could be in the same situation
> we're in today.
> Isaac's Interests
>  * 1-6, 9
> Simon's Interests:
>  * He's mentioned 9, I'm sure that there are others.

I'd count all of 1-9 as interests - they're all desirable.  But we
haven't found a design that satisfies 1-9, and in the absence of that we
have to compromise somewhere.

But before we get carried away figuring out all the pros and cons of
various options, let me point out once again that
  This is just a marketing decision


 (a) we're going to standardise concurrency anyway

 (b) it is unlikely that Hugs or JHC will implement concurrency
     even if it goes into the standard

 (c) the question is just whether the "brand" Haskell' encompasses
     concurrency or not (I thought I'd use that word because I
     know JL likes it so much :-)

Yes there are several ramifications of this decision, but none of them
are technical.  As I see it, we either specify Concurrency as an
addendum, or NoConcurrency as an addendum, and both options are about
the same amount of work.

So on that note, I'll restate my preference that Haskell' should include
concurrency, and leave it at that.  We can start the standardisation
process without arriving at a conclusion on this issue anyway.


More information about the Haskell-prime mailing list