X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Futils%2FIOEnv.hs;fp=compiler%2Futils%2FIOEnv.hs;h=5f354f0e4d96ee84d14bce08271b1b3cc4d8008c;hp=305e30eed7fded9287b8d1ebaef3811ca9b7d215;hb=2b670a7983da26c0f186d5ebdf195e47a39ee60e;hpb=904addb860eab8d1d46cea0994b67485be1c8890 diff --git a/compiler/utils/IOEnv.hs b/compiler/utils/IOEnv.hs index 305e30e..5f354f0 100644 --- a/compiler/utils/IOEnv.hs +++ b/compiler/utils/IOEnv.hs @@ -139,9 +139,15 @@ unsafeInterleaveM (IOEnv m) = IOEnv (\ env -> unsafeInterleaveIO (m env)) -- For use if the user has imported Control.Monad.Error from MTL -- Requires UndecidableInstances +#if __GLASGOW_HASKELL__ > 606 +-- for some reason, this doesn't compile with GHC 6.6: +-- utils/IOEnv.hs:144:33: +-- No instance for (MonadPlus IO) +-- arising from use of `mplus' at utils/IOEnv.hs:144:33-67 instance MonadPlus IO => MonadPlus (IOEnv env) where mzero = IOEnv (const mzero) m `mplus` n = IOEnv (\env -> unIOEnv m env `mplus` unIOEnv n env) +#endif ---------------------------------------------------------------------- -- Accessing input/output