On Mon, Nov 23, 2009 at 05:23:31PM +0000, Simon Peyton-Jones wrote:
> Ian, or anyone else: re #2467, I can see the following orphan instances in
> libraries (below).
>
> Do you think they are all necessary?
In adition to what Simon and Pedro said, I've fixed a few of them, and
these are left:
These 2 currently seem to deliberately define orphan instances. I don't
know if it would be best to deorphan them, remove them, or leave them
be:
> libraries/base/Control/Monad/Instances.hs:{-# OPTIONS_GHC -fno-warn-orphans
> #-}
> libraries/base/Text/Show/Functions.hs:{-# OPTIONS_GHC -fno-warn-orphans #-}
This one will presumably be deorphaned as we migrate towards using
the binary package:
> libraries/bin-package-db/Distribution/InstalledPackageInfo/Binary.hs:{-#
> OPTIONS_GHC -fno-warn-orphans -fno-warn-name-shadowing #-}
This one:
> libraries/mtl/Control/Monad/Error.hs:{-# OPTIONS_GHC -fno-warn-orphans #-}
> -- Temporary, I hope. SLPJ Aug08
contains instances like
instance (Error e) => Monad (Either e)
which I don't think can be deorphaned without moving some definitions
round, as Error is currently higher up the hierarchy than Monad and
Either. Also, it's not clear to me if it too is deliberately orphaned.
This one:
> libraries/base/GHC/Base.lhs:{-# OPTIONS_GHC -fno-warn-orphans #-}
is now mostly rules such as:
Orphan rule: "x# -# x#" ALWAYS forall x# :: Int# -# x# x# = 0
Should they be wired in instead?
This one I think can be fixed; I'll look further into it:
> libraries/base/GHC/Float.lhs:{-# OPTIONS_GHC -fno-warn-orphans #-}
Same for this one:
> libraries/base/GHC/Num.lhs:{-# OPTIONS_GHC -fno-warn-orphans #-}
This is just a test, so I think we can ignore it:
> libraries/Cabal/tests/Test/Distribution/Version.hs:{-# OPTIONS_GHC
> -fno-warn-orphans -fno-warn-incomplete-patterns #-}
Thanks
Ian
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc