Splitting SYB from the base package in GHC 6.10
Ross Paterson
ross at soi.city.ac.uk
Sun Oct 5 06:34:13 EDT 2008
On Sat, Oct 04, 2008 at 05:17:41PM +0200, José Pedro Magalhães wrote:
> Basically, a new module Data.Data in base contains the previous
> Data.Generics.Basics and most of the instances from Data.Generics.Instances.
> Other changes are:
>
> On Mon, Sep 15, 2008 at 13:28, José Pedro Magalhães <jpm at cs.uu.nl> wrote:
>
> + Ratio has to be fixed to have a consistent instance: either it's seen
> as an abstract datatype (therefore with undefined gunfold) or a gfoldl
> has to be defined matching its gunfold;
>
> Ratio had its gfoldl defined to match its gunfold. Since GHC.Ratio exports the
> constructor (:%), I guess Ratio cannot be considered abstract.
I don't think GHC.Ratio counts as part of the public interface.
But Ratio isn't a showstopper.
> o The imports of SYB in the following modules should be fixed to
> avoid bringing into scope all the instances:
>
> ./containers/Data/IntMap.hs
> ./containers/Data/IntSet.hs
> ./containers/Data/Map.hs
> ./containers/Data/Sequence.hs
> ./containers/Data/Set.hs
> ./containers/Data/Tree.hs
> ./network/Network/URI.hs
> ./packedstring/Data/PackedString.hs
>
> This was not done, given the discussion in [1] regarding instance visibility
> and orphans.
I've pushed patches to HEAD to do this for array, containers,
packedstring and template-haskell. I think we should be aiming to
remove all dependencies of boot libs on syb, and possibly to making syb
an extra-lib. The only boot lib left depending on syb is bytestring,
but I understand that has other issues.
More information about the Libraries
mailing list