
wren ng thornton
But again, this depends on how feasible it would be to actually split the packages apart. Is it feasible?
Some time last year, I tried to extract the module import inter-dependencies in the base package (with the help of GHC's -ddump-minimal-imports), and came up with the following relations: The main problem I see are the cyclic dependencies between groups of modules; e.g. consider the import-deps between the Prelude module and the GHC.* modules: GHC.ConsoleHandler : Prelude GHC.Constants : Prelude GHC.Environment : Prelude GHC.Event : Prelude GHC.Exts : Prelude GHC.Handle : Prelude GHC.IOBase : Prelude GHC.PArr : Prelude GHC.Stack : Prelude GHC.Stats : Prelude Prelude : GHC.Base Prelude : GHC.Enum Prelude : GHC.Err Prelude : GHC.Float Prelude : GHC.Num Prelude : GHC.Real Prelude : GHC.Show Moreover, the GHC.* modules often also import other standard-library modules such as Data.* for the types and helpers. Also, cyclic dependencies between CABAL packages aren't supported afaik... cheers, hvr