[GHC] #1338: base package breakup
bulat.ziganshin at gmail.com
Fri Jul 6 14:52:04 EDT 2007
Friday, July 6, 2007, 10:04:05 PM, you wrote:
> #1338: base package breakup
> Not clear what to do with these:
> Data.Foldable, Data.Traversable
> Data.Map, Data.IntMap, Data.Set, Data.IntSet
> Data.Sequence, Data.Tree
> ---> new package collections? containers? or split further?
> (dep. on array, generics, concurrent)
package named Collections already exists. one possible way of
splitting these modules would be separation of Control.Applicative,
while changing names of established modules and adding new hierarchy
roots aren't good ideas, may be it will better to rename them to
Class.* or even Concept.*? Monads, Data/Typeable, i/o Streams and
other classes may be moved to the same place. the intention is to
split packages to those defining concepts (classes) and whose
implementing them, with multiple packages that implements these
> --> new package array (maybe; I'm slightly dubious here)
> (dep. on concurrent for Data.Array.Diff)
> Needs the above to happen first:
> --> generics (maybe; Data class is defined for everything and is
how about using standalone deriving in this package?
derive Data for Int, Handle....
> Needs Data.Array.Diff to move out of base first:
> Control.Concurrent.*, System.Timeout
> --> new package concurrent
how about renaming System.Timeout to Control.Concurrent.Timeout ?
> Needs concurrent to be done first:
> --> new package unique (dep on concurrent)
may be it's better to consider it as one more multi-threading service
and move it into concurrent package? separate package for 60 lines-long
module doesn't seem like a good approach
> Will happen soon:
> --> bytestring (dep. on base, generics, array)
> Other modules we might move:
> Text.Printf, Data.Monoid, System.CPUTime
afaiu, Data.Monoid should go together with Foldable and so on?
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Glasgow-haskell-users