
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
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.