Lang. (was Re: Alternative hierarchy proposal)

Frank Atanassow
Tue, 13 Mar 2001 17:59:34 +0100

Malcolm Wallace wrote (on 13-03-01 15:00 +0000):
> 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.

I generally agree with Marcin's categorizing criteria, but I don't think there
is any a priori reason to expect that these modules should be related in _any_
way other than by the fact that they are extensions (except Monad and
Unique). Maybe there is something Control-like about them, but honestly it
seems forced to me. For example, I think Dynamic and Generics (again: why is
only one plural?!) are sort of type related, so I might argue with equal
confidence that they belong in a Types subtree.

If you really want to be faithful to Marcin's scheme, then they should
probably go at the top-level, but I don't think that would be a good idea.

Maybe we should just accept that they are only really related by the fact that
they are extensions and put them in an Extensions or Miscellaneous subtree or
something. These things are too abstract and complex for us to expect to find
a reasonable place for them within a simple tree structure.

BTW, I think Monad should go in Data.Structure. And Unique too, if it is the
GHC unique-name module I'm thinking of.

Frank Atanassow, Information & Computing Sciences, Utrecht University
Padualaan 14, PO Box 80.089, 3508 TB Utrecht, Netherlands
Tel +31 (030) 253-3261 Fax +31 (030) 251-379