#1338: base package breakup
----------------------------+-----------------------------------------------
Reporter: simonmar | Owner: igloo
Type: task | Status: new
Priority: normal | Milestone: 6.10 branch
Component: libraries/base | Version: 6.6.1
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: Unknown
Os: Unknown |
----------------------------+-----------------------------------------------
Comment (by igloo):
Updated proposal. I'll attach `packagegraph.png` showing the package deps.
This block is mostly as before, except timeout has to be in its own
package so that unique can sit in the middle:
{{{
timeout: System.Timeout
unique: Data.Unique
concurrent: Control.Concurrent
Control.Concurrent.Chan
Control.Concurrent.MVar
Control.Concurrent.QSem
Control.Concurrent.QSemN
Control.Concurrent.SampleVar
}}}
st can be pulled out:
{{{
st: Control.Monad.ST
Control.Monad.ST.Lazy
Control.Monad.ST.Strict
Data.STRef
Data.STRef.Lazy
Data.STRef.Strict
}}}
control should probably actually be merged with containers, but making it
its own package made my experimenting simpler:
{{{
control: Control.Applicative
Data.Foldable
Data.Monoid
Data.Traversable
ghc-exts: GHC.Exts
GHC.PArr
}}}
The `System.Mem` modules don't really seem to fit here, but I didn't have
anywhere better to put them, and they are under `System` after all.
{{{
system: System.CPUTime
System.Environment
System.Exit
System.Info
System.Mem
System.Mem.StableName
System.Mem.Weak
numeric: Data.Complex
Data.Fixed
Data.Ratio
generics: Data.Generics
Data.Generics.Aliases
Data.Generics.Basics
Data.Generics.Instances
Data.Generics.Schemes
Data.Generics.Text
Data.Generics.Twins
version: Data.Version
}}}
Little misc packages; we might want to fold some of these back in later,
but for now I just wanted to get them out of the way:
{{{
getopt: System.Console.GetOpt
debug: Debug.Trace
printf: Text.Printf
}}}
Again, these I was just getting out of the way. They're internal to GHC,
so where they end up shouldn't much matter:
{{{
ghc-bits: GHC.ConsoleHandler
GHC.Desugar
GHC.Environment
GHC.TopHandler
}}}
The rest of base I currently have cut in 2, with a `foreign` package stuck
in the middle. If things don't improve here then I expect we'll stick them
all back together for 6.10:
{{{
base-top: Control.Exception
Control.OldException
Control.Category
Control.Arrow
Control.Monad.Fix
Control.Monad.Instances
Text.Show
Text.Show.Functions
System.IO.Error
System.IO
System.Posix.Types
System.Posix.Internals
Data.Ix
Data.Function
Prelude
foreign Foreign
Foreign.C
Foreign.C.Error
Foreign.C.String
Foreign.Concurrent (GHC-only)
Foreign.ForeignPtr
Foreign.Marshal
Foreign.Marshal.Alloc
Foreign.Marshal.Array
Foreign.Marshal.Error
Foreign.Marshal.Pool
Foreign.Marshal.Utils
Foreign.Ptr
Foreign.StablePtr
base: Control.Monad
Data.Bits
Data.Bool
Data.Char
Data.Dynamic
Data.Either
Data.Eq
Data.HashTable
Data.IORef
Data.Int
Data.List
Data.Maybe
Data.Ord
Data.String
Data.Tuple
Data.Typeable
Data.Word
Foreign.C.Types
Foreign.Storable
Numeric
System.IO.Unsafe
Text.ParserCombinators.ReadP
Text.ParserCombinators.ReadPrec
Text.Read
Text.Read.Lex
Unsafe.Coerce
(plus a load of GHC-only internal modules)
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1338#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs