The base library and GHC 6.10

Ross Paterson ross at
Sun Aug 31 17:44:48 EDT 2008

On Sun, Aug 31, 2008 at 07:11:11PM +0100, Claus Reinke wrote:
> "Ian Lynagh" <igloo at> wrote in message news:20080831121633.GA17919 at
> > On Sun, Aug 31, 2008 at 01:10:56PM +0100, Ross Paterson wrote:
> >> On Sat, Aug 30, 2008 at 01:01:34PM +0100, Ian Lynagh wrote:
> >> > OK; so I guess that means the whole Data.Generics.Basics module should
> >> > stay in base.
> >>
> >> Should Data.Generics.Instances (an orphanage) be folded into
> >> Data.Generics.Basics?
> >
> > Sounds good to me.
> I just stumbled into this thread by accident. No, the instances
> should not be folded into Basics. For one, Basics seems likely
> to remain in base, and half of the instances are under dispute
> (see previous SYB threads that were copied here). Splitting
> the instances into standard and dubious prior to deprecating
> the latter was one of the motivations for moving SYB out of
> base (apart from Basics and deriving) and for seeking a
> maintainer for syb.
> Since José Pedro Magalhães has offered to take on ownership
> of the syb package, it would be appropriate to cc him on any
> discussions related to this, so that he is aware of all developments
> and possible conflicts.

Hmm.  Of course it's not possible to deprecate instances, and there's
only GHC bug #2356 to protect against instance clashes.

It does seem a bit contradictory to argue that a class is so basic that
it belongs in the core, but its instances for core types are unclear.

Well at least the instances for [], tuples, Maybe, Either, Array and type
constants could go with the Data class, I presume.  Presumably Complex
could be given definitions of gfoldl and gmapT, and Ratio a definition
of gfoldl, though perhaps not gmapT.

More information about the Libraries mailing list