Thanks. That's progress.

| 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 #-}

Let's leave them be.

| 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.

At least let's comment the -fno-warn-orphans flag to indicate that this is the 
kind of bad instance, and why its not easy to fix.

| > 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?

GHC.Base doesn't really matter; we always read it anyway.

Simon

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to