RE: Lang. (was Re: Alternative hierarchy proposal)

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. Cheers, Simon

Simon Marlow wrote:
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.
Doesn't that very fact suggest that these libraries should /not/ be grouped together?
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".
And our office (of 2) continues to have a unanimously opposite view... So if these libraries really don't belong together, as you admit, we need to find alternative homes for them. Here's one suggestion: Monad -> Data.Structures.Monad Exception -> System.Control.Exception Generics -> Type.Generics Dynamic -> Type.Dynamic Unique -> Data.Structures.Unique Concurrent -> System.Control.Concurrent Parallel -> System.Control.Parallel Regards, Malcolm
participants (2)
-
Malcolm Wallace
-
Simon Marlow