
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.