Proposal: reduce base from the top

Ian Lynagh igloo at
Tue Apr 3 07:42:31 EDT 2007

Hi Simon,

On Tue, Apr 03, 2007 at 11:21:34AM +0100, Simon Marlow wrote:
> Data.ByteString.*
> --> fps (dep. on base, generics, array)

I think this should be called bytestring; fps will just be a random
string to newcomers to Haskell.

> Control.Concurrent.*, System.Timeout
> --> new package concurrent
>     (needed by Data.Unique, where to move it?)

At worst it can go in a "unique" package.

> Control.Applicative
> Data.Foldable, Data.Traversable
> Data.Map, Data.IntMap, Data.Set, Data.IntSet
> Data.Sequence, Data.Tree
> Data.HashTable
> Data.Graph
> ---> new package collections? containers?  or split further?
>      (dep. on array, generics, concurrent)

I assume you give "containers" as an option because I used it in #710,
but I think I prefer "collections" myself.

I'm not sure if it should be plural or singular. Logically it should
match "array", but somehow "array" and "containers" feels right.

> System.Console.GetOpt
> ---> new package getopt? consoleutils?

It might be nice to leave "getopt" for a future C getopt binding.

I haven't checked for any dependencies you've missed or anything, but I
think the way to do this sort of thing is to agree on a split in
principle and then see if anything breaks when you try it.

Overall it looks good, and makes later, more exciting refactoring


More information about the Libraries mailing list