summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2009-05-24 20:44:12 +0000
committerIan Lynagh <igloo@earth.li>2009-05-24 20:44:12 +0000
commit893a3c0ad6c39caf71ac28af900733513e1f153e (patch)
tree9f5611d6da315eaab7ac1edb6a025d5094a1d361 /compiler
parentde8c33e4158b0f019da60d4b52ae2cbd7cb9fafc (diff)
downloadhaskell-893a3c0ad6c39caf71ac28af900733513e1f153e.tar.gz
Remove legacy code that isn't used now that we require GHC >= 6.8
Diffstat (limited to 'compiler')
-rw-r--r--compiler/basicTypes/UniqSupply.lhs6
-rw-r--r--compiler/simplCore/CoreMonad.lhs3
-rw-r--r--compiler/utils/FastFunctions.lhs8
-rw-r--r--compiler/utils/IOEnv.hs6
4 files changed, 0 insertions, 23 deletions
diff --git a/compiler/basicTypes/UniqSupply.lhs b/compiler/basicTypes/UniqSupply.lhs
index 774d2d2b20..cb1a1fc69f 100644
--- a/compiler/basicTypes/UniqSupply.lhs
+++ b/compiler/basicTypes/UniqSupply.lhs
@@ -31,13 +31,7 @@ import FastTypes
import MonadUtils
import Control.Monad
import Control.Monad.Fix
-#if __GLASGOW_HASKELL__ >= 607
import GHC.IOBase (unsafeDupableInterleaveIO)
-#else
-import System.IO.Unsafe ( unsafeInterleaveIO )
-unsafeDupableInterleaveIO :: IO a -> IO a
-unsafeDupableInterleaveIO = unsafeInterleaveIO
-#endif
\end{code}
diff --git a/compiler/simplCore/CoreMonad.lhs b/compiler/simplCore/CoreMonad.lhs
index 90b062f1f0..ae45ba4079 100644
--- a/compiler/simplCore/CoreMonad.lhs
+++ b/compiler/simplCore/CoreMonad.lhs
@@ -125,12 +125,9 @@ instance Applicative CoreM where
-- For use if the user has imported Control.Monad.Error from MTL
-- Requires UndecidableInstances
-#if __GLASGOW_HASKELL__ > 606
--- see instance MonadPlus IOEnv
instance MonadPlus IO => MonadPlus CoreM where
mzero = CoreM (const mzero)
m `mplus` n = CoreM (\rs -> unCoreM m rs `mplus` unCoreM n rs)
-#endif
instance MonadUnique CoreM where
getUniqueSupplyM = do
diff --git a/compiler/utils/FastFunctions.lhs b/compiler/utils/FastFunctions.lhs
index aca5344bc8..86c89bd9c7 100644
--- a/compiler/utils/FastFunctions.lhs
+++ b/compiler/utils/FastFunctions.lhs
@@ -23,17 +23,9 @@ import System.IO.Unsafe
import GHC.Exts
import GHC.Word
import GHC.IOBase (IO(..))
---why not import it at __GLASGOW_HASKELL__==606 ?
-#if __GLASGOW_HASKELL__ >= 607
import GHC.IOBase (unsafeDupableInterleaveIO)
-#endif
import GHC.Base (unsafeChr)
-#if __GLASGOW_HASKELL__ < 607
-unsafeDupableInterleaveIO :: IO a -> IO a
-unsafeDupableInterleaveIO = unsafeInterleaveIO
-#endif
-
-- Just like unsafePerformIO, but we inline it.
{-# INLINE inlinePerformIO #-}
inlinePerformIO :: IO a -> a
diff --git a/compiler/utils/IOEnv.hs b/compiler/utils/IOEnv.hs
index 5f354f0e4d..305e30eed7 100644
--- a/compiler/utils/IOEnv.hs
+++ b/compiler/utils/IOEnv.hs
@@ -139,15 +139,9 @@ 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