summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/basicTypes/Literal.lhs2
-rw-r--r--compiler/cmm/CmmBrokenBlock.hs2
-rw-r--r--compiler/cmm/CmmBuildInfoTables.hs4
-rw-r--r--compiler/cmm/CmmCPS.hs2
-rw-r--r--compiler/cmm/CmmCPSGen.hs2
-rw-r--r--compiler/cmm/CmmCPSZ.hs4
-rw-r--r--compiler/cmm/CmmCommonBlockElimZ.hs6
-rw-r--r--compiler/cmm/CmmContFlowOpt.hs2
-rw-r--r--compiler/cmm/CmmCvt.hs2
-rw-r--r--compiler/cmm/CmmLint.hs2
-rw-r--r--compiler/cmm/CmmLiveZ.hs2
-rw-r--r--compiler/cmm/CmmProcPointZ.hs4
-rw-r--r--compiler/cmm/CmmSpillReload.hs4
-rw-r--r--compiler/cmm/CmmStackLayout.hs2
-rw-r--r--compiler/cmm/OptimizationFuel.hs2
-rw-r--r--compiler/cmm/PprCmmZ.hs2
-rw-r--r--compiler/cmm/ZipCfg.hs2
-rw-r--r--compiler/cmm/ZipCfgCmmRep.hs2
-rw-r--r--compiler/codeGen/CgHpc.hs2
-rw-r--r--compiler/codeGen/StgCmmBind.hs2
-rw-r--r--compiler/codeGen/StgCmmCon.hs2
-rw-r--r--compiler/codeGen/StgCmmEnv.hs2
-rw-r--r--compiler/codeGen/StgCmmHpc.hs2
-rw-r--r--compiler/coreSyn/MkExternalCore.lhs2
-rw-r--r--compiler/coreSyn/PprExternalCore.lhs2
-rw-r--r--compiler/deSugar/Coverage.lhs2
-rw-r--r--compiler/deSugar/MatchLit.lhs2
-rw-r--r--compiler/ghc.cabal.in2
-rw-r--r--compiler/hsSyn/Convert.lhs2
-rw-r--r--compiler/main/CodeOutput.lhs7
-rw-r--r--compiler/main/HscStats.lhs3
-rw-r--r--compiler/main/SysTools.lhs2
-rw-r--r--compiler/nativeGen/AsmCodeGen.lhs1
-rw-r--r--compiler/parser/HaddockLex.x2
-rw-r--r--compiler/parser/LexCore.hs2
-rw-r--r--compiler/parser/Lexer.x2
-rw-r--r--compiler/parser/ParserCore.y2
-rw-r--r--compiler/parser/ParserCoreUtils.hs2
-rw-r--r--compiler/prelude/ForeignCall.lhs3
-rw-r--r--compiler/prelude/PrelInfo.lhs2
-rw-r--r--compiler/prelude/TysPrim.lhs2
-rw-r--r--compiler/prelude/TysWiredIn.lhs2
-rw-r--r--compiler/rename/RnBinds.lhs2
-rw-r--r--compiler/rename/RnEnv.lhs2
-rw-r--r--compiler/rename/RnExpr.lhs4
-rw-r--r--compiler/rename/RnNames.lhs4
-rw-r--r--compiler/rename/RnSource.lhs2
-rw-r--r--compiler/simplCore/FloatOut.lhs2
-rw-r--r--compiler/simplCore/SimplCore.lhs4
-rw-r--r--compiler/simplCore/SimplUtils.lhs2
-rw-r--r--compiler/specialise/SpecConstr.lhs2
-rw-r--r--compiler/typecheck/FamInst.lhs2
-rw-r--r--compiler/typecheck/TcClassDcl.lhs2
-rw-r--r--compiler/typecheck/TcDefaults.lhs2
-rw-r--r--compiler/typecheck/TcPat.lhs2
-rw-r--r--compiler/typecheck/TcRnDriver.lhs2
-rw-r--r--compiler/typecheck/TcSplice.lhs2
-rw-r--r--compiler/typecheck/TcTyClsDecls.lhs2
-rw-r--r--compiler/typecheck/TcTyDecls.lhs2
-rw-r--r--compiler/utils/Outputable.lhs3
60 files changed, 72 insertions, 73 deletions
diff --git a/compiler/basicTypes/Literal.lhs b/compiler/basicTypes/Literal.lhs
index d6e9274ae6..5cf8adb211 100644
--- a/compiler/basicTypes/Literal.lhs
+++ b/compiler/basicTypes/Literal.lhs
@@ -49,9 +49,9 @@ import FastTypes
import FastString
import BasicTypes
import Binary
-import Ratio
import Data.Int
+import Data.Ratio
import Data.Word
import Data.Char
\end{code}
diff --git a/compiler/cmm/CmmBrokenBlock.hs b/compiler/cmm/CmmBrokenBlock.hs
index ec9da97dc3..17b81783d6 100644
--- a/compiler/cmm/CmmBrokenBlock.hs
+++ b/compiler/cmm/CmmBrokenBlock.hs
@@ -23,7 +23,7 @@ import CgUtils (callerSaveVolatileRegs)
import ClosureInfo
import Maybes
-import List
+import Data.List
import Panic
import Unique
diff --git a/compiler/cmm/CmmBuildInfoTables.hs b/compiler/cmm/CmmBuildInfoTables.hs
index d2126cd05c..1a4a591d68 100644
--- a/compiler/cmm/CmmBuildInfoTables.hs
+++ b/compiler/cmm/CmmBuildInfoTables.hs
@@ -27,11 +27,11 @@ import FastString
import FiniteMap
import ForeignCall
import IdInfo
-import List (sortBy)
+import Data.List
import Maybes
import MkZipCfg
import MkZipCfgCmm hiding (CmmAGraph, CmmBlock, CmmTopZ, CmmZ, CmmGraph)
-import Monad
+import Control.Monad
import Name
import Outputable
import SMRep
diff --git a/compiler/cmm/CmmCPS.hs b/compiler/cmm/CmmCPS.hs
index 6a1dc40089..c5bcdc3215 100644
--- a/compiler/cmm/CmmCPS.hs
+++ b/compiler/cmm/CmmCPS.hs
@@ -31,7 +31,7 @@ import UniqSupply
import UniqSet
import Unique
-import Monad
+import Control.Monad
-----------------------------------------------------------------------------
-- |Top level driver for the CPS pass
diff --git a/compiler/cmm/CmmCPSGen.hs b/compiler/cmm/CmmCPSGen.hs
index dc43a831e6..eb754aeb23 100644
--- a/compiler/cmm/CmmCPSGen.hs
+++ b/compiler/cmm/CmmCPSGen.hs
@@ -23,7 +23,7 @@ import ForeignCall
import Constants
import StaticFlags
import Unique
-import Maybe
+import Data.Maybe
import FastString
import Panic
diff --git a/compiler/cmm/CmmCPSZ.hs b/compiler/cmm/CmmCPSZ.hs
index b5a25f8bd9..e44e3040f1 100644
--- a/compiler/cmm/CmmCPSZ.hs
+++ b/compiler/cmm/CmmCPSZ.hs
@@ -20,8 +20,8 @@ import DynFlags
import ErrUtils
import FiniteMap
import HscTypes
-import Maybe
-import Monad
+import Data.Maybe
+import Control.Monad
import Outputable
import StaticFlags
diff --git a/compiler/cmm/CmmCommonBlockElimZ.hs b/compiler/cmm/CmmCommonBlockElimZ.hs
index 4c144cf63c..90e70080f2 100644
--- a/compiler/cmm/CmmCommonBlockElimZ.hs
+++ b/compiler/cmm/CmmCommonBlockElimZ.hs
@@ -11,10 +11,10 @@ import ZipCfg
import ZipCfgCmmRep
import Data.Bits
+import qualified Data.List as List
import Data.Word
import FastString
-import List hiding (iterate)
-import Monad
+import Control.Monad
import Outputable
import UniqFM
import Unique
@@ -56,7 +56,7 @@ type State = (UniqFM [CmmBlock], BidMap)
common_block :: (Outputable h, Uniquable h) => State -> (h, CmmBlock) -> (Bool, State)
common_block (bmap, subst) (hash, b) =
case lookupUFM bmap hash of
- Just bs -> case (find (eqBlockBodyWith (eqBid subst) b) bs,
+ Just bs -> case (List.find (eqBlockBodyWith (eqBid subst) b) bs,
lookupBlockEnv subst bid) of
(Just b', Nothing) -> addSubst b'
(Just b', Just b'') | blockId b' /= b'' -> addSubst b'
diff --git a/compiler/cmm/CmmContFlowOpt.hs b/compiler/cmm/CmmContFlowOpt.hs
index 8ea8a3c426..e0d95552f9 100644
--- a/compiler/cmm/CmmContFlowOpt.hs
+++ b/compiler/cmm/CmmContFlowOpt.hs
@@ -14,7 +14,7 @@ import ZipCfg
import ZipCfgCmmRep
import Maybes
-import Monad
+import Control.Monad
import Outputable
import Prelude hiding (unzip, zip)
import Util
diff --git a/compiler/cmm/CmmCvt.hs b/compiler/cmm/CmmCvt.hs
index 016e725673..7f5de60f99 100644
--- a/compiler/cmm/CmmCvt.hs
+++ b/compiler/cmm/CmmCvt.hs
@@ -13,7 +13,7 @@ import PprCmm()
import qualified ZipCfg as G
import FastString
-import Monad
+import Control.Monad
import Outputable
import UniqSupply
diff --git a/compiler/cmm/CmmLint.hs b/compiler/cmm/CmmLint.hs
index c2c9b2ad89..2fc4a74daf 100644
--- a/compiler/cmm/CmmLint.hs
+++ b/compiler/cmm/CmmLint.hs
@@ -19,13 +19,13 @@ module CmmLint (
import BlockId
import Cmm
import CLabel
-import Maybe
import Outputable
import PprCmm
import Constants
import FastString
import Control.Monad
+import Data.Maybe
-- -----------------------------------------------------------------------------
-- Exported entry points:
diff --git a/compiler/cmm/CmmLiveZ.hs b/compiler/cmm/CmmLiveZ.hs
index 3d8f57054c..ea9b2e5079 100644
--- a/compiler/cmm/CmmLiveZ.hs
+++ b/compiler/cmm/CmmLiveZ.hs
@@ -11,7 +11,7 @@ import BlockId
import CmmExpr
import CmmTx
import DFMonad
-import Monad
+import Control.Monad
import PprCmm()
import PprCmmZ()
import ZipCfg
diff --git a/compiler/cmm/CmmProcPointZ.hs b/compiler/cmm/CmmProcPointZ.hs
index 138626765b..c34f041bed 100644
--- a/compiler/cmm/CmmProcPointZ.hs
+++ b/compiler/cmm/CmmProcPointZ.hs
@@ -16,11 +16,11 @@ import CmmLiveZ
import CmmTx
import DFMonad
import FiniteMap
-import List (sortBy)
+import Data.List (sortBy)
import Maybes
import MkZipCfg
import MkZipCfgCmm hiding (CmmBlock, CmmGraph, CmmTopZ)
-import Monad
+import Control.Monad
import Outputable
import UniqSet
import UniqSupply
diff --git a/compiler/cmm/CmmSpillReload.hs b/compiler/cmm/CmmSpillReload.hs
index 1f88b7679a..c452525253 100644
--- a/compiler/cmm/CmmSpillReload.hs
+++ b/compiler/cmm/CmmSpillReload.hs
@@ -23,12 +23,12 @@ import ZipCfg
import ZipCfgCmmRep
import ZipDataflow
-import Monad
+import Control.Monad
import Outputable hiding (empty)
import qualified Outputable as PP
import UniqSet
-import Maybe
+import Data.Maybe
import Prelude hiding (zip)
-- The point of this module is to insert spills and reloads to
diff --git a/compiler/cmm/CmmStackLayout.hs b/compiler/cmm/CmmStackLayout.hs
index be16f19c06..ff00de807f 100644
--- a/compiler/cmm/CmmStackLayout.hs
+++ b/compiler/cmm/CmmStackLayout.hs
@@ -16,7 +16,7 @@ import FiniteMap
import Maybes
import MkZipCfg
import MkZipCfgCmm hiding (CmmBlock, CmmGraph)
-import Monad
+import Control.Monad
import Outputable
import SMRep (ByteOff)
import ZipCfg
diff --git a/compiler/cmm/OptimizationFuel.hs b/compiler/cmm/OptimizationFuel.hs
index 5e400c4009..83cb84e324 100644
--- a/compiler/cmm/OptimizationFuel.hs
+++ b/compiler/cmm/OptimizationFuel.hs
@@ -17,7 +17,7 @@ import ZipCfg
--import GHC.Exts (State#)
import Panic
import Data.IORef
-import Monad
+import Control.Monad
import StaticFlags (opt_Fuel)
import UniqSupply
diff --git a/compiler/cmm/PprCmmZ.hs b/compiler/cmm/PprCmmZ.hs
index 4d8cc5168e..075f0e457b 100644
--- a/compiler/cmm/PprCmmZ.hs
+++ b/compiler/cmm/PprCmmZ.hs
@@ -12,7 +12,7 @@ import qualified ZipCfgCmmRep as G
import qualified ZipCfg as Z
import CmmZipUtil
-import Maybe
+import Data.Maybe
import FastString
----------------------------------------------------------------
diff --git a/compiler/cmm/ZipCfg.hs b/compiler/cmm/ZipCfg.hs
index 3a5932cadd..376ab3ea52 100644
--- a/compiler/cmm/ZipCfg.hs
+++ b/compiler/cmm/ZipCfg.hs
@@ -45,7 +45,7 @@ import PprCmm()
import Outputable hiding (empty)
-import Maybe
+import Data.Maybe
import Prelude hiding (zip, unzip, last)
-------------------------------------------------------------------------
diff --git a/compiler/cmm/ZipCfgCmmRep.hs b/compiler/cmm/ZipCfgCmmRep.hs
index f99a7eb387..d5496a7ff8 100644
--- a/compiler/cmm/ZipCfgCmmRep.hs
+++ b/compiler/cmm/ZipCfgCmmRep.hs
@@ -36,7 +36,7 @@ import Util
import BasicTypes
import Maybes
-import Monad
+import Control.Monad
import Outputable
import Prelude hiding (zip, unzip, last)
import SMRep (ByteOff)
diff --git a/compiler/codeGen/CgHpc.hs b/compiler/codeGen/CgHpc.hs
index ce31717885..c66af03672 100644
--- a/compiler/codeGen/CgHpc.hs
+++ b/compiler/codeGen/CgHpc.hs
@@ -20,9 +20,9 @@ import ClosureInfo
import FastString
import HscTypes
import Panic
-import Char
import BasicTypes
+import Data.Char
import Data.Word
cgTickBox :: Module -> Int -> Code
diff --git a/compiler/codeGen/StgCmmBind.hs b/compiler/codeGen/StgCmmBind.hs
index 64d3ef1794..379c4c42b4 100644
--- a/compiler/codeGen/StgCmmBind.hs
+++ b/compiler/codeGen/StgCmmBind.hs
@@ -36,7 +36,7 @@ import CLabel
import StgSyn
import CostCentre
import Id
-import Monad (foldM, liftM)
+import Control.Monad
import Name
import Module
import ListSetOps
diff --git a/compiler/codeGen/StgCmmCon.hs b/compiler/codeGen/StgCmmCon.hs
index beff73e9e0..9039d64daf 100644
--- a/compiler/codeGen/StgCmmCon.hs
+++ b/compiler/codeGen/StgCmmCon.hs
@@ -38,7 +38,7 @@ import Literal
import PrelInfo
import Outputable
import Util ( lengthIs )
-import Char ( ord )
+import Data.Char
---------------------------------------------------------------
diff --git a/compiler/codeGen/StgCmmEnv.hs b/compiler/codeGen/StgCmmEnv.hs
index a1ba606584..cd94c58daa 100644
--- a/compiler/codeGen/StgCmmEnv.hs
+++ b/compiler/codeGen/StgCmmEnv.hs
@@ -41,7 +41,7 @@ import FastString
import PprCmm ( {- instance Outputable -} )
import Id
import VarEnv
-import Monad
+import Control.Monad
import Name
import StgSyn
import Outputable
diff --git a/compiler/codeGen/StgCmmHpc.hs b/compiler/codeGen/StgCmmHpc.hs
index ab95a66cd0..e78acb78b7 100644
--- a/compiler/codeGen/StgCmmHpc.hs
+++ b/compiler/codeGen/StgCmmHpc.hs
@@ -19,7 +19,7 @@ import Module
import CmmUtils
import FastString
import HscTypes
-import Char
+import Data.Char
import StaticFlags
import BasicTypes
diff --git a/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs
index fc49c2b17b..f6a5c51051 100644
--- a/compiler/coreSyn/MkExternalCore.lhs
+++ b/compiler/coreSyn/MkExternalCore.lhs
@@ -28,8 +28,8 @@ import ForeignCall
import DynFlags
import FastString
-import IO
import Data.Char
+import System.IO
emitExternalCore :: DynFlags -> CgGuts -> IO ()
emitExternalCore dflags cg_guts
diff --git a/compiler/coreSyn/PprExternalCore.lhs b/compiler/coreSyn/PprExternalCore.lhs
index 76ef6da9bb..e33c7a018e 100644
--- a/compiler/coreSyn/PprExternalCore.lhs
+++ b/compiler/coreSyn/PprExternalCore.lhs
@@ -9,7 +9,7 @@ import Encoding
import ExternalCore
import Pretty
-import Char
+import Data.Char
instance Show Module where
showsPrec _ m = shows (pmodule m)
diff --git a/compiler/deSugar/Coverage.lhs b/compiler/deSugar/Coverage.lhs
index f31b2c897b..dce7962fcf 100644
--- a/compiler/deSugar/Coverage.lhs
+++ b/compiler/deSugar/Coverage.lhs
@@ -11,7 +11,7 @@ import HsSyn
import Module
import Outputable
import DynFlags
-import Monad
+import Control.Monad
import SrcLoc
import ErrUtils
import Name
diff --git a/compiler/deSugar/MatchLit.lhs b/compiler/deSugar/MatchLit.lhs
index be8ea2313f..5e5e81d2ba 100644
--- a/compiler/deSugar/MatchLit.lhs
+++ b/compiler/deSugar/MatchLit.lhs
@@ -31,7 +31,7 @@ import PrelNames
import TysWiredIn
import Literal
import SrcLoc
-import Ratio
+import Data.Ratio
import Outputable
import Util
import FastString
diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in
index ebf694fafd..67273a11ae 100644
--- a/compiler/ghc.cabal.in
+++ b/compiler/ghc.cabal.in
@@ -72,7 +72,7 @@ Library
array >= 0.1 && < 0.3
Build-Depends: filepath >= 1 && < 1.2
- Build-Depends: haskell98, Cabal, hpc
+ Build-Depends: Cabal, hpc
if os(windows)
Build-Depends: Win32
else
diff --git a/compiler/hsSyn/Convert.lhs b/compiler/hsSyn/Convert.lhs
index c443fcf7de..e31a677c05 100644
--- a/compiler/hsSyn/Convert.lhs
+++ b/compiler/hsSyn/Convert.lhs
@@ -22,7 +22,7 @@ import Type
import TysWiredIn
import BasicTypes as Hs
import ForeignCall
-import List
+import Data.List
import Unique
import MonadUtils
import ErrUtils
diff --git a/compiler/main/CodeOutput.lhs b/compiler/main/CodeOutput.lhs
index 3c82ea7508..d362fb4984 100644
--- a/compiler/main/CodeOutput.lhs
+++ b/compiler/main/CodeOutput.lhs
@@ -33,10 +33,11 @@ import Outputable
import Module
import Maybes ( firstJust )
-import Directory ( doesFileExist )
-import Monad ( when )
-import IO
+import Control.Exception
+import Control.Monad
+import System.Directory
import System.FilePath
+import System.IO
\end{code}
%************************************************************************
diff --git a/compiler/main/HscStats.lhs b/compiler/main/HscStats.lhs
index 3bcaac465a..9b5b01c5eb 100644
--- a/compiler/main/HscStats.lhs
+++ b/compiler/main/HscStats.lhs
@@ -11,10 +11,11 @@ module HscStats ( ppSourceStats ) where
import HsSyn
import Outputable
import SrcLoc
-import Char
import Bag
import Util
import RdrName
+
+import Data.Char
\end{code}
%************************************************************************
diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs
index 7a37b4c6d1..f793a17dcb 100644
--- a/compiler/main/SysTools.lhs
+++ b/compiler/main/SysTools.lhs
@@ -61,7 +61,7 @@ import Data.List
import qualified System.Posix.Internals
#else /* Must be Win32 */
import Foreign
-import CString ( CString, peekCString )
+import Foreign.C.String
#endif
import System.Process ( runInteractiveProcess, getProcessExitCode )
diff --git a/compiler/nativeGen/AsmCodeGen.lhs b/compiler/nativeGen/AsmCodeGen.lhs
index eafeec92df..b7e4797720 100644
--- a/compiler/nativeGen/AsmCodeGen.lhs
+++ b/compiler/nativeGen/AsmCodeGen.lhs
@@ -81,7 +81,6 @@ import State
import UniqFM
import Unique ( Unique, getUnique )
import UniqSupply
-import List ( groupBy, sortBy )
import DynFlags
#if powerpc_TARGET_ARCH
import StaticFlags ( opt_Static, opt_PIC )
diff --git a/compiler/parser/HaddockLex.x b/compiler/parser/HaddockLex.x
index d5e40f2577..da6dbd3706 100644
--- a/compiler/parser/HaddockLex.x
+++ b/compiler/parser/HaddockLex.x
@@ -26,7 +26,7 @@ import RdrName
import SrcLoc
import DynFlags
-import Char
+import Data.Char
import Numeric
import System.IO.Unsafe
}
diff --git a/compiler/parser/LexCore.hs b/compiler/parser/LexCore.hs
index c3e133966f..736450a21d 100644
--- a/compiler/parser/LexCore.hs
+++ b/compiler/parser/LexCore.hs
@@ -3,7 +3,7 @@ module LexCore where
import ParserCoreUtils
import Panic
-import Char
+import Data.Char
import Numeric
isNameChar :: Char -> Bool
diff --git a/compiler/parser/Lexer.x b/compiler/parser/Lexer.x
index e6de1e8ece..7f5c3a435d 100644
--- a/compiler/parser/Lexer.x
+++ b/compiler/parser/Lexer.x
@@ -57,7 +57,6 @@ module Lexer (
import Bag
import ErrUtils
-import Maybe
import Outputable
import StringBuffer
import FastString
@@ -71,6 +70,7 @@ import Control.Monad
import Data.Bits
import Data.Char
import Data.List
+import Data.Maybe
import Data.Map (Map)
import qualified Data.Map as Map
import Data.Ratio
diff --git a/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y
index 0f2bb97a1c..8ae9030e06 100644
--- a/compiler/parser/ParserCore.y
+++ b/compiler/parser/ParserCore.y
@@ -29,7 +29,7 @@ import TysPrim( wordPrimTyCon, intPrimTyCon, charPrimTyCon,
import TyCon ( TyCon, tyConName )
import FastString
import Outputable
-import Char
+import Data.Char
import Unique
#include "../HsVersions.h"
diff --git a/compiler/parser/ParserCoreUtils.hs b/compiler/parser/ParserCoreUtils.hs
index 124294bbb2..2c88aa79e3 100644
--- a/compiler/parser/ParserCoreUtils.hs
+++ b/compiler/parser/ParserCoreUtils.hs
@@ -1,6 +1,6 @@
module ParserCoreUtils where
-import IO
+import System.IO
data ParseResult a = OkP a | FailP String
type P a = String -> Int -> ParseResult a
diff --git a/compiler/prelude/ForeignCall.lhs b/compiler/prelude/ForeignCall.lhs
index 015b28e2fe..a6047a57a0 100644
--- a/compiler/prelude/ForeignCall.lhs
+++ b/compiler/prelude/ForeignCall.lhs
@@ -25,9 +25,10 @@ module ForeignCall (
) where
import FastString
-import Char ( isAlphaNum )
import Binary
import Outputable
+
+import Data.Char
\end{code}
diff --git a/compiler/prelude/PrelInfo.lhs b/compiler/prelude/PrelInfo.lhs
index 96d8c8cb9f..dbeb6de00b 100644
--- a/compiler/prelude/PrelInfo.lhs
+++ b/compiler/prelude/PrelInfo.lhs
@@ -38,7 +38,7 @@ import Type ( funTyCon )
import TyCon ( tyConName )
import Util ( isIn )
-import Array ( Array, array, (!) )
+import Data.Array
\end{code}
%************************************************************************
diff --git a/compiler/prelude/TysPrim.lhs b/compiler/prelude/TysPrim.lhs
index 6e74fd987d..af535d3028 100644
--- a/compiler/prelude/TysPrim.lhs
+++ b/compiler/prelude/TysPrim.lhs
@@ -58,7 +58,7 @@ import StaticFlags
import FastString
import Outputable
-import Char ( ord, chr )
+import Data.Char
\end{code}
%************************************************************************
diff --git a/compiler/prelude/TysWiredIn.lhs b/compiler/prelude/TysWiredIn.lhs
index ed37945929..83c3f45022 100644
--- a/compiler/prelude/TysWiredIn.lhs
+++ b/compiler/prelude/TysWiredIn.lhs
@@ -86,7 +86,7 @@ import Coercion ( unsafeCoercionTyCon, symCoercionTyCon,
import TypeRep ( mkArrowKinds, liftedTypeKind, ubxTupleKind )
import Unique ( incrUnique, mkTupleTyConUnique,
mkTupleDataConUnique, mkPArrDataConUnique )
-import Array
+import Data.Array
import FastString
import Outputable
diff --git a/compiler/rename/RnBinds.lhs b/compiler/rename/RnBinds.lhs
index 0dcd42168e..d7865f45c0 100644
--- a/compiler/rename/RnBinds.lhs
+++ b/compiler/rename/RnBinds.lhs
@@ -42,7 +42,7 @@ import Outputable
import FastString
import Data.List ( partition )
import Maybes ( orElse )
-import Monad ( foldM, unless )
+import Control.Monad
\end{code}
-- ToDo: Put the annotations into the monad, so that they arrive in the proper
diff --git a/compiler/rename/RnEnv.lhs b/compiler/rename/RnEnv.lhs
index 955786b323..414a717dd7 100644
--- a/compiler/rename/RnEnv.lhs
+++ b/compiler/rename/RnEnv.lhs
@@ -64,10 +64,10 @@ import Outputable
import Util
import Maybes
import ListSetOps ( removeDups )
-import List ( nubBy )
import DynFlags
import FastString
import Control.Monad
+import Data.List
import qualified Data.Set as Set
\end{code}
diff --git a/compiler/rename/RnExpr.lhs b/compiler/rename/RnExpr.lhs
index 12e96d89c9..beee03730d 100644
--- a/compiler/rename/RnExpr.lhs
+++ b/compiler/rename/RnExpr.lhs
@@ -41,15 +41,13 @@ import NameSet
import RdrName
import LoadIface ( loadInterfaceForName )
import UniqSet
-import List ( nub )
+import Data.List
import Util ( isSingleton )
import ListSetOps ( removeDups )
import Maybes ( expectJust )
import Outputable
import SrcLoc
import FastString
-
-import List ( unzip4 )
\end{code}
diff --git a/compiler/rename/RnNames.lhs b/compiler/rename/RnNames.lhs
index 63f29d9af0..c30fdd9fcf 100644
--- a/compiler/rename/RnNames.lhs
+++ b/compiler/rename/RnNames.lhs
@@ -38,8 +38,8 @@ import FastString
import ListSetOps
import Data.List ( partition, (\\), delete )
import qualified Data.Set as Set
-import IO ( openFile, IOMode(..) )
-import Monad ( when, mplus )
+import System.IO
+import Control.Monad
\end{code}
diff --git a/compiler/rename/RnSource.lhs b/compiler/rename/RnSource.lhs
index e2adb338bc..9f8ea7dbbe 100644
--- a/compiler/rename/RnSource.lhs
+++ b/compiler/rename/RnSource.lhs
@@ -42,12 +42,12 @@ import Bag
import FastString
import SrcLoc
import DynFlags ( DynFlag(..) )
-import Maybe ( isNothing )
import BasicTypes ( Boxity(..) )
import ListSetOps (findDupsEq)
import Control.Monad
+import Data.Maybe
\end{code}
\begin{code}
diff --git a/compiler/simplCore/FloatOut.lhs b/compiler/simplCore/FloatOut.lhs
index 6562c84e8c..27a39dfdc2 100644
--- a/compiler/simplCore/FloatOut.lhs
+++ b/compiler/simplCore/FloatOut.lhs
@@ -19,7 +19,7 @@ import Type ( isUnLiftedType )
import SetLevels ( Level(..), LevelledExpr, LevelledBind,
setLevels, ltMajLvl, ltLvl, isTopLvl )
import UniqSupply ( UniqSupply )
-import List ( partition )
+import Data.List
import Outputable
import FastString
\end{code}
diff --git a/compiler/simplCore/SimplCore.lhs b/compiler/simplCore/SimplCore.lhs
index bd1c920f0f..7d2226f7e0 100644
--- a/compiler/simplCore/SimplCore.lhs
+++ b/compiler/simplCore/SimplCore.lhs
@@ -61,10 +61,10 @@ import FastString
import Util
import UniqSupply ( UniqSupply, mkSplitUniqSupply, splitUniqSupply )
-import IO ( hPutStr, stderr )
import Outputable
import Control.Monad
-import List ( partition, intersperse )
+import Data.List
+import System.IO
import Maybes
\end{code}
diff --git a/compiler/simplCore/SimplUtils.lhs b/compiler/simplCore/SimplUtils.lhs
index 48787dceb0..663f543b2c 100644
--- a/compiler/simplCore/SimplUtils.lhs
+++ b/compiler/simplCore/SimplUtils.lhs
@@ -52,7 +52,7 @@ import MonadUtils
import Outputable
import FastString
-import List( nub )
+import Data.List
\end{code}
diff --git a/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs
index 5357a53539..bd70e284ed 100644
--- a/compiler/specialise/SpecConstr.lhs
+++ b/compiler/specialise/SpecConstr.lhs
@@ -38,13 +38,13 @@ import StaticFlags ( opt_SpecInlineJoinPoints )
import BasicTypes ( Activation(..) )
import Maybes ( orElse, catMaybes, isJust, isNothing )
import Util
-import List ( nubBy, partition )
import UniqSupply
import Outputable
import FastString
import UniqFM
import MonadUtils
import Control.Monad ( zipWithM )
+import Data.List
\end{code}
-----------------------------------------------------
diff --git a/compiler/typecheck/FamInst.lhs b/compiler/typecheck/FamInst.lhs
index 609c0ba008..45de3f0392 100644
--- a/compiler/typecheck/FamInst.lhs
+++ b/compiler/typecheck/FamInst.lhs
@@ -20,7 +20,7 @@ import FiniteMap
import FastString
import Maybes
-import Monad
+import Control.Monad
\end{code}
diff --git a/compiler/typecheck/TcClassDcl.lhs b/compiler/typecheck/TcClassDcl.lhs
index 18d202228b..33b02dec5d 100644
--- a/compiler/typecheck/TcClassDcl.lhs
+++ b/compiler/typecheck/TcClassDcl.lhs
@@ -45,12 +45,12 @@ import Util
import ListSetOps
import SrcLoc
import Maybes
-import List
import BasicTypes
import Bag
import FastString
import Control.Monad
+import Data.List
\end{code}
diff --git a/compiler/typecheck/TcDefaults.lhs b/compiler/typecheck/TcDefaults.lhs
index 74a1769eae..9d1f85aaf7 100644
--- a/compiler/typecheck/TcDefaults.lhs
+++ b/compiler/typecheck/TcDefaults.lhs
@@ -18,7 +18,7 @@ import TcType
import PrelNames
import DynFlags
import SrcLoc
-import Maybe
+import Data.Maybe
import Outputable
import FastString
\end{code}
diff --git a/compiler/typecheck/TcPat.lhs b/compiler/typecheck/TcPat.lhs
index 3423196ad8..5a54f8dc8f 100644
--- a/compiler/typecheck/TcPat.lhs
+++ b/compiler/typecheck/TcPat.lhs
@@ -42,7 +42,7 @@ import ErrUtils
import Util
import Outputable
import FastString
-import Monad
+import Control.Monad
\end{code}
diff --git a/compiler/typecheck/TcRnDriver.lhs b/compiler/typecheck/TcRnDriver.lhs
index 30574ae706..031d4a7434 100644
--- a/compiler/typecheck/TcRnDriver.lhs
+++ b/compiler/typecheck/TcRnDriver.lhs
@@ -25,7 +25,7 @@ module TcRnDriver (
tcRnExtCore
) where
-import IO
+import System.IO
#ifdef GHCI
import {-# SOURCE #-} TcSplice ( tcSpliceDecls )
#endif
diff --git a/compiler/typecheck/TcSplice.lhs b/compiler/typecheck/TcSplice.lhs
index bbb76a4a23..e03993aab3 100644
--- a/compiler/typecheck/TcSplice.lhs
+++ b/compiler/typecheck/TcSplice.lhs
@@ -64,7 +64,7 @@ import ErrUtils
import SrcLoc
import Outputable
import Unique
-import Maybe
+import Data.Maybe
import BasicTypes
import Panic
import FastString
diff --git a/compiler/typecheck/TcTyClsDecls.lhs b/compiler/typecheck/TcTyClsDecls.lhs
index b03870eae9..bc20d3d8d9 100644
--- a/compiler/typecheck/TcTyClsDecls.lhs
+++ b/compiler/typecheck/TcTyClsDecls.lhs
@@ -37,7 +37,6 @@ import VarSet
import Name
import Outputable
import Maybes
-import Monad
import Unify
import Util
import SrcLoc
@@ -49,6 +48,7 @@ import Unique ( mkBuiltinUnique )
import BasicTypes
import Bag
+import Control.Monad
import Data.List
\end{code}
diff --git a/compiler/typecheck/TcTyDecls.lhs b/compiler/typecheck/TcTyDecls.lhs
index 9b0e681ba8..2366731632 100644
--- a/compiler/typecheck/TcTyDecls.lhs
+++ b/compiler/typecheck/TcTyDecls.lhs
@@ -32,7 +32,7 @@ import BasicTypes
import SrcLoc
import Outputable
import Util ( isSingleton )
-import List ( partition )
+import Data.List
\end{code}
diff --git a/compiler/utils/Outputable.lhs b/compiler/utils/Outputable.lhs
index 5842c63d03..7350f0ad89 100644
--- a/compiler/utils/Outputable.lhs
+++ b/compiler/utils/Outputable.lhs
@@ -71,12 +71,11 @@ import FastString
import FastTypes
import qualified Pretty
import Pretty ( Doc, Mode(..) )
-import Char ( isAlpha )
import Panic
+import Data.Char
import Data.Word ( Word32 )
import System.IO ( Handle, stderr, stdout, hFlush )
-import Data.Char ( ord )
import System.FilePath
\end{code}