instance visibility

Ross Paterson ross at
Tue Sep 30 10:11:45 EDT 2008

On Tue, Sep 30, 2008 at 03:52:37PM +0200, José Pedro Magalhães wrote:
> I'm trying to understand the implications of this discussion in
> the current splitting off of SYB from base. In the division that
> was more or less agreed [1], the Data class and its uncontested
> instances would be kept in base, whereas the rest would go into
> a new syb package. The instances were traditionally orphans in
> Data.Generics.Instances, but it was suggested that they should now be
> moved into Data.Generics.Basics. This would make SYB free of orphans,
> but no longer offers a user the possibility of avoid the import of
> Data.Generics.Instances to define its own instances. It also invalidates
> some of the changes proposed in [1], namely caring about the imports
> of Data.IntMap, Data.IntSet, etc.

I would expect that the uncontested instances (except for the derived
Complex instance) would be in the same module as the Data class.
The container modules would thus bring these instances into scope, but
would not import modules from the syb package, and thus not bring the
dubious instances into scope.

More information about the Libraries mailing list