[GHC] #710: library reorganisation

GHC trac at galois.com
Thu Mar 2 06:29:31 EST 2006


#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}}}
>   * {{{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.Queue}}}
>   * {{{Data.Tree}}}
>   * {{{Text.PrettyPrint.*}}}
>
> Some libraries we want to add:
>
>   * [http://www.cse.unsw.edu.au/~dons/fps.html FastPackedStrings]
> (replace {{{Data.PackedString}}})

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):

   * {{{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}}})

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/710>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list