[GHC] #710: library reorganisation

GHC trac at galois.com
Thu Mar 2 05:03:49 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          |     Keywords:         
          Os:  Unknown         |   Difficulty:  Unknown
Architecture:  Unknown         |  
-------------------------------+--------------------------------------------
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}}})

-- 
Ticket URL: <http://cvs.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