|
Re: [GHC] #710: library reorganisation: msg#00065lang.haskell.glasgow.bugs
#710: library reorganisation -----------------------------+---------------------------------------------- Reporter: simonmar | Owner: Type: task | Status: new Priority: normal | Milestone: 6.6 Component: libraries/base | Version: 6.4.1 Severity: normal | Resolution: Keywords: | Os: Unknown Difficulty: Unknown | Architecture: Unknown -----------------------------+---------------------------------------------- Old description: > This is the place I'm going to record the planned reorganisations to the > packages we ship with GHC. Some of this may happen for 6.6. Please > comment. > > === Goals === > > * make the base package less monolithic by extracting parts into > separate packages > > * hence reduce the amount of library code that needs to be built to > bootstrap GHC. > > * make it possible to build and ship GHC with a minimal set of > libraries, without > removing the possibility of delivering it with a more comprehensive > set too. > > * packages provided with a GHC installation should be upgradable. > > === Activities === > > * GHC's libraries need to be built using Cabal. Some of the things we > need to do > before this can happen: > > * Cabal needs support for using a specific package database > * we need to support {{{-split-objs}}} with {{{--make}}} > > * Abstract away from the particular packages that are built in the GHC > tree. Make > It possible to populate {{{libraries}}} with any Cabal packages you > like, which > are built and installed with GHC. (subject to the minimum > requirements: base, > haskell98, unix, template-haskell, readline, ...). > > === Library reorganisation === > > The following modules could be removed from base (perhaps not exhaustive, > and there may be dependencies I haven't considered): > > * {{{Text.Html}}} (to {{{network}}} package?) > * {{{Text.Regex}}} (integrate with, or replace by, > [http://repetae.net/john/computer/haskell/JRegex/ JRegex]?) > * {{{Data.Map}}} > * {{{Data.Set}}} > * {{{Data.IntMap}}} > * {{{Data.IntSet}}} > * {{{Data.HashTable}}} (replace with Jan-Willem Maessen's version) > * {{{Data.Graph}}} > * {{{Data.Sequence}}} > * {{{Data.Tree}}} > * {{{Control.Applicative}}} > * {{{Data.Monoid}}} > * {{{Data.Foldable}}} > * {{{Data.Traversable}}} > * {{{Text.PrettyPrint.*}}} > * {{{Text.Printf}}} > > Some libraries we want to add: > > * [http://www.cse.unsw.edu.au/~dons/fps.html FastPackedStrings] > (replace {{{Data.PackedString}}}) > > Libraries we want to remove: > > * {{{Data.FiniteMap}}} (deprecated) > * {{{Data.Queue}}} (deprecated) > * old interface in {{{Data.Set}}} New description: This is the place I'm going to record the planned reorganisations to the packages we ship with GHC. Some of this may happen for 6.6. Please comment. === Goals === * make the base package less monolithic by extracting parts into separate packages * hence reduce the amount of library code that needs to be built to bootstrap GHC. * make it possible to build and ship GHC with a minimal set of libraries, without removing the possibility of delivering it with a more comprehensive set too. * packages provided with a GHC installation should be upgradable. === Activities === * GHC's libraries need to be built using Cabal. Some of the things we need to do before this can happen: * Cabal needs support for using a specific package database * we need to support {{{-split-objs}}} with {{{--make}}} * Abstract away from the particular packages that are built in the GHC tree. Make It possible to populate {{{libraries}}} with any Cabal packages you like, which are built and installed with GHC. (subject to the minimum requirements: base, haskell98, unix, template-haskell, readline, ...). === Library reorganisation === The following modules could be removed from base (perhaps not exhaustive, and there may be dependencies I haven't considered): * {{{Control.Applicative}}} * {{{Data.Array.*}}} * {{{Data.Foldable}}} * {{{Data.Graph}}} * {{{Data.HashTable}}} (replace with Jan-Willem Maessen's version) * {{{Data.IntMap}}} * {{{Data.IntSet}}} * {{{Data.Map}}} * {{{Data.Monoid}}} * {{{Data.Sequence}}} * {{{Data.Set}}} * {{{Data.Traversable}}} * {{{Data.Tree}}} * {{{Text.Html}}} (to {{{network}}} package?) * {{{Text.PrettyPrint.*}}} * {{{Text.Printf}}} * {{{Text.Regex}}} (integrate with, or replace by, [http://repetae.net/john/computer/haskell/JRegex/ JRegex]?) Some libraries we want to add: * [http://www.cse.unsw.edu.au/~dons/fps.html FastPackedStrings] (replace {{{Data.PackedString}}}) These were deprecated in 6.4, and can be removed now: * {{{Data.FiniteMap}}} * old interface in {{{Data.Set}}} * {{{withObject}}} in {{{Foreign.Marshal.Utils}}} These are deprecated now, and can be removed later: * {{{Data.FunctorM}}} * {{{Data.Queue}}} -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/710> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler_______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@xxxxxxxxxxx http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Segfault on Windows, Neil Mitchell |
|---|---|
| Next by Date: | Re: 6.4.2 under solaris, Christian Maeder |
| Previous by Thread: | Segfault on Windows, Neil Mitchell |
| Next by Thread: | Re: 6.4.2 under solaris, Christian Maeder |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |