logo       

Re: [GHC] #710: library reorganisation: msg#00065

lang.haskell.glasgow.bugs

Subject: Re: [GHC] #710: library reorganisation

#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>
Google Custom Search

News | FAQ | advertise