Lang. (was Re: Alternative hierarchy proposal)

Simon Marlow
Fri, 16 Mar 2001 11:49:04 -0000

Malcolm writes:

> I've had a hard think about what remains in Lang now.  For these:
>     Monad
>     Exception
>     Generics
>     Dynamic
>     Unique
> and also the following that aren't in Lang:
>     Concurrent
>     Parallel
> as far as I can see, the common unifying concept is that of "Control
> Structure" - or the closest that functional languages get to it.
> It isn't quite data structures (although Monads might be that),
> but it is more correctly the idea of structuring computations.
> I don't think there is really a simple term for the concept, since
> it covers such a wide range of structuring mechanisms, but "control
> structure" is the best I can come up with for now.  How does the
> "Control." hierarchy sound?
>     Control
>         Monad
>         Exception
>         Generics
>         Dynamic
>         Unique
>         Concurrent
>         Parallel

I must admit, I'm not keen on the name "Control" - it's meaning isn't
clear in the context of Haskell, and it sounds forced.  Let's face it,
we're trying to find a unifying concept for a mixed bag of abstract
libraries, and there just isn't one.

FWIW, I just took a poll of the 4 people in our office (inc. me) and the
vote came out unanimously in favour of calling it "Lang".

The unifying concept is nothing more specific than "support for language
features or concepts that don't belong in Data".  It's not perfect, but
I'd be happy with it.