MonadError seems to have been redefined in 5.02 to have a fundep: 5.00.2:
class (Monad m) => MonadError e m 5.02: class (Monad m) => MonadError e m | m -> e Why? Perhaps the IO Monad can have only one kind or level of error, but why can't other Monads have more? Anyway, because of GHC's naive instance overlapping checking, it broke my code: instance (JVMMonad m) => MonadError ThrowableRef m where { throwError = jvmThrow; catchError = jvmCatch; }; because GHC thinks it might overlap with the Prelude's instance MonadError Exception IO -- Ashley Yakeley, Seattle WA _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users