Drop pre-AMP compatibility CPP conditionals
authorHerbert Valerio Riedel <hvr@gnu.org>
Thu, 31 Dec 2015 12:47:43 +0000 (13:47 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Thu, 31 Dec 2015 21:35:50 +0000 (22:35 +0100)
Since GHC 8.1/8.2 only needs to be bootstrap-able by GHC 7.10 and
GHC 8.0 (and GHC 8.2), we can now finally drop all that pre-AMP
compatibility CPP-mess for good!

Reviewers: austin, goldfire, bgamari

Subscribers: goldfire, thomie, erikd

Differential Revision: https://phabricator.haskell.org/D1724

76 files changed:
compiler/basicTypes/ConLike.hs
compiler/basicTypes/FieldLabel.hs
compiler/basicTypes/SrcLoc.hs
compiler/cmm/CmmLayoutStack.hs
compiler/cmm/CmmLint.hs
compiler/cmm/PprC.hs
compiler/codeGen/StgCmmBind.hs
compiler/codeGen/StgCmmExpr.hs
compiler/codeGen/StgCmmExtCode.hs
compiler/codeGen/StgCmmForeign.hs
compiler/codeGen/StgCmmHeap.hs
compiler/codeGen/StgCmmLayout.hs
compiler/codeGen/StgCmmPrim.hs
compiler/coreSyn/CorePrep.hs
compiler/coreSyn/MkCore.hs
compiler/deSugar/MatchLit.hs
compiler/deSugar/PmExpr.hs
compiler/ghci/ByteCodeAsm.hs
compiler/ghci/ByteCodeGen.hs
compiler/ghci/RtClosureInspect.hs
compiler/hsSyn/Convert.hs
compiler/hsSyn/HsBinds.hs
compiler/hsSyn/HsDecls.hs
compiler/hsSyn/HsUtils.hs
compiler/iface/TcIface.hs
compiler/llvmGen/LlvmCodeGen/Base.hs
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
compiler/main/CmdLineParser.hs
compiler/main/DynFlags.hs
compiler/main/GHC.hs
compiler/main/GhcMonad.hs
compiler/main/Packages.hs
compiler/nativeGen/AsmCodeGen.hs
compiler/nativeGen/NCGMonad.hs
compiler/nativeGen/RegAlloc/Linear/State.hs
compiler/parser/Lexer.x
compiler/parser/RdrHsSyn.hs
compiler/prelude/PrelRules.hs
compiler/profiling/SCCfinal.hs
compiler/rename/RnBinds.hs
compiler/rename/RnSource.hs
compiler/rename/RnTypes.hs
compiler/specialise/Specialise.hs
compiler/stgSyn/StgLint.hs
compiler/typecheck/FamInst.hs
compiler/typecheck/FunDeps.hs
compiler/typecheck/TcCanonical.hs
compiler/typecheck/TcErrors.hs
compiler/typecheck/TcEvidence.hs
compiler/typecheck/TcFlatten.hs
compiler/typecheck/TcGenDeriv.hs
compiler/typecheck/TcHsSyn.hs
compiler/typecheck/TcMatches.hs
compiler/typecheck/TcPatSyn.hs
compiler/typecheck/TcSimplify.hs
compiler/typecheck/TcTyClsDecls.hs
compiler/typecheck/TcType.hs
compiler/typecheck/TcTypeNats.hs
compiler/types/Coercion.hs
compiler/types/InstEnv.hs
compiler/types/Type.hs
compiler/types/Unify.hs
compiler/utils/BooleanFormula.hs
compiler/utils/FastString.hs
compiler/utils/OrdList.hs
compiler/utils/Pair.hs
compiler/utils/State.hs
compiler/utils/Stream.hs
compiler/utils/StringBuffer.hs
compiler/utils/UniqFM.hs
compiler/utils/Util.hs
compiler/vectorise/Vectorise/Exp.hs
configure.ac
libraries/template-haskell/Language/Haskell/TH/PprLib.hs
libraries/template-haskell/Language/Haskell/TH/Syntax.hs
utils/ghc-pkg/Main.hs

index 09ad68b..c25f822 100644 (file)
@@ -39,9 +39,6 @@ import Type (mkTyConApp)
 import Data.Function (on)
 import qualified Data.Data as Data
 import qualified Data.Typeable
-#if __GLASGOW_HASKELL__ <= 708
-import Control.Applicative ((<$>))
-#endif
 
 {-
 ************************************************************************
index 74ce603..922c3d3 100644 (file)
@@ -56,7 +56,6 @@ Of course, datatypes with no constructors cannot have any fields.
 
 -}
 
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE DeriveFunctor #-}
 {-# LANGUAGE DeriveFoldable #-}
@@ -79,11 +78,6 @@ import Binary
 
 import Data.Data
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Foldable ( Foldable )
-import Data.Traversable ( Traversable )
-#endif
-
 -- | Field labels are just represented as strings;
 -- they are not necessarily unique (even within a module)
 type FieldLabelString = FastString
index 524da78..04f7ec9 100644 (file)
@@ -1,6 +1,5 @@
 -- (c) The University of Glasgow, 1992-2006
 
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE StandaloneDeriving #-}
 {-# LANGUAGE DeriveFunctor      #-}
@@ -85,10 +84,6 @@ import Util
 import Outputable
 import FastString
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Foldable ( Foldable )
-import Data.Traversable ( Traversable )
-#endif
 import Data.Bits
 import Data.Data
 import Data.List
index 53cfd11..e87b714 100644 (file)
@@ -33,9 +33,7 @@ import Data.Bits
 import Data.List (nub)
 import Control.Monad (liftM)
 
-#if __GLASGOW_HASKELL__ >= 709
 import Prelude hiding ((<*>))
-#endif
 
 #include "HsVersions.h"
 
index a2ccfbe..3f85053 100644 (file)
@@ -5,7 +5,7 @@
 -- CmmLint: checking the correctness of Cmm statements and expressions
 --
 -----------------------------------------------------------------------------
-{-# LANGUAGE GADTs, CPP #-}
+{-# LANGUAGE GADTs #-}
 module CmmLint (
     cmmLint, cmmLintGraph
   ) where
@@ -22,9 +22,6 @@ import Outputable
 import DynFlags
 
 import Control.Monad (liftM, ap)
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 
 -- Things to check:
 --     - invariant on CmmBlock in CmmExpr (see comment there)
index 719d753..af24b17 100644 (file)
@@ -55,10 +55,6 @@ import Data.Word
 import System.IO
 import qualified Data.Map as Map
 import Control.Monad (liftM, ap)
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
-
 import qualified Data.Array.Unsafe as U ( castSTUArray )
 import Data.Array.ST
 
index 9cedfcd..fde662b 100644 (file)
@@ -52,9 +52,7 @@ import DynFlags
 
 import Control.Monad
 
-#if __GLASGOW_HASKELL__ >= 709
 import Prelude hiding ((<*>))
-#endif
 
 ------------------------------------------------------------------------
 --              Top-level bindings
index de23443..c4ff11a 100644 (file)
@@ -50,9 +50,7 @@ import Outputable
 import Control.Monad (unless,void)
 import Control.Arrow (first)
 
-#if __GLASGOW_HASKELL__ >= 709
 import Prelude hiding ((<*>))
-#endif
 
 ------------------------------------------------------------------------
 --              cgExpr: the main function
index 5001598..db03a38 100644 (file)
@@ -1,5 +1,3 @@
-{-# LANGUAGE CPP #-}
-
 -- | Our extended FCode monad.
 
 -- We add a mapping from names to CmmExpr, to support local variable names in
@@ -54,9 +52,6 @@ import UniqFM
 import Unique
 
 import Control.Monad (liftM, ap)
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 
 -- | The environment contains variable definitions or blockids.
 data Named
index 285e92c..1dc430d 100644 (file)
@@ -45,11 +45,7 @@ import BasicTypes
 
 import Control.Monad
 
-#if __GLASGOW_HASKELL__ >= 709
 import Prelude hiding( succ, (<*>) )
-#else
-import Prelude hiding( succ )
-#endif
 
 -----------------------------------------------------------------------------
 -- Code generation for Foreign Calls
index bcc5221..ebff440 100644 (file)
@@ -48,9 +48,7 @@ import DynFlags
 import FastString( mkFastString, fsLit )
 import Panic( sorry )
 
-#if __GLASGOW_HASKELL__ >= 709
 import Prelude hiding ((<*>))
-#endif
 
 import Control.Monad (when)
 import Data.Maybe (isJust)
index b46ab5a..47ee370 100644 (file)
@@ -25,9 +25,7 @@ module StgCmmLayout (
 
 #include "HsVersions.h"
 
-#if __GLASGOW_HASKELL__ >= 709
 import Prelude hiding ((<*>))
-#endif
 
 import StgCmmClosure
 import StgCmmEnv
index 5d3b94f..84f263c 100644 (file)
@@ -43,9 +43,7 @@ import FastString
 import Outputable
 import Util
 
-#if __GLASGOW_HASKELL__ >= 709
 import Prelude hiding ((<*>))
-#endif
 
 import Data.Bits ((.&.), bit)
 import Control.Monad (liftM, when)
index 8b4b13b..adaad61 100644 (file)
@@ -61,10 +61,6 @@ import MonadUtils       ( mapAccumLM )
 import Data.List        ( mapAccumL )
 import Control.Monad
 
-#if __GLASGOW_HASKELL__ < 710
-import Control.Applicative
-#endif
-
 {-
 -- ---------------------------------------------------------------------------
 -- Overview
index 2f1b67f..0aac992 100644 (file)
@@ -80,9 +80,6 @@ import DynFlags
 import Data.List
 
 import Data.Char        ( ord )
-#if __GLASGOW_HASKELL__ < 709
-import Data.Word        ( Word )
-#endif
 
 infixl 4 `mkCoreApp`, `mkCoreApps`
 
index 8fe1b05..301d3a6 100644 (file)
@@ -47,9 +47,6 @@ import qualified GHC.LanguageExtensions as LangExt
 
 import Control.Monad
 import Data.Int
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable (traverse)
-#endif
 import Data.Word
 
 {-
index 243665b..56e7eb8 100644 (file)
@@ -25,9 +25,6 @@ import SrcLoc
 import FastString -- sLit
 import VarSet
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Functor ((<$>))
-#endif
 import Data.Maybe (mapMaybe)
 import Data.List (groupBy, sortBy, nubBy)
 import Control.Monad.Trans.State.Lazy
index ea30666..cfb78fb 100644 (file)
@@ -36,9 +36,6 @@ import Util
 -- From iserv
 import SizedSeq
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 import Control.Monad
 import Control.Monad.ST ( runST )
 import Control.Monad.Trans.Class
index fc72084..d9a504b 100644 (file)
@@ -47,10 +47,6 @@ import OrdList
 
 import Data.List
 import Foreign
-
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 import Control.Monad
 import Data.Char
 
index f121e92..e6d703b 100644 (file)
@@ -68,15 +68,8 @@ import Data.Array.Base
 import Data.Ix
 import Data.List
 import qualified Data.Sequence as Seq
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid (mappend)
-#endif
 import Data.Sequence (viewl, ViewL(..))
-#if __GLASGOW_HASKELL__ >= 709
 import Foreign
-#else
-import Foreign.Safe
-#endif
 import System.IO.Unsafe
 
 ---------------------------------------------
index 6269a8b..9b90451 100644 (file)
@@ -6,7 +6,6 @@
 This module converts Template Haskell syntax into HsSyn
 -}
 
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 
 module Convert( convertToHsExpr, convertToPat, convertToHsDecls,
@@ -39,9 +38,6 @@ import MonadUtils ( foldrM )
 
 import qualified Data.ByteString as BS
 import Control.Monad( unless, liftM, ap )
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 
 import Data.Char ( chr )
 import Data.Word ( Word8 )
index 93dc5a9..bc33987 100644 (file)
@@ -13,7 +13,6 @@ Datatype for: @BindGroup@, @Bind@, @Sig@, @Bind@.
 {-# LANGUAGE UndecidableInstances #-} -- Note [Pass sensitive types]
                                       -- in module PlaceHolder
 {-# LANGUAGE ConstraintKinds #-}
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE BangPatterns #-}
 
 module HsBinds where
@@ -44,11 +43,6 @@ import Data.Data hiding ( Fixity )
 import Data.List hiding ( foldr )
 import Data.Ord
 import Data.Foldable ( Foldable(..) )
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable ( Traversable(..) )
-import Data.Monoid ( mappend )
-import Control.Applicative hiding (empty)
-#endif
 
 {-
 ************************************************************************
@@ -1029,8 +1023,6 @@ instance Foldable HsPatSynDetails where
     foldr1 f (RecordPatSyn args) =
       Data.List.foldr1 f (map (Data.Foldable.foldr1 f) args)
 
--- TODO: After a few more versions, we should probably use these.
-#if __GLASGOW_HASKELL__ >= 709
     length (InfixPatSyn _ _) = 2
     length (PrefixPatSyn args) = Data.List.length args
     length (RecordPatSyn args) = Data.List.length args
@@ -1042,7 +1034,6 @@ instance Foldable HsPatSynDetails where
     toList (InfixPatSyn left right) = [left, right]
     toList (PrefixPatSyn args) = args
     toList (RecordPatSyn args) = foldMap toList args
-#endif
 
 instance Traversable HsPatSynDetails where
     traverse f (InfixPatSyn left right) = InfixPatSyn <$> f left <*> f right
index 1682298..a1f24b4 100644 (file)
@@ -3,7 +3,6 @@
 (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
 -}
 
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveDataTypeable, DeriveFunctor, DeriveFoldable,
              DeriveTraversable #-}
 {-# LANGUAGE StandaloneDeriving #-}
@@ -110,10 +109,6 @@ import FastString
 import Bag
 import Data.Maybe ( fromMaybe )
 import Data.Data        hiding (TyCon,Fixity)
-#if __GLASGOW_HASKELL__ < 709
-import Data.Foldable ( Foldable )
-import Data.Traversable ( Traversable )
-#endif
 
 {-
 ************************************************************************
index 9576197..f0a6572 100644 (file)
@@ -115,11 +115,6 @@ import Data.Either
 import Data.Function
 import Data.List
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Foldable ( foldMap )
-import Data.Monoid ( mempty, mappend )
-#endif
-
 {-
 ************************************************************************
 *                                                                      *
index 3931b18..b579b65 100644 (file)
@@ -72,9 +72,6 @@ import ListSetOps
 import Data.List
 import Control.Monad
 import qualified Data.Map as Map
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable ( traverse )
-#endif
 
 {-
 This module takes
index 82c1eea..ac352ff 100644 (file)
@@ -57,9 +57,6 @@ import ErrUtils
 import qualified Stream
 
 import Control.Monad (ap)
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 
 -- ----------------------------------------------------------------------------
 -- * Some Data Types
index 0aec7ad..a4aa62a 100644 (file)
@@ -34,10 +34,6 @@ import Util
 import Control.Monad.Trans.Class
 import Control.Monad.Trans.Writer
 
-#if MIN_VERSION_base(4,8,0)
-#else
-import Data.Monoid ( Monoid, mappend, mempty )
-#endif
 #if __GLASGOW_HASKELL__ > 710
 import Data.Semigroup   ( Semigroup )
 import qualified Data.Semigroup as Semigroup
index 823f25e..83ac593 100644 (file)
@@ -33,9 +33,6 @@ import Data.Function
 import Data.List
 
 import Control.Monad (liftM, ap)
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 
 --------------------------------------------------------
 --         The Flag and OptKind types
index 1da9957..fcb954e 100644 (file)
@@ -182,9 +182,7 @@ import Control.Monad
 import Control.Monad.Trans.Class
 import Control.Monad.Trans.Writer
 import Control.Monad.Trans.Reader
-#if MIN_VERSION_transformers(0,4,0)
 import Control.Monad.Trans.Except
-#endif
 import Control.Exception (throwIO)
 
 import Data.Bits
@@ -195,7 +193,6 @@ import Data.Map (Map)
 import qualified Data.Map as Map
 import Data.Set (Set)
 import qualified Data.Set as Set
-import Data.Monoid (Monoid)
 import Data.Word
 import System.FilePath
 import System.Directory
@@ -850,10 +847,8 @@ instance (Monad m, HasDynFlags m) => HasDynFlags (ReaderT a m) where
 instance (Monad m, HasDynFlags m) => HasDynFlags (MaybeT m) where
     getDynFlags = lift getDynFlags
 
-#if MIN_VERSION_transformers(0,4,0)
 instance (Monad m, HasDynFlags m) => HasDynFlags (ExceptT e m) where
     getDynFlags = lift getDynFlags
-#endif
 
 class ContainsDynFlags t where
     extractDynFlags :: t -> DynFlags
index 666ff49..957f48c 100644 (file)
@@ -450,12 +450,7 @@ runGhc mb_top_dir ghc = do
 -- to this function will create a new session which should not be shared among
 -- several threads.
 
-#if __GLASGOW_HASKELL__ < 710
--- Pre-AMP change
-runGhcT :: (ExceptionMonad m, Functor m) =>
-#else
-runGhcT :: (ExceptionMonad m) =>
-#endif
+runGhcT :: ExceptionMonad m =>
            Maybe FilePath  -- ^ See argument to 'initGhcMonad'.
         -> GhcT m a        -- ^ The action to perform.
         -> m a
index 02e07c2..c28e877 100644 (file)
@@ -188,12 +188,7 @@ instance ExceptionMonad m => ExceptionMonad (GhcT m) where
 instance MonadIO m => HasDynFlags (GhcT m) where
   getDynFlags = GhcT $ \(Session r) -> liftM hsc_dflags (liftIO $ readIORef r)
 
-#if __GLASGOW_HASKELL__ < 710
--- Pre-AMP change
-instance (ExceptionMonad m, Functor m) => GhcMonad (GhcT m) where
-#else
-instance (ExceptionMonad m) => GhcMonad (GhcT m) where
-#endif
+instance ExceptionMonad m => GhcMonad (GhcT m) where
   getSession = GhcT $ \(Session r) -> liftIO $ readIORef r
   setSession s' = GhcT $ \(Session r) -> liftIO $ writeIORef r s'
 
index f7bff71..e22bf93 100644 (file)
@@ -77,9 +77,6 @@ import Data.Char ( toUpper )
 import Data.List as List
 import Data.Map (Map)
 import Data.Set (Set)
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid hiding ((<>))
-#endif
 #if __GLASGOW_HASKELL__ > 710
 import Data.Semigroup   ( Semigroup )
 import qualified Data.Semigroup as Semigroup
index b6272b8..7d3f98b 100644 (file)
@@ -84,9 +84,6 @@ import Data.List
 import Data.Maybe
 import Data.Ord         ( comparing )
 import Control.Exception
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 import Control.Monad
 import System.IO
 
index 35a0027..1dde1bc 100644 (file)
@@ -52,9 +52,6 @@ import DynFlags
 import Module
 
 import Control.Monad    ( liftM, ap )
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative ( Applicative(..) )
-#endif
 
 import Compiler.Hoopl   ( LabelMap, Label )
 
index 9602d25..e407a80 100644 (file)
@@ -1,5 +1,4 @@
 {-# LANGUAGE UnboxedTuples #-}
-{-# LANGUAGE CPP #-}
 
 -- | State monad for the linear register allocator.
 
@@ -44,9 +43,6 @@ import Unique
 import UniqSupply
 
 import Control.Monad (liftM, ap)
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 
 -- | The register allocator monad type.
 newtype RegM freeRegs a
index 1bbbfbf..26809db 100644 (file)
@@ -74,9 +74,6 @@ module Lexer (
   ) where
 
 -- base
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative
-#endif
 import Control.Monad
 #if __GLASGOW_HASKELL__ > 710
 import Control.Monad.Fail
index 0f38086..c8fd1ae 100644 (file)
@@ -95,11 +95,7 @@ import Data.List
 import qualified GHC.LanguageExtensions as LangExt
 import MonadUtils
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative ((<$>))
-#endif
 import Control.Monad
-
 import Text.ParserCombinators.ReadP as ReadP
 import Data.Char
 
index 3e9d7ae..49cfa98 100644 (file)
@@ -47,11 +47,7 @@ import Platform
 import Util
 import Coercion     (mkUnbranchedAxInstCo,mkSymCo,Role(..))
 
-#if __GLASGOW_HASKELL__ >= 709
 import Control.Applicative ( Alternative(..) )
-#else
-import Control.Applicative ( Applicative(..), Alternative(..) )
-#endif
 
 import Control.Monad
 #if __GLASGOW_HASKELL__ > 710
index 26e5470..69ebb59 100644 (file)
@@ -37,9 +37,6 @@ import SrcLoc
 import Util
 
 import Control.Monad (liftM, ap)
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 
 stgMassageForProfiling
         :: DynFlags
index 5acf9a3..49b4dba 100644 (file)
@@ -9,8 +9,6 @@ type-synonym declarations; those cannot be done at this stage because
 they may be affected by renaming (which isn't fully worked out yet).
 -}
 
-{-# LANGUAGE CPP #-}
-
 module RnBinds (
    -- Renaming top-level bindings
    rnTopBindsLHS, rnTopBindsRHS, rnValBindsRHS,
@@ -53,9 +51,6 @@ import qualified GHC.LanguageExtensions as LangExt
 
 import Control.Monad
 import Data.List        ( partition, sort )
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable ( traverse )
-#endif
 
 {-
 -- ToDo: Put the annotations into the monad, so that they arrive in the proper
index b4ab632..0dd5d7d 100644 (file)
@@ -54,9 +54,6 @@ import Control.Monad
 import Data.List ( sortBy )
 import Maybes( orElse, mapMaybe )
 import qualified Data.Set as Set ( difference, fromList, toList, null )
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable (traverse)
-#endif
 
 {-
 @rnSourceDecl@ `renames' declarations.
index 5a58148..f60a6cf 100644 (file)
@@ -58,10 +58,6 @@ import qualified GHC.LanguageExtensions as LangExt
 import Data.List        ( (\\), nubBy, partition )
 import Control.Monad    ( unless, when )
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid      ( mappend, mempty, mconcat )
-#endif
-
 #include "HsVersions.h"
 
 {-
index d45b72a..7a3257e 100644 (file)
@@ -36,9 +36,6 @@ import Outputable
 import FastString
 import State
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 import Control.Monad
 #if __GLASGOW_HASKELL__ > 710
 import qualified Control.Monad.Fail as MonadFail
index f95ca60..e8bfe11 100644 (file)
@@ -26,9 +26,6 @@ import Util
 import SrcLoc
 import Outputable
 import FastString
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative ( Applicative(..) )
-#endif
 import Control.Monad
 import Data.Function
 
index 07a06d7..c5eec49 100644 (file)
@@ -44,11 +44,6 @@ import Control.Monad
 import Data.Map (Map)
 import qualified Data.Map as Map
 
-#if __GLASGOW_HASKELL__ < 709
-import Prelude hiding ( and )
-import Data.Foldable ( and )
-#endif
-
 #include "HsVersions.h"
 
 {-
index 3e9e9fd..ab7e102 100644 (file)
@@ -39,12 +39,6 @@ import Data.List        ( nubBy )
 import Data.Maybe
 import Data.Foldable    ( fold )
 
-#if __GLASGOW_HASKELL__ < 709
-import Prelude hiding ( and )
-import Control.Applicative ( (<$>) )
-import Data.Foldable       ( and )
-#endif
-
 {-
 ************************************************************************
 *                                                                      *
index 4edc312..fa2b8c8 100644 (file)
@@ -39,13 +39,7 @@ import Data.List  ( zip4, foldl' )
 import BasicTypes
 import FastString
 
-#if __GLASGOW_HASKELL__ < 709
-bimap :: (a -> b) -> (c -> d) -> Either a c -> Either b d
-bimap f _ (Left x)  = Left (f x)
-bimap _ f (Right x) = Right (f x)
-#else
 import Data.Bifunctor ( bimap )
-#endif
 
 {-
 ************************************************************************
index d480dee..cebb673 100644 (file)
@@ -52,9 +52,6 @@ import qualified GHC.LanguageExtensions as LangExt
 import Control.Monad    ( when )
 import Data.List        ( partition, mapAccumL, nub, sortBy )
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid      ( Monoid, mempty, mappend, mconcat )
-#endif
 #if __GLASGOW_HASKELL__ > 710
 import Data.Semigroup   ( Semigroup )
 import qualified Data.Semigroup as Semigroup
index 184aa16..cca1684 100644 (file)
@@ -64,10 +64,6 @@ import FastString
 import SrcLoc
 import Data.IORef( IORef )
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative ( (<*>), (<$>) )
-#endif
-
 {-
 Note [TcCoercions]
 ~~~~~~~~~~~~~~~~~~
index 8129981..281da40 100644 (file)
@@ -31,9 +31,6 @@ import Control.Monad
 import MonadUtils ( zipWithAndUnzipM )
 import GHC.Exts ( inline )
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative ( Applicative(..), (<$>) )
-#endif
 import Control.Arrow ( first )
 
 {-
index ad36167..3304155 100644 (file)
@@ -61,9 +61,6 @@ import VarEnv
 import State
 import Util
 import Var
-#if __GLASGOW_HASKELL__ < 709
-import MonadUtils
-#endif
 import Outputable
 import Lexeme
 import FastString
index 210b179..a2bbdf8 100644 (file)
@@ -58,9 +58,6 @@ import Outputable
 import Util
 import qualified GHC.LanguageExtensions as LangExt
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable ( traverse )
-#endif
 import Control.Monad
 import Data.List  ( partition )
 
index f7bb726..3f4b6ad 100644 (file)
@@ -47,10 +47,6 @@ import MkCore
 
 import Control.Monad
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable ( traverse )
-#endif
-
 #include "HsVersions.h"
 
 {-
index 9444ef2..7661d7f 100644 (file)
@@ -42,9 +42,6 @@ import MkId
 import TcTyDecls
 import ConLike
 import FieldLabel
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid( mconcat, mappend, mempty )
-#endif
 import Bag
 import Util
 import Data.Maybe
index eb51ebc..6114e13 100644 (file)
@@ -51,10 +51,6 @@ import Control.Monad ( when, unless )
 import Data.List     ( partition )
 import Data.Foldable    ( fold )
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable ( traverse )
-#endif
-
 {-
 *********************************************************************************
 *                                                                               *
index 3f13c34..482aadc 100644 (file)
@@ -68,9 +68,6 @@ import qualified GHC.LanguageExtensions as LangExt
 
 import Control.Monad
 import Data.List
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid ( mempty )
-#endif
 
 {-
 ************************************************************************
index 97865f4..8e8f337 100644 (file)
@@ -213,9 +213,6 @@ import qualified GHC.LanguageExtensions as LangExt
 
 import Data.IORef
 import Control.Monad (liftM, ap)
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..), (<$>) )
-#endif
 import Data.Functor.Identity
 
 {-
index bb34987..e7fb85f 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE LambdaCase, CPP #-}
+{-# LANGUAGE LambdaCase #-}
 
 module TcTypeNats
   ( typeNatTyCons
@@ -38,10 +38,6 @@ import FastString ( FastString, fsLit )
 import qualified Data.Map as Map
 import Data.Maybe ( isJust )
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable ( traverse )
-#endif
-
 {-------------------------------------------------------------------------------
 Built-in type constructors for functions on type-level nats
 -}
index f8647a0..f8a2533 100644 (file)
@@ -123,12 +123,6 @@ import TysPrim          ( eqPhantPrimTyCon )
 import ListSetOps
 import Maybes
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative hiding ( empty )
-import Prelude hiding ( and )
-import Data.Traversable (traverse, sequenceA)
-import Data.Foldable ( and )
-#endif
 import Control.Monad (foldM)
 import FastString
 import Control.Arrow ( first )
index b37566a..6a241ad 100644 (file)
@@ -46,9 +46,6 @@ import Id
 import FastString
 import Data.Data        ( Data, Typeable )
 import Data.Maybe       ( isJust, isNothing )
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid
-#endif
 
 {-
 ************************************************************************
index 42263d8..cd2b587 100644 (file)
@@ -221,12 +221,6 @@ import Data.Maybe       ( isJust, mapMaybe )
 import Control.Monad    ( guard )
 import Control.Arrow    ( first, second )
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative ( Applicative, (<*>), (<$>), pure )
-import Data.Monoid         ( Monoid(..) )
-import Data.Foldable       ( foldMap )
-#endif
-
 -- $type_classification
 -- #type_classification#
 --
index 37c1dc4..769f505 100644 (file)
@@ -41,9 +41,6 @@ import Control.Monad
 #if __GLASGOW_HASKELL__ > 710
 import qualified Control.Monad.Fail as MonadFail
 #endif
-#if __GLASGOW_HASKELL__ < 709
-import Data.Traversable ( traverse )
-#endif
 import Control.Applicative hiding ( empty )
 import qualified Control.Applicative
 
index 382431e..743b8f1 100644 (file)
@@ -1,4 +1,5 @@
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE DeriveDataTypeable, DeriveFunctor, DeriveFoldable,
+             DeriveTraversable #-}
 
 --------------------------------------------------------------------------------
 -- | Boolean formulas without quantifiers and without negation.
@@ -6,9 +7,6 @@
 --
 -- This module is used to represent minimal complete definitions for classes.
 --
-{-# LANGUAGE DeriveDataTypeable, DeriveFunctor, DeriveFoldable,
-             DeriveTraversable #-}
-
 module BooleanFormula (
         BooleanFormula(..), LBooleanFormula,
         mkFalse, mkTrue, mkAnd, mkOr, mkVar,
@@ -20,10 +18,6 @@ module BooleanFormula (
 
 import Data.List ( nub, intersperse )
 import Data.Data
-#if __GLASGOW_HASKELL__ < 709
-import Data.Foldable ( Foldable )
-import Data.Traversable ( Traversable )
-#endif
 
 import MonadUtils
 import Outputable
index e1ef46a..ea95d84 100644 (file)
@@ -115,11 +115,7 @@ import Data.List        ( elemIndex )
 
 import GHC.IO           ( IO(..), unsafeDupablePerformIO )
 
-#if __GLASGOW_HASKELL__ >= 709
 import Foreign
-#else
-import Foreign.Safe
-#endif
 
 #if STAGE >= 2
 import GHC.Conc.Sync    (sharedCAF)
index f5362bb..625886d 100644 (file)
@@ -18,9 +18,6 @@ module OrdList (
 
 import Outputable
 
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid ( Monoid(..) )
-#endif
 #if __GLASGOW_HASKELL__ > 710
 import Data.Semigroup   ( Semigroup )
 import qualified Data.Semigroup as Semigroup
index 8747e61..d816ad3 100644 (file)
@@ -10,12 +10,6 @@ module Pair ( Pair(..), unPair, toPair, swap, pLiftFst, pLiftSnd ) where
 #include "HsVersions.h"
 
 import Outputable
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative
-import Data.Foldable
-import Data.Monoid
-import Data.Traversable
-#endif
 
 data Pair a = Pair { pFst :: a, pSnd :: a }
 -- Note that Pair is a *unary* type constructor
index a1903ce..fb6f2c3 100644 (file)
@@ -1,11 +1,7 @@
-{-# LANGUAGE UnboxedTuples, CPP #-}
+{-# LANGUAGE UnboxedTuples #-}
 
 module State where
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative
-#endif
-
 newtype State s a = State { runState' :: s -> (# a, s #) }
 
 instance Functor (State s) where
index fcef97b..a347206 100644 (file)
@@ -5,17 +5,13 @@
 -- Monadic streams
 --
 -- -----------------------------------------------------------------------------
-{-# LANGUAGE CPP #-}
 module Stream (
     Stream(..), yield, liftIO,
     collect, fromList,
     Stream.map, Stream.mapM, Stream.mapAccumL
   ) where
-import Control.Monad
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative
-#endif
 
+import Control.Monad
 
 -- |
 -- @Stream m a b@ is a computation in some Monad @m@ that delivers a sequence
index 6b39fc8..7da9f6c 100644 (file)
@@ -58,11 +58,7 @@ import GHC.IO.Encoding.Failure  ( CodingFailureMode(IgnoreCodingFailure) )
 
 import GHC.Exts
 
-#if __GLASGOW_HASKELL__ >= 709
 import Foreign
-#else
-import Foreign.Safe
-#endif
 
 -- -----------------------------------------------------------------------------
 -- The StringBuffer type
index fa556fb..1dc6cf5 100644 (file)
@@ -81,9 +81,6 @@ import qualified Data.Foldable as Foldable
 import qualified Data.Traversable as Traversable
 import Data.Typeable
 import Data.Data
-#if __GLASGOW_HASKELL__ < 709
-import Data.Monoid
-#endif
 #if __GLASGOW_HASKELL__ > 710
 import Data.Semigroup   ( Semigroup )
 import qualified Data.Semigroup as Semigroup
index 75c0c79..c0a335c 100644 (file)
@@ -117,9 +117,6 @@ import Data.List        hiding (group)
 
 import GHC.Exts
 
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative)
-#endif
 import Control.Applicative ( liftA2 )
 import Control.Monad    ( liftM )
 import GHC.IO.Encoding (mkTextEncoding, textEncodingName)
index ffc1b9c..fd1db9a 100644 (file)
@@ -45,9 +45,6 @@ import FastString
 import DynFlags
 import Util
 import UniqDFM (udfmToUfm)
-#if __GLASGOW_HASKELL__ < 709
-import MonadUtils
-#endif
 
 import Control.Monad
 import Data.Maybe
index 0ff4769..669dce3 100644 (file)
@@ -135,8 +135,8 @@ if test "$WithGhc" = ""
 then
     AC_MSG_ERROR([GHC is required.])
 fi
-FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[7.8],
-    [AC_MSG_ERROR([GHC version 7.8 or later is required to compile GHC.])])
+FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[7.10],
+    [AC_MSG_ERROR([GHC version 7.10 or later is required to compile GHC.])])
 
 if test `expr $GhcMinVersion % 2` = "1"
 then
index acef327..594d7dc 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE CPP, FlexibleInstances #-}
+{-# LANGUAGE FlexibleInstances #-}
 
 -- | Monadic front-end to Text.PrettyPrint
 
@@ -41,9 +41,6 @@ import qualified Text.PrettyPrint as HPJ
 import Control.Monad (liftM, liftM2, ap)
 import Language.Haskell.TH.Lib.Map ( Map )
 import qualified Language.Haskell.TH.Lib.Map as Map ( lookup, insert, empty )
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative( Applicative(..) )
-#endif
 
 infixl 6 <> 
 infixl 6 <+>
index ea670b3..becbbd6 100644 (file)
@@ -30,9 +30,6 @@ module Language.Haskell.TH.Syntax
     ) where
 
 import Data.Data hiding (Fixity(..))
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative( Applicative(..) )
-#endif
 import Data.IORef
 import System.IO.Unsafe ( unsafePerformIO )
 import Control.Monad (liftM)
index b302810..eb8e311 100644 (file)
@@ -36,9 +36,6 @@ import qualified Control.Exception as Exception
 import Data.Maybe
 
 import Data.Char ( isSpace, toLower )
-#if __GLASGOW_HASKELL__ < 709
-import Control.Applicative (Applicative(..))
-#endif
 import Control.Monad
 import System.Directory ( doesDirectoryExist, getDirectoryContents,
                           doesFileExist, removeFile,