Ivan Lazar Miljenovic schrieb: > Henning Thielemann <[email protected]> writes: >> My conclusion was: Never define orphan instances privately. If an >> instance cannot be added to the packages that provide the associated >> type or the class, then discuss the orphan instance with the maintainers >> of the type and the class and setup a package that provides that >> instance. > > So you recommend having packages specifically for instances? > > My main problem with this is if you want a custom variant of that > instance. Let's take FGL graphs for example with instances for > QuickCheck's Arbitrary class. Maybe you want arbitrary graphs that are > simple, or maybe multiple edges are fine. Even when considering > Arbitrary instances for something like String you may wish to have a > custom variant that makes sense for what you're testing.
Especially multiple instances warrant a lot of trouble: http://www.haskell.org/haskellwiki/Multiple_instances If there isn't one natural instance, then define no instance at all and instead define 'newtypes' and instances on them. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
