summaryrefslogtreecommitdiff
path: root/compiler/GHC/Tc
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2020-04-20 16:54:38 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-04-26 13:55:14 -0400
commitaf332442123878c1b61d236dce46418efcbe8750 (patch)
treeec4b332843cdd4fedb4aa60b11b7b8dba82a0764 /compiler/GHC/Tc
parentb0fbfc7582fb81314dc28a056536737fb5eeaa6e (diff)
downloadhaskell-af332442123878c1b61d236dce46418efcbe8750.tar.gz
Modules: Utils and Data (#13009)
Update Haddock submodule Metric Increase: haddock.compiler
Diffstat (limited to 'compiler/GHC/Tc')
-rw-r--r--compiler/GHC/Tc/Deriv.hs16
-rw-r--r--compiler/GHC/Tc/Deriv/Functor.hs12
-rw-r--r--compiler/GHC/Tc/Deriv/Generate.hs18
-rw-r--r--compiler/GHC/Tc/Deriv/Generics.hs12
-rw-r--r--compiler/GHC/Tc/Deriv/Infer.hs12
-rw-r--r--compiler/GHC/Tc/Deriv/Utils.hs12
-rw-r--r--compiler/GHC/Tc/Errors.hs18
-rw-r--r--compiler/GHC/Tc/Errors/Hole.hs12
-rw-r--r--compiler/GHC/Tc/Errors/Hole.hs-boot2
-rw-r--r--compiler/GHC/Tc/Errors/Hole/FitTypes.hs4
-rw-r--r--compiler/GHC/Tc/Gen/Annotation.hs4
-rw-r--r--compiler/GHC/Tc/Gen/Arrow.hs6
-rw-r--r--compiler/GHC/Tc/Gen/Bind.hs18
-rw-r--r--compiler/GHC/Tc/Gen/Default.hs6
-rw-r--r--compiler/GHC/Tc/Gen/Export.hs12
-rw-r--r--compiler/GHC/Tc/Gen/Expr.hs14
-rw-r--r--compiler/GHC/Tc/Gen/Foreign.hs8
-rw-r--r--compiler/GHC/Tc/Gen/HsType.hs12
-rw-r--r--compiler/GHC/Tc/Gen/Match.hs6
-rw-r--r--compiler/GHC/Tc/Gen/Pat.hs8
-rw-r--r--compiler/GHC/Tc/Gen/Rule.hs8
-rw-r--r--compiler/GHC/Tc/Gen/Sig.hs8
-rw-r--r--compiler/GHC/Tc/Gen/Splice.hs18
-rw-r--r--compiler/GHC/Tc/Gen/Splice.hs-boot2
-rw-r--r--compiler/GHC/Tc/Instance/Class.hs6
-rw-r--r--compiler/GHC/Tc/Instance/Family.hs14
-rw-r--r--compiler/GHC/Tc/Instance/FunDeps.hs12
-rw-r--r--compiler/GHC/Tc/Instance/Typeable.hs10
-rw-r--r--compiler/GHC/Tc/Module.hs18
-rw-r--r--compiler/GHC/Tc/Module.hs-boot4
-rw-r--r--compiler/GHC/Tc/Plugin.hs6
-rw-r--r--compiler/GHC/Tc/Solver.hs14
-rw-r--r--compiler/GHC/Tc/Solver/Canonical.hs12
-rw-r--r--compiler/GHC/Tc/Solver/Flatten.hs10
-rw-r--r--compiler/GHC/Tc/Solver/Interact.hs14
-rw-r--r--compiler/GHC/Tc/Solver/Monad.hs18
-rw-r--r--compiler/GHC/Tc/TyCl.hs10
-rw-r--r--compiler/GHC/Tc/TyCl/Build.hs6
-rw-r--r--compiler/GHC/Tc/TyCl/Class.hs14
-rw-r--r--compiler/GHC/Tc/TyCl/Instance.hs18
-rw-r--r--compiler/GHC/Tc/TyCl/PatSyn.hs14
-rw-r--r--compiler/GHC/Tc/TyCl/PatSyn.hs-boot2
-rw-r--r--compiler/GHC/Tc/TyCl/Utils.hs14
-rw-r--r--compiler/GHC/Tc/Types.hs18
-rw-r--r--compiler/GHC/Tc/Types/Constraint.hs28
-rw-r--r--compiler/GHC/Tc/Types/EvTerm.hs4
-rw-r--r--compiler/GHC/Tc/Types/Evidence.hs10
-rw-r--r--compiler/GHC/Tc/Types/Origin.hs6
-rw-r--r--compiler/GHC/Tc/Utils/Backpack.hs12
-rw-r--r--compiler/GHC/Tc/Utils/Env.hs18
-rw-r--r--compiler/GHC/Tc/Utils/Instantiate.hs8
-rw-r--r--compiler/GHC/Tc/Utils/Monad.hs20
-rw-r--r--compiler/GHC/Tc/Utils/TcMType.hs14
-rw-r--r--compiler/GHC/Tc/Utils/TcType.hs14
-rw-r--r--compiler/GHC/Tc/Utils/TcType.hs-boot2
-rw-r--r--compiler/GHC/Tc/Utils/Unify.hs10
-rw-r--r--compiler/GHC/Tc/Utils/Unify.hs-boot2
-rw-r--r--compiler/GHC/Tc/Utils/Zonk.hs10
-rw-r--r--compiler/GHC/Tc/Validity.hs16
59 files changed, 328 insertions, 328 deletions
diff --git a/compiler/GHC/Tc/Deriv.hs b/compiler/GHC/Tc/Deriv.hs
index 6f5d72a51a..eca079ed23 100644
--- a/compiler/GHC/Tc/Deriv.hs
+++ b/compiler/GHC/Tc/Deriv.hs
@@ -15,7 +15,7 @@ module GHC.Tc.Deriv ( tcDeriving, DerivInfo(..) ) where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Driver.Session
@@ -47,9 +47,9 @@ import GHC.Types.Avail
import GHC.Core.Unify( tcUnifyTy )
import GHC.Core.Class
import GHC.Core.Type
-import ErrUtils
+import GHC.Utils.Error
import GHC.Core.DataCon
-import Maybes
+import GHC.Data.Maybe
import GHC.Types.Name.Reader
import GHC.Types.Name
import GHC.Types.Name.Set as NameSet
@@ -60,11 +60,11 @@ import GHC.Types.Var.Env
import GHC.Types.Var.Set
import GHC.Builtin.Names
import GHC.Types.SrcLoc
-import Util
-import Outputable
-import FastString
-import Bag
-import FV (fvVarList, unionFV, mkFVs)
+import GHC.Utils.Misc
+import GHC.Utils.Outputable as Outputable
+import GHC.Data.FastString
+import GHC.Data.Bag
+import GHC.Utils.FV as FV (fvVarList, unionFV, mkFVs)
import qualified GHC.LanguageExtensions as LangExt
import Control.Monad
diff --git a/compiler/GHC/Tc/Deriv/Functor.hs b/compiler/GHC/Tc/Deriv/Functor.hs
index 41aa86080d..6a13cfaccd 100644
--- a/compiler/GHC/Tc/Deriv/Functor.hs
+++ b/compiler/GHC/Tc/Deriv/Functor.hs
@@ -24,23 +24,23 @@ where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
-import Bag
+import GHC.Data.Bag
import GHC.Core.DataCon
-import FastString
+import GHC.Data.FastString
import GHC.Hs
-import Outputable
+import GHC.Utils.Outputable
import GHC.Builtin.Names
import GHC.Types.Name.Reader
import GHC.Types.SrcLoc
-import State
+import GHC.Utils.Monad.State
import GHC.Tc.Deriv.Generate
import GHC.Tc.Utils.TcType
import GHC.Core.TyCon
import GHC.Core.TyCo.Rep
import GHC.Core.Type
-import Util
+import GHC.Utils.Misc
import GHC.Types.Var
import GHC.Types.Var.Set
import GHC.Types.Id.Make (coerceId)
diff --git a/compiler/GHC/Tc/Deriv/Generate.hs b/compiler/GHC/Tc/Deriv/Generate.hs
index ad103ca7c8..8177416c4b 100644
--- a/compiler/GHC/Tc/Deriv/Generate.hs
+++ b/compiler/GHC/Tc/Deriv/Generate.hs
@@ -38,7 +38,7 @@ module GHC.Tc.Deriv.Generate (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Utils.Monad
import GHC.Hs
@@ -46,8 +46,8 @@ import GHC.Types.Name.Reader
import GHC.Types.Basic
import GHC.Core.DataCon
import GHC.Types.Name
-import Fingerprint
-import Encoding
+import GHC.Utils.Fingerprint
+import GHC.Utils.Encoding
import GHC.Driver.Session
import GHC.Builtin.Utils
@@ -69,13 +69,13 @@ import GHC.Core.Type
import GHC.Core.Class
import GHC.Types.Var.Set
import GHC.Types.Var.Env
-import Util
+import GHC.Utils.Misc
import GHC.Types.Var
-import Outputable
+import GHC.Utils.Outputable
import GHC.Utils.Lexeme
-import FastString
-import Pair
-import Bag
+import GHC.Data.FastString
+import GHC.Data.Pair
+import GHC.Data.Bag
import Data.List ( find, partition, intersperse )
@@ -2400,7 +2400,7 @@ mkAuxBinderName dflags parent occ_fun
parent_stable_hash =
let Fingerprint high low = fingerprintString parent_stable
in toBase62 high ++ toBase62Padded low
- -- See Note [Base 62 encoding 128-bit integers] in Encoding
+ -- See Note [Base 62 encoding 128-bit integers] in GHC.Utils.Encoding
parent_occ = nameOccName parent
diff --git a/compiler/GHC/Tc/Deriv/Generics.hs b/compiler/GHC/Tc/Deriv/Generics.hs
index d4af39d83c..31dc85d7e9 100644
--- a/compiler/GHC/Tc/Deriv/Generics.hs
+++ b/compiler/GHC/Tc/Deriv/Generics.hs
@@ -19,7 +19,7 @@ module GHC.Tc.Deriv.Generics
)
where
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Core.Type
@@ -42,14 +42,14 @@ import GHC.Builtin.Names
import GHC.Tc.Utils.Env
import GHC.Tc.Utils.Monad
import GHC.Driver.Types
-import ErrUtils( Validity(..), andValid )
+import GHC.Utils.Error( Validity(..), andValid )
import GHC.Types.SrcLoc
-import Bag
+import GHC.Data.Bag
import GHC.Types.Var.Env
import GHC.Types.Var.Set (elemVarSet)
-import Outputable
-import FastString
-import Util
+import GHC.Utils.Outputable
+import GHC.Data.FastString
+import GHC.Utils.Misc
import Control.Monad (mplus)
import Data.List (zip4, partition)
diff --git a/compiler/GHC/Tc/Deriv/Infer.hs b/compiler/GHC/Tc/Deriv/Infer.hs
index 849f0bf2a9..56dafd2097 100644
--- a/compiler/GHC/Tc/Deriv/Infer.hs
+++ b/compiler/GHC/Tc/Deriv/Infer.hs
@@ -16,16 +16,16 @@ where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
-import Bag
+import GHC.Data.Bag
import GHC.Types.Basic
import GHC.Core.Class
import GHC.Core.DataCon
-import ErrUtils
+import GHC.Utils.Error
import GHC.Tc.Utils.Instantiate
-import Outputable
-import Pair
+import GHC.Utils.Outputable
+import GHC.Data.Pair
import GHC.Builtin.Names
import GHC.Tc.Deriv.Utils
import GHC.Tc.Utils.Env
@@ -46,7 +46,7 @@ import GHC.Tc.Validity (validDerivPred)
import GHC.Tc.Utils.Unify (buildImplicationFor, checkConstraints)
import GHC.Builtin.Types (typeToTypeKind)
import GHC.Core.Unify (tcUnifyTy)
-import Util
+import GHC.Utils.Misc
import GHC.Types.Var
import GHC.Types.Var.Set
diff --git a/compiler/GHC/Tc/Deriv/Utils.hs b/compiler/GHC/Tc/Deriv/Utils.hs
index 63c0e3002c..72ee0e6af3 100644
--- a/compiler/GHC/Tc/Deriv/Utils.hs
+++ b/compiler/GHC/Tc/Deriv/Utils.hs
@@ -22,14 +22,14 @@ module GHC.Tc.Deriv.Utils (
newDerivClsInst, extendLocalInstEnv
) where
-import GhcPrelude
+import GHC.Prelude
-import Bag
+import GHC.Data.Bag
import GHC.Types.Basic
import GHC.Core.Class
import GHC.Core.DataCon
import GHC.Driver.Session
-import ErrUtils
+import GHC.Utils.Error
import GHC.Driver.Types (lookupFixity, mi_fix)
import GHC.Hs
import GHC.Tc.Utils.Instantiate
@@ -37,7 +37,7 @@ import GHC.Core.InstEnv
import GHC.Iface.Load (loadInterfaceForName)
import GHC.Types.Module (getModule)
import GHC.Types.Name
-import Outputable
+import GHC.Utils.Outputable
import GHC.Builtin.Names
import GHC.Types.SrcLoc
import GHC.Tc.Deriv.Generate
@@ -50,13 +50,13 @@ import GHC.Builtin.Names.TH (liftClassKey)
import GHC.Core.TyCon
import GHC.Core.TyCo.Ppr (pprSourceTyCon)
import GHC.Core.Type
-import Util
+import GHC.Utils.Misc
import GHC.Types.Var.Set
import Control.Monad.Trans.Reader
import Data.Maybe
import qualified GHC.LanguageExtensions as LangExt
-import ListSetOps (assocMaybe)
+import GHC.Data.List.SetOps (assocMaybe)
-- | To avoid having to manually plumb everything in 'DerivEnv' throughout
-- various functions in @GHC.Tc.Deriv@ and @GHC.Tc.Deriv.Infer@, we use 'DerivM', which
diff --git a/compiler/GHC/Tc/Errors.hs b/compiler/GHC/Tc/Errors.hs
index ae08f78443..e4746032d3 100644
--- a/compiler/GHC/Tc/Errors.hs
+++ b/compiler/GHC/Tc/Errors.hs
@@ -15,7 +15,7 @@ module GHC.Tc.Errors(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Types
import GHC.Tc.Utils.Monad
@@ -51,19 +51,19 @@ import GHC.Types.Var
import GHC.Types.Var.Set
import GHC.Types.Var.Env
import GHC.Types.Name.Set
-import Bag
-import ErrUtils ( ErrMsg, errDoc, pprLocErrMsg )
+import GHC.Data.Bag
+import GHC.Utils.Error ( ErrMsg, errDoc, pprLocErrMsg )
import GHC.Types.Basic
import GHC.Core.ConLike ( ConLike(..))
-import Util
-import FastString
-import Outputable
+import GHC.Utils.Misc
+import GHC.Data.FastString
+import GHC.Utils.Outputable
import GHC.Types.SrcLoc
import GHC.Driver.Session
-import ListSetOps ( equivClasses )
-import Maybes
+import GHC.Data.List.SetOps ( equivClasses )
+import GHC.Data.Maybe
import qualified GHC.LanguageExtensions as LangExt
-import FV ( fvVarList, unionFV )
+import GHC.Utils.FV ( fvVarList, unionFV )
import Control.Monad ( when )
import Data.Foldable ( toList )
diff --git a/compiler/GHC/Tc/Errors/Hole.hs b/compiler/GHC/Tc/Errors/Hole.hs
index 771765901c..543fa0fca0 100644
--- a/compiler/GHC/Tc/Errors/Hole.hs
+++ b/compiler/GHC/Tc/Errors/Hole.hs
@@ -17,7 +17,7 @@ module GHC.Tc.Errors.Hole
)
where
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Types
import GHC.Tc.Utils.Monad
@@ -34,14 +34,14 @@ import GHC.Builtin.Names ( gHC_ERR )
import GHC.Types.Id
import GHC.Types.Var.Set
import GHC.Types.Var.Env
-import Bag
+import GHC.Data.Bag
import GHC.Core.ConLike ( ConLike(..) )
-import Util
+import GHC.Utils.Misc
import GHC.Tc.Utils.Env (tcLookup)
-import Outputable
+import GHC.Utils.Outputable
import GHC.Driver.Session
-import Maybes
-import FV ( fvVarList, fvVarSet, unionFV, mkFVs, FV )
+import GHC.Data.Maybe
+import GHC.Utils.FV ( fvVarList, fvVarSet, unionFV, mkFVs, FV )
import Control.Arrow ( (&&&) )
diff --git a/compiler/GHC/Tc/Errors/Hole.hs-boot b/compiler/GHC/Tc/Errors/Hole.hs-boot
index bc79c3eed4..fa3299c5d3 100644
--- a/compiler/GHC/Tc/Errors/Hole.hs-boot
+++ b/compiler/GHC/Tc/Errors/Hole.hs-boot
@@ -6,7 +6,7 @@ module GHC.Tc.Errors.Hole where
import GHC.Tc.Types ( TcM )
import GHC.Tc.Types.Constraint ( Ct, Implication )
-import Outputable ( SDoc )
+import GHC.Utils.Outputable ( SDoc )
import GHC.Types.Var.Env ( TidyEnv )
findValidHoleFits :: TidyEnv -> [Implication] -> [Ct] -> Ct
diff --git a/compiler/GHC/Tc/Errors/Hole/FitTypes.hs b/compiler/GHC/Tc/Errors/Hole/FitTypes.hs
index 8aabc615ce..92bbe00115 100644
--- a/compiler/GHC/Tc/Errors/Hole/FitTypes.hs
+++ b/compiler/GHC/Tc/Errors/Hole/FitTypes.hs
@@ -5,7 +5,7 @@ module GHC.Tc.Errors.Hole.FitTypes (
hfIsLcl, pprHoleFitCand
) where
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Types
import GHC.Tc.Types.Constraint
@@ -16,7 +16,7 @@ import GHC.Types.Name.Reader
import GHC.Hs.Doc
import GHC.Types.Id
-import Outputable
+import GHC.Utils.Outputable
import GHC.Types.Name
import Data.Function ( on )
diff --git a/compiler/GHC/Tc/Gen/Annotation.hs b/compiler/GHC/Tc/Gen/Annotation.hs
index ef7168076f..47bca17766 100644
--- a/compiler/GHC/Tc/Gen/Annotation.hs
+++ b/compiler/GHC/Tc/Gen/Annotation.hs
@@ -10,7 +10,7 @@
-- | Typechecking annotations
module GHC.Tc.Gen.Annotation ( tcAnnotations, annCtxt ) where
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Gen.Splice ( runAnnotation )
import GHC.Types.Module
@@ -22,7 +22,7 @@ import GHC.Types.Name
import GHC.Types.Annotations
import GHC.Tc.Utils.Monad
import GHC.Types.SrcLoc
-import Outputable
+import GHC.Utils.Outputable
import GHC.Driver.Types
-- Some platforms don't support the interpreter, and compilation on those
diff --git a/compiler/GHC/Tc/Gen/Arrow.hs b/compiler/GHC/Tc/Gen/Arrow.hs
index 69c5e67197..5d26927ed4 100644
--- a/compiler/GHC/Tc/Gen/Arrow.hs
+++ b/compiler/GHC/Tc/Gen/Arrow.hs
@@ -12,7 +12,7 @@
-- | Typecheck arrow notation
module GHC.Tc.Gen.Arrow ( tcProc ) where
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Gen.Expr( tcLExpr, tcInferRho, tcSyntaxOp, tcCheckId, tcCheckExpr )
@@ -35,8 +35,8 @@ import GHC.Types.Var.Set
import GHC.Builtin.Types.Prim
import GHC.Types.Basic( Arity )
import GHC.Types.SrcLoc
-import Outputable
-import Util
+import GHC.Utils.Outputable
+import GHC.Utils.Misc
import Control.Monad
diff --git a/compiler/GHC/Tc/Gen/Bind.hs b/compiler/GHC/Tc/Gen/Bind.hs
index 44fd594849..929e02cc07 100644
--- a/compiler/GHC/Tc/Gen/Bind.hs
+++ b/compiler/GHC/Tc/Gen/Bind.hs
@@ -20,7 +20,7 @@ module GHC.Tc.Gen.Bind
)
where
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Gen.Match ( tcGRHSsPat, tcMatchesFun )
import {-# SOURCE #-} GHC.Tc.Gen.Expr ( tcLExpr )
@@ -28,7 +28,7 @@ import {-# SOURCE #-} GHC.Tc.TyCl.PatSyn ( tcPatSynDecl, tcPatSynBuilderBind )
import GHC.Core (Tickish (..))
import GHC.Types.CostCentre (mkUserCC, CCFlavour(DeclCC))
import GHC.Driver.Session
-import FastString
+import GHC.Data.FastString
import GHC.Hs
import GHC.Tc.Gen.Sig
import GHC.Tc.Utils.Monad
@@ -56,13 +56,13 @@ import GHC.Types.Name
import GHC.Types.Name.Set
import GHC.Types.Name.Env
import GHC.Types.SrcLoc
-import Bag
-import ErrUtils
-import Digraph
-import Maybes
-import Util
+import GHC.Data.Bag
+import GHC.Utils.Error
+import GHC.Data.Graph.Directed
+import GHC.Data.Maybe
+import GHC.Utils.Misc
import GHC.Types.Basic
-import Outputable
+import GHC.Utils.Outputable as Outputable
import GHC.Builtin.Names( ipClassName )
import GHC.Tc.Validity (checkValidType)
import GHC.Types.Unique.FM
@@ -552,7 +552,7 @@ mkEdges sig_fn binds
]
-- It's OK to use nonDetEltsUFM here as stronglyConnCompFromEdgedVertices
-- is still deterministic even if the edges are in nondeterministic order
- -- as explained in Note [Deterministic SCC] in Digraph.
+ -- as explained in Note [Deterministic SCC] in GHC.Data.Graph.Directed.
where
bind_fvs (FunBind { fun_ext = fvs }) = fvs
bind_fvs (PatBind { pat_ext = fvs }) = fvs
diff --git a/compiler/GHC/Tc/Gen/Default.hs b/compiler/GHC/Tc/Gen/Default.hs
index bf1132aa3e..ab5e021653 100644
--- a/compiler/GHC/Tc/Gen/Default.hs
+++ b/compiler/GHC/Tc/Gen/Default.hs
@@ -8,7 +8,7 @@
-- | Typechecking @default@ declarations
module GHC.Tc.Gen.Default ( tcDefaults ) where
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Core.Class
@@ -21,8 +21,8 @@ import GHC.Tc.Validity
import GHC.Tc.Utils.TcType
import GHC.Builtin.Names
import GHC.Types.SrcLoc
-import Outputable
-import FastString
+import GHC.Utils.Outputable
+import GHC.Data.FastString
import qualified GHC.LanguageExtensions as LangExt
tcDefaults :: [LDefaultDecl GhcRn]
diff --git a/compiler/GHC/Tc/Gen/Export.hs b/compiler/GHC/Tc/Gen/Export.hs
index b384b494e4..d4235ba171 100644
--- a/compiler/GHC/Tc/Gen/Export.hs
+++ b/compiler/GHC/Tc/Gen/Export.hs
@@ -7,7 +7,7 @@
module GHC.Tc.Gen.Export (tcRnExports, exports_from_avail) where
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Builtin.Names
@@ -18,7 +18,7 @@ import GHC.Tc.Utils.TcType
import GHC.Rename.Names
import GHC.Rename.Env
import GHC.Rename.Unbound ( reportUnboundName )
-import ErrUtils
+import GHC.Utils.Error
import GHC.Types.Id
import GHC.Types.Id.Info
import GHC.Types.Module
@@ -29,14 +29,14 @@ import GHC.Types.Avail
import GHC.Core.TyCon
import GHC.Types.SrcLoc as SrcLoc
import GHC.Driver.Types
-import Outputable
+import GHC.Utils.Outputable
import GHC.Core.ConLike
import GHC.Core.DataCon
import GHC.Core.PatSyn
-import Maybes
+import GHC.Data.Maybe
import GHC.Types.Unique.Set
-import Util (capitalise)
-import FastString (fsLit)
+import GHC.Utils.Misc (capitalise)
+import GHC.Data.FastString (fsLit)
import Control.Monad
import GHC.Driver.Session
diff --git a/compiler/GHC/Tc/Gen/Expr.hs b/compiler/GHC/Tc/Gen/Expr.hs
index 70201773b9..94341c62c2 100644
--- a/compiler/GHC/Tc/Gen/Expr.hs
+++ b/compiler/GHC/Tc/Gen/Expr.hs
@@ -30,7 +30,7 @@ where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Gen.Splice( tcSpliceExpr, tcTypedBracket, tcUntypedBracket )
import GHC.Builtin.Names.TH( liftStringName, liftName )
@@ -79,12 +79,12 @@ import GHC.Builtin.PrimOps( tagToEnumKey )
import GHC.Builtin.Names
import GHC.Driver.Session
import GHC.Types.SrcLoc
-import Util
+import GHC.Utils.Misc
import GHC.Types.Var.Env ( emptyTidyEnv, mkInScopeSet )
-import ListSetOps
-import Maybes
-import Outputable
-import FastString
+import GHC.Data.List.SetOps
+import GHC.Data.Maybe
+import GHC.Utils.Outputable as Outputable
+import GHC.Data.FastString
import Control.Monad
import GHC.Core.Class(classTyCon)
import GHC.Types.Unique.Set ( nonDetEltsUniqSet )
@@ -578,7 +578,7 @@ tcExpr (HsProc x pat cmd) res_ty
; return $ mkHsWrapCo coi (HsProc x pat' cmd') }
-- Typechecks the static form and wraps it with a call to 'fromStaticPtr'.
--- See Note [Grand plan for static forms] in StaticPtrTable for an overview.
+-- See Note [Grand plan for static forms] in GHC.Iface.Tidy.StaticPtrTable for an overview.
-- To type check
-- (static e) :: p a
-- we want to check (e :: a),
diff --git a/compiler/GHC/Tc/Gen/Foreign.hs b/compiler/GHC/Tc/Gen/Foreign.hs
index 858d865026..8163e6820d 100644
--- a/compiler/GHC/Tc/Gen/Foreign.hs
+++ b/compiler/GHC/Tc/Gen/Foreign.hs
@@ -33,7 +33,7 @@ module GHC.Tc.Gen.Foreign
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
@@ -47,7 +47,7 @@ import GHC.Core.FamInstEnv
import GHC.Core.Coercion
import GHC.Core.Type
import GHC.Types.ForeignCall
-import ErrUtils
+import GHC.Utils.Error
import GHC.Types.Id
import GHC.Types.Name
import GHC.Types.Name.Reader
@@ -56,10 +56,10 @@ import GHC.Core.TyCon
import GHC.Tc.Utils.TcType
import GHC.Builtin.Names
import GHC.Driver.Session
-import Outputable
+import GHC.Utils.Outputable as Outputable
import GHC.Platform
import GHC.Types.SrcLoc
-import Bag
+import GHC.Data.Bag
import GHC.Driver.Hooks
import qualified GHC.LanguageExtensions as LangExt
diff --git a/compiler/GHC/Tc/Gen/HsType.hs b/compiler/GHC/Tc/Gen/HsType.hs
index a25a7320e4..0614bfcc95 100644
--- a/compiler/GHC/Tc/Gen/HsType.hs
+++ b/compiler/GHC/Tc/Gen/HsType.hs
@@ -68,7 +68,7 @@ module GHC.Tc.Gen.HsType (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Tc.Utils.Monad
@@ -103,18 +103,18 @@ import GHC.Builtin.Types
import GHC.Types.Basic
import GHC.Types.SrcLoc
import GHC.Settings.Constants ( mAX_CTUPLE_SIZE )
-import ErrUtils( MsgDoc )
+import GHC.Utils.Error( MsgDoc )
import GHC.Types.Unique
import GHC.Types.Unique.Set
-import Util
+import GHC.Utils.Misc
import GHC.Types.Unique.Supply
-import Outputable
-import FastString
+import GHC.Utils.Outputable
+import GHC.Data.FastString
import GHC.Builtin.Names hiding ( wildCardName )
import GHC.Driver.Session
import qualified GHC.LanguageExtensions as LangExt
-import Maybes
+import GHC.Data.Maybe
import Data.List ( find )
import Control.Monad
diff --git a/compiler/GHC/Tc/Gen/Match.hs b/compiler/GHC/Tc/Gen/Match.hs
index 45fece68c0..857470b155 100644
--- a/compiler/GHC/Tc/Gen/Match.hs
+++ b/compiler/GHC/Tc/Gen/Match.hs
@@ -34,7 +34,7 @@ module GHC.Tc.Gen.Match
)
where
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Gen.Expr( tcSyntaxOp, tcInferRhoNC, tcInferRho
, tcCheckId, tcLExpr, tcLExprNC, tcExpr
@@ -56,8 +56,8 @@ import GHC.Types.Id
import GHC.Core.TyCon
import GHC.Builtin.Types.Prim
import GHC.Tc.Types.Evidence
-import Outputable
-import Util
+import GHC.Utils.Outputable
+import GHC.Utils.Misc
import GHC.Types.SrcLoc
-- Create chunkified tuple tybes for monad comprehensions
diff --git a/compiler/GHC/Tc/Gen/Pat.hs b/compiler/GHC/Tc/Gen/Pat.hs
index 0456677cc7..2f7d2e7721 100644
--- a/compiler/GHC/Tc/Gen/Pat.hs
+++ b/compiler/GHC/Tc/Gen/Pat.hs
@@ -26,7 +26,7 @@ where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Gen.Expr( tcSyntaxOp, tcSyntaxOpGen, tcInferSigma )
@@ -58,12 +58,12 @@ import GHC.Types.Basic hiding (SuccessFlag(..))
import GHC.Driver.Session
import GHC.Types.SrcLoc
import GHC.Types.Var.Set
-import Util
-import Outputable
+import GHC.Utils.Misc
+import GHC.Utils.Outputable as Outputable
import qualified GHC.LanguageExtensions as LangExt
import Control.Arrow ( second )
import Control.Monad ( when )
-import ListSetOps ( getNth )
+import GHC.Data.List.SetOps ( getNth )
{-
************************************************************************
diff --git a/compiler/GHC/Tc/Gen/Rule.hs b/compiler/GHC/Tc/Gen/Rule.hs
index 35b20acaa8..20620d2c36 100644
--- a/compiler/GHC/Tc/Gen/Rule.hs
+++ b/compiler/GHC/Tc/Gen/Rule.hs
@@ -10,7 +10,7 @@
-- | Typechecking transformation rules
module GHC.Tc.Gen.Rule ( tcRules ) where
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Tc.Types
@@ -33,9 +33,9 @@ import GHC.Types.Var( EvVar )
import GHC.Types.Var.Set
import GHC.Types.Basic ( RuleName )
import GHC.Types.SrcLoc
-import Outputable
-import FastString
-import Bag
+import GHC.Utils.Outputable
+import GHC.Data.FastString
+import GHC.Data.Bag
{-
Note [Typechecking rules]
diff --git a/compiler/GHC/Tc/Gen/Sig.hs b/compiler/GHC/Tc/Gen/Sig.hs
index 83fab20ca5..a8cdd08bce 100644
--- a/compiler/GHC/Tc/Gen/Sig.hs
+++ b/compiler/GHC/Tc/Gen/Sig.hs
@@ -25,7 +25,7 @@ module GHC.Tc.Gen.Sig(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Tc.Gen.HsType
@@ -49,10 +49,10 @@ import GHC.Types.Basic
import GHC.Types.Module( getModule )
import GHC.Types.Name
import GHC.Types.Name.Env
-import Outputable
+import GHC.Utils.Outputable
import GHC.Types.SrcLoc
-import Util( singleton )
-import Maybes( orElse )
+import GHC.Utils.Misc( singleton )
+import GHC.Data.Maybe( orElse )
import Data.Maybe( mapMaybe )
import Control.Monad( unless )
diff --git a/compiler/GHC/Tc/Gen/Splice.hs b/compiler/GHC/Tc/Gen/Splice.hs
index 830e17abd4..67ef5a3e6c 100644
--- a/compiler/GHC/Tc/Gen/Splice.hs
+++ b/compiler/GHC/Tc/Gen/Splice.hs
@@ -34,7 +34,7 @@ module GHC.Tc.Gen.Splice(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Types.Annotations
@@ -43,7 +43,7 @@ import GHC.Types.Name
import GHC.Tc.Utils.Monad
import GHC.Tc.Utils.TcType
-import Outputable
+import GHC.Utils.Outputable
import GHC.Tc.Gen.Expr
import GHC.Types.SrcLoc
import GHC.Builtin.Names.TH
@@ -103,21 +103,21 @@ import GHC.Types.Id.Info
import GHC.HsToCore.Expr
import GHC.HsToCore.Monad
import GHC.Serialized
-import ErrUtils
-import Util
+import GHC.Utils.Error
+import GHC.Utils.Misc
import GHC.Types.Unique
import GHC.Types.Var.Set
import Data.List ( find )
import Data.Maybe
-import FastString
+import GHC.Data.FastString
import GHC.Types.Basic as BasicTypes hiding( SuccessFlag(..) )
-import Maybes( MaybeErr(..) )
+import GHC.Data.Maybe( MaybeErr(..) )
import GHC.Driver.Session
-import Panic
+import GHC.Utils.Panic as Panic
import GHC.Utils.Lexeme
-import qualified EnumSet
+import qualified GHC.Data.EnumSet as EnumSet
import GHC.Driver.Plugins
-import Bag
+import GHC.Data.Bag
import qualified Language.Haskell.TH as TH
-- THSyntax gives access to internal functions and data types
diff --git a/compiler/GHC/Tc/Gen/Splice.hs-boot b/compiler/GHC/Tc/Gen/Splice.hs-boot
index d74edf3f3a..fe57d4a124 100644
--- a/compiler/GHC/Tc/Gen/Splice.hs-boot
+++ b/compiler/GHC/Tc/Gen/Splice.hs-boot
@@ -3,7 +3,7 @@
module GHC.Tc.Gen.Splice where
-import GhcPrelude
+import GHC.Prelude
import GHC.Types.Name
import GHC.Hs.Expr ( PendingRnSplice, DelayedSplice )
import GHC.Tc.Types( TcM , SpliceType )
diff --git a/compiler/GHC/Tc/Instance/Class.hs b/compiler/GHC/Tc/Instance/Class.hs
index 53054de7f8..43c2092c70 100644
--- a/compiler/GHC/Tc/Instance/Class.hs
+++ b/compiler/GHC/Tc/Instance/Class.hs
@@ -11,7 +11,7 @@ module GHC.Tc.Instance.Class (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Utils.Env
import GHC.Tc.Utils.Monad
@@ -40,8 +40,8 @@ import GHC.Core.DataCon
import GHC.Core.TyCon
import GHC.Core.Class
import GHC.Driver.Session
-import Outputable
-import Util( splitAtList, fstOf3 )
+import GHC.Utils.Outputable
+import GHC.Utils.Misc( splitAtList, fstOf3 )
import Data.Maybe
{- *******************************************************************
diff --git a/compiler/GHC/Tc/Instance/Family.hs b/compiler/GHC/Tc/Instance/Family.hs
index 68c894f2e4..6f1ac07f74 100644
--- a/compiler/GHC/Tc/Instance/Family.hs
+++ b/compiler/GHC/Tc/Instance/Family.hs
@@ -12,7 +12,7 @@ module GHC.Tc.Instance.Family (
reportInjectivityErrors, reportConflictingInjectivityErrs
) where
-import GhcPrelude
+import GHC.Prelude
import GHC.Driver.Types
import GHC.Core.FamInstEnv
@@ -28,20 +28,20 @@ import GHC.Tc.Utils.TcType
import GHC.Core.Coercion.Axiom
import GHC.Driver.Session
import GHC.Types.Module
-import Outputable
-import Util
+import GHC.Utils.Outputable
+import GHC.Utils.Misc
import GHC.Types.Name.Reader
import GHC.Core.DataCon ( dataConName )
-import Maybes
+import GHC.Data.Maybe
import GHC.Core.TyCo.Rep
import GHC.Core.TyCo.FVs
import GHC.Core.TyCo.Ppr ( pprWithExplicitKindsWhen )
import GHC.Tc.Utils.TcMType
import GHC.Types.Name
-import Panic
+import GHC.Utils.Panic
import GHC.Types.Var.Set
-import FV
-import Bag( Bag, unionBags, unitBag )
+import GHC.Utils.FV
+import GHC.Data.Bag( Bag, unionBags, unitBag )
import Control.Monad
import Data.List ( sortBy )
import Data.List.NonEmpty ( NonEmpty(..) )
diff --git a/compiler/GHC/Tc/Instance/FunDeps.hs b/compiler/GHC/Tc/Instance/FunDeps.hs
index 40344af9ed..aba9031be6 100644
--- a/compiler/GHC/Tc/Instance/FunDeps.hs
+++ b/compiler/GHC/Tc/Instance/FunDeps.hs
@@ -23,7 +23,7 @@ where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Types.Name
import GHC.Types.Var
@@ -38,13 +38,13 @@ import GHC.Types.Var.Set
import GHC.Types.Var.Env
import GHC.Core.TyCo.FVs
import GHC.Core.TyCo.Ppr( pprWithExplicitKindsWhen )
-import FV
-import Outputable
-import ErrUtils( Validity(..), allValid )
+import GHC.Utils.FV
+import GHC.Utils.Outputable
+import GHC.Utils.Error( Validity(..), allValid )
import GHC.Types.SrcLoc
-import Util
+import GHC.Utils.Misc
-import Pair ( Pair(..) )
+import GHC.Data.Pair ( Pair(..) )
import Data.List ( nubBy )
import Data.Maybe
import Data.Foldable ( fold )
diff --git a/compiler/GHC/Tc/Instance/Typeable.hs b/compiler/GHC/Tc/Instance/Typeable.hs
index c3e59b2f4c..2c7656a20c 100644
--- a/compiler/GHC/Tc/Instance/Typeable.hs
+++ b/compiler/GHC/Tc/Instance/Typeable.hs
@@ -12,7 +12,7 @@ module GHC.Tc.Instance.Typeable(mkTypeableBinds, tyConIsTypeable) where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Platform
import GHC.Types.Basic ( Boxity(..), neverInlinePragma, SourceText(..) )
@@ -37,13 +37,13 @@ import GHC.Core.DataCon
import GHC.Types.Module
import GHC.Hs
import GHC.Driver.Session
-import Bag
+import GHC.Data.Bag
import GHC.Types.Var ( VarBndr(..) )
import GHC.Core.Map
import GHC.Settings.Constants
-import Fingerprint(Fingerprint(..), fingerprintString, fingerprintFingerprints)
-import Outputable
-import FastString ( FastString, mkFastString, fsLit )
+import GHC.Utils.Fingerprint(Fingerprint(..), fingerprintString, fingerprintFingerprints)
+import GHC.Utils.Outputable
+import GHC.Data.FastString ( FastString, mkFastString, fsLit )
import Control.Monad.Trans.State
import Control.Monad.Trans.Class (lift)
diff --git a/compiler/GHC/Tc/Module.hs b/compiler/GHC/Tc/Module.hs
index cc3bf4a2cc..e202fdcec7 100644
--- a/compiler/GHC/Tc/Module.hs
+++ b/compiler/GHC/Tc/Module.hs
@@ -48,7 +48,7 @@ module GHC.Tc.Module (
getRenamedStuff, RenamedStuff
) where
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Gen.Splice ( finishTH, runRemoteModFinalizers )
import GHC.Rename.Splice ( rnTopSpliceDecls, traceSplice, SpliceInfo(..) )
@@ -78,7 +78,7 @@ import GHC.Tc.Gen.Export
import GHC.Tc.Types.Evidence
import GHC.Tc.Types.Constraint
import GHC.Tc.Types.Origin
-import qualified BooleanFormula as BF
+import qualified GHC.Data.BooleanFormula as BF
import GHC.Core.Ppr.TyThing ( pprTyThingInContext )
import GHC.Core.FVs ( orphNamesOfFamInst )
import GHC.Tc.Instance.Family
@@ -106,7 +106,7 @@ import GHC.Iface.Load
import GHC.Rename.Names
import GHC.Rename.Env
import GHC.Rename.Module
-import ErrUtils
+import GHC.Utils.Error
import GHC.Types.Id as Id
import GHC.Types.Id.Info( IdDetails(..) )
import GHC.Types.Var.Env
@@ -119,8 +119,8 @@ import GHC.Types.Avail
import GHC.Core.TyCon
import GHC.Types.SrcLoc
import GHC.Driver.Types
-import ListSetOps
-import Outputable
+import GHC.Data.List.SetOps
+import GHC.Utils.Outputable as Outputable
import GHC.Core.ConLike
import GHC.Core.DataCon
import GHC.Core.Type
@@ -130,10 +130,10 @@ import GHC.Core.Coercion.Axiom
import GHC.Types.Annotations
import Data.List ( find, sortBy, sort )
import Data.Ord
-import FastString
-import Maybes
-import Util
-import Bag
+import GHC.Data.FastString
+import GHC.Data.Maybe
+import GHC.Utils.Misc
+import GHC.Data.Bag
import GHC.Tc.Utils.Instantiate (tcGetInsts)
import qualified GHC.LanguageExtensions as LangExt
import Data.Data ( Data )
diff --git a/compiler/GHC/Tc/Module.hs-boot b/compiler/GHC/Tc/Module.hs-boot
index f1f5e31e8a..90d775a4e2 100644
--- a/compiler/GHC/Tc/Module.hs-boot
+++ b/compiler/GHC/Tc/Module.hs-boot
@@ -1,9 +1,9 @@
module GHC.Tc.Module where
-import GhcPrelude
+import GHC.Prelude
import GHC.Core.Type(TyThing)
import GHC.Tc.Types (TcM)
-import Outputable (SDoc)
+import GHC.Utils.Outputable (SDoc)
import GHC.Types.Name (Name)
checkBootDeclM :: Bool -- ^ True <=> an hs-boot file (could also be a sig)
diff --git a/compiler/GHC/Tc/Plugin.hs b/compiler/GHC/Tc/Plugin.hs
index cde159815f..228647767d 100644
--- a/compiler/GHC/Tc/Plugin.hs
+++ b/compiler/GHC/Tc/Plugin.hs
@@ -50,7 +50,7 @@ module GHC.Tc.Plugin (
getEvBindsTcPluginM
) where
-import GhcPrelude
+import GHC.Prelude
import qualified GHC.Tc.Utils.Monad as TcM
import qualified GHC.Tc.Solver.Monad as TcS
@@ -77,12 +77,12 @@ import GHC.Core.TyCon
import GHC.Core.DataCon
import GHC.Core.Class
import GHC.Driver.Types
-import Outputable
+import GHC.Utils.Outputable
import GHC.Core.Type
import GHC.Core.Coercion ( BlockSubstFlag(..) )
import GHC.Types.Id
import GHC.Core.InstEnv
-import FastString
+import GHC.Data.FastString
import GHC.Types.Unique
diff --git a/compiler/GHC/Tc/Solver.hs b/compiler/GHC/Tc/Solver.hs
index c060eac638..92b739f00b 100644
--- a/compiler/GHC/Tc/Solver.hs
+++ b/compiler/GHC/Tc/Solver.hs
@@ -26,16 +26,16 @@ module GHC.Tc.Solver(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
-import Bag
+import GHC.Data.Bag
import GHC.Core.Class ( Class, classKey, classTyCon )
import GHC.Driver.Session
import GHC.Types.Id ( idType, mkLocalId )
import GHC.Tc.Utils.Instantiate
-import ListSetOps
+import GHC.Data.List.SetOps
import GHC.Types.Name
-import Outputable
+import GHC.Utils.Outputable
import GHC.Builtin.Utils
import GHC.Builtin.Names
import GHC.Tc.Errors
@@ -52,19 +52,19 @@ import GHC.Tc.Utils.TcType
import GHC.Core.Type
import GHC.Builtin.Types ( liftedRepTy )
import GHC.Core.Unify ( tcMatchTyKi )
-import Util
+import GHC.Utils.Misc
import GHC.Types.Var
import GHC.Types.Var.Set
import GHC.Types.Unique.Set
import GHC.Types.Basic ( IntWithInf, intGtLimit )
-import ErrUtils ( emptyMessages )
+import GHC.Utils.Error ( emptyMessages )
import qualified GHC.LanguageExtensions as LangExt
import Control.Monad
import Data.Foldable ( toList )
import Data.List ( partition )
import Data.List.NonEmpty ( NonEmpty(..) )
-import Maybes ( isJust )
+import GHC.Data.Maybe ( isJust )
{-
*********************************************************************************
diff --git a/compiler/GHC/Tc/Solver/Canonical.hs b/compiler/GHC/Tc/Solver/Canonical.hs
index c9d93b063e..5a231f2e44 100644
--- a/compiler/GHC/Tc/Solver/Canonical.hs
+++ b/compiler/GHC/Tc/Solver/Canonical.hs
@@ -11,7 +11,7 @@ module GHC.Tc.Solver.Canonical(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Types.Constraint
import GHC.Core.Predicate
@@ -35,16 +35,16 @@ import GHC.Types.Var
import GHC.Types.Var.Env( mkInScopeSet )
import GHC.Types.Var.Set( delVarSetList )
import GHC.Types.Name.Occurrence ( OccName )
-import Outputable
+import GHC.Utils.Outputable
import GHC.Driver.Session( DynFlags )
import GHC.Types.Name.Set
import GHC.Types.Name.Reader
import GHC.Hs.Types( HsIPName(..) )
-import Pair
-import Util
-import Bag
-import MonadUtils
+import GHC.Data.Pair
+import GHC.Utils.Misc
+import GHC.Data.Bag
+import GHC.Utils.Monad
import Control.Monad
import Data.Maybe ( isJust )
import Data.List ( zip4 )
diff --git a/compiler/GHC/Tc/Solver/Flatten.hs b/compiler/GHC/Tc/Solver/Flatten.hs
index e1a290fdf9..551e1de395 100644
--- a/compiler/GHC/Tc/Solver/Flatten.hs
+++ b/compiler/GHC/Tc/Solver/Flatten.hs
@@ -12,7 +12,7 @@ module GHC.Tc.Solver.Flatten(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Types
import GHC.Core.TyCo.Ppr ( pprTyVar )
@@ -27,14 +27,14 @@ import GHC.Core.Coercion
import GHC.Types.Var
import GHC.Types.Var.Set
import GHC.Types.Var.Env
-import Outputable
+import GHC.Utils.Outputable
import GHC.Tc.Solver.Monad as TcS
import GHC.Types.Basic( SwapFlag(..) )
-import Util
-import Bag
+import GHC.Utils.Misc
+import GHC.Data.Bag
import Control.Monad
-import MonadUtils ( zipWith3M )
+import GHC.Utils.Monad ( zipWith3M )
import Data.Foldable ( foldrM )
import Control.Arrow ( first )
diff --git a/compiler/GHC/Tc/Solver/Interact.hs b/compiler/GHC/Tc/Solver/Interact.hs
index acb9ca5543..6a391d4406 100644
--- a/compiler/GHC/Tc/Solver/Interact.hs
+++ b/compiler/GHC/Tc/Solver/Interact.hs
@@ -10,7 +10,7 @@ module GHC.Tc.Solver.Interact (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Types.Basic ( SwapFlag(..), isSwapped,
infinity, IntWithInf, intGtLimit )
import GHC.Tc.Solver.Canonical
@@ -36,15 +36,15 @@ import GHC.Core.FamInstEnv
import GHC.Core.Unify ( tcUnifyTyWithTFs, ruleMatchTyKiX )
import GHC.Tc.Types.Evidence
-import Outputable
+import GHC.Utils.Outputable
import GHC.Tc.Types
import GHC.Tc.Types.Constraint
import GHC.Core.Predicate
import GHC.Tc.Types.Origin
import GHC.Tc.Solver.Monad
-import Bag
-import MonadUtils ( concatMapM, foldlM )
+import GHC.Data.Bag
+import GHC.Utils.Monad ( concatMapM, foldlM )
import GHC.Core
import Data.List( partition, deleteFirstsBy )
@@ -52,11 +52,11 @@ import GHC.Types.SrcLoc
import GHC.Types.Var.Env
import Control.Monad
-import Maybes( isJust )
-import Pair (Pair(..))
+import GHC.Data.Maybe( isJust )
+import GHC.Data.Pair (Pair(..))
import GHC.Types.Unique( hasKey )
import GHC.Driver.Session
-import Util
+import GHC.Utils.Misc
import qualified GHC.LanguageExtensions as LangExt
import Control.Monad.Trans.Class
diff --git a/compiler/GHC/Tc/Solver/Monad.hs b/compiler/GHC/Tc/Solver/Monad.hs
index 822ccb2248..0baad1ff4b 100644
--- a/compiler/GHC/Tc/Solver/Monad.hs
+++ b/compiler/GHC/Tc/Solver/Monad.hs
@@ -127,7 +127,7 @@ module GHC.Tc.Solver.Monad (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Driver.Types
@@ -148,7 +148,7 @@ import GHC.Core.Type
import GHC.Core.Coercion
import GHC.Core.Unify
-import ErrUtils
+import GHC.Utils.Error
import GHC.Tc.Types.Evidence
import GHC.Core.Class
import GHC.Core.TyCon
@@ -161,10 +161,10 @@ import qualified GHC.Rename.Env as TcM
import GHC.Types.Var
import GHC.Types.Var.Env
import GHC.Types.Var.Set
-import Outputable
-import Bag
+import GHC.Utils.Outputable
+import GHC.Data.Bag as Bag
import GHC.Types.Unique.Supply
-import Util
+import GHC.Utils.Misc
import GHC.Tc.Types
import GHC.Tc.Types.Origin
import GHC.Tc.Types.Constraint
@@ -173,16 +173,16 @@ import GHC.Core.Predicate
import GHC.Types.Unique
import GHC.Types.Unique.FM
import GHC.Types.Unique.DFM
-import Maybes
+import GHC.Data.Maybe
import GHC.Core.Map
import Control.Monad
-import MonadUtils
+import GHC.Utils.Monad
import Data.IORef
import Data.List ( partition, mapAccumL )
#if defined(DEBUG)
-import Digraph
+import GHC.Data.Graph.Directed
import GHC.Types.Unique.Set
#endif
@@ -2860,7 +2860,7 @@ checkForCyclicBinds ev_binds_map
-- It's OK to use nonDetEltsUFM here as
-- stronglyConnCompFromEdgedVertices is still deterministic even
-- if the edges are in nondeterministic order as explained in
- -- Note [Deterministic SCC] in Digraph.
+ -- Note [Deterministic SCC] in GHC.Data.Graph.Directed.
#endif
----------------------------
diff --git a/compiler/GHC/Tc/TyCl.hs b/compiler/GHC/Tc/TyCl.hs
index e69990cb63..1f44338a4c 100644
--- a/compiler/GHC/Tc/TyCl.hs
+++ b/compiler/GHC/Tc/TyCl.hs
@@ -25,7 +25,7 @@ module GHC.Tc.TyCl (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Driver.Types
@@ -64,12 +64,12 @@ import GHC.Types.Module
import GHC.Types.Name
import GHC.Types.Name.Set
import GHC.Types.Name.Env
-import Outputable
-import Maybes
+import GHC.Utils.Outputable
+import GHC.Data.Maybe
import GHC.Core.Unify
-import Util
+import GHC.Utils.Misc
import GHC.Types.SrcLoc
-import ListSetOps
+import GHC.Data.List.SetOps
import GHC.Driver.Session
import GHC.Types.Unique
import GHC.Core.ConLike( ConLike(..) )
diff --git a/compiler/GHC/Tc/TyCl/Build.hs b/compiler/GHC/Tc/TyCl/Build.hs
index 908f1398d7..fa0c196504 100644
--- a/compiler/GHC/Tc/TyCl/Build.hs
+++ b/compiler/GHC/Tc/TyCl/Build.hs
@@ -17,7 +17,7 @@ module GHC.Tc.TyCl.Build (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Iface.Env
import GHC.Core.FamInstEnv( FamInstEnvs, mkNewTypeCoAxiom )
@@ -41,8 +41,8 @@ import GHC.Types.SrcLoc( SrcSpan, noSrcSpan )
import GHC.Driver.Session
import GHC.Tc.Utils.Monad
import GHC.Types.Unique.Supply
-import Util
-import Outputable
+import GHC.Utils.Misc
+import GHC.Utils.Outputable
mkNewTyConRhs :: Name -> TyCon -> DataCon -> TcRnIf m n AlgTyConRhs
diff --git a/compiler/GHC/Tc/TyCl/Class.hs b/compiler/GHC/Tc/TyCl/Class.hs
index 55105f84ff..cedd42916b 100644
--- a/compiler/GHC/Tc/TyCl/Class.hs
+++ b/compiler/GHC/Tc/TyCl/Class.hs
@@ -28,7 +28,7 @@ where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Tc.Utils.Env
@@ -56,15 +56,15 @@ import GHC.Types.Name.Env
import GHC.Types.Name.Set
import GHC.Types.Var
import GHC.Types.Var.Env
-import Outputable
+import GHC.Utils.Outputable
import GHC.Types.SrcLoc
import GHC.Core.TyCon
-import Maybes
+import GHC.Data.Maybe
import GHC.Types.Basic
-import Bag
-import FastString
-import BooleanFormula
-import Util
+import GHC.Data.Bag
+import GHC.Data.FastString
+import GHC.Data.BooleanFormula
+import GHC.Utils.Misc
import Control.Monad
import Data.List ( mapAccumL, partition )
diff --git a/compiler/GHC/Tc/TyCl/Instance.hs b/compiler/GHC/Tc/TyCl/Instance.hs
index a716c9671f..22849451bf 100644
--- a/compiler/GHC/Tc/TyCl/Instance.hs
+++ b/compiler/GHC/Tc/TyCl/Instance.hs
@@ -21,7 +21,7 @@ where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Tc.Gen.Bind
@@ -61,24 +61,24 @@ import GHC.Core.Class
import GHC.Types.Var as Var
import GHC.Types.Var.Env
import GHC.Types.Var.Set
-import Bag
+import GHC.Data.Bag
import GHC.Types.Basic
import GHC.Driver.Session
-import ErrUtils
-import FastString
+import GHC.Utils.Error
+import GHC.Data.FastString
import GHC.Types.Id
-import ListSetOps
+import GHC.Data.List.SetOps
import GHC.Types.Name
import GHC.Types.Name.Set
-import Outputable
+import GHC.Utils.Outputable
import GHC.Types.SrcLoc
-import Util
-import BooleanFormula ( isUnsatisfied, pprBooleanFormulaNice )
+import GHC.Utils.Misc
+import GHC.Data.BooleanFormula ( isUnsatisfied, pprBooleanFormulaNice )
import qualified GHC.LanguageExtensions as LangExt
import Control.Monad
import Data.Tuple
-import Maybes
+import GHC.Data.Maybe
import Data.List( mapAccumL )
diff --git a/compiler/GHC/Tc/TyCl/PatSyn.hs b/compiler/GHC/Tc/TyCl/PatSyn.hs
index 37ba4e3329..00e0beb5e1 100644
--- a/compiler/GHC/Tc/TyCl/PatSyn.hs
+++ b/compiler/GHC/Tc/TyCl/PatSyn.hs
@@ -20,7 +20,7 @@ module GHC.Tc.TyCl.PatSyn
)
where
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Tc.Gen.Pat
@@ -35,9 +35,9 @@ import GHC.Types.Name
import GHC.Types.SrcLoc
import GHC.Core.PatSyn
import GHC.Types.Name.Set
-import Panic
-import Outputable
-import FastString
+import GHC.Utils.Panic
+import GHC.Utils.Outputable
+import GHC.Data.FastString
import GHC.Types.Var
import GHC.Types.Var.Env( emptyTidyEnv, mkInScopeSet )
import GHC.Types.Id
@@ -57,9 +57,9 @@ import GHC.Types.Id.Make
import GHC.Tc.TyCl.Utils
import GHC.Core.ConLike
import GHC.Types.FieldLabel
-import Bag
-import Util
-import ErrUtils
+import GHC.Data.Bag
+import GHC.Utils.Misc
+import GHC.Utils.Error
import Data.Maybe( mapMaybe )
import Control.Monad ( zipWithM )
import Data.List( partition )
diff --git a/compiler/GHC/Tc/TyCl/PatSyn.hs-boot b/compiler/GHC/Tc/TyCl/PatSyn.hs-boot
index 44be72781d..fb4ac51013 100644
--- a/compiler/GHC/Tc/TyCl/PatSyn.hs-boot
+++ b/compiler/GHC/Tc/TyCl/PatSyn.hs-boot
@@ -3,7 +3,7 @@ module GHC.Tc.TyCl.PatSyn where
import GHC.Hs ( PatSynBind, LHsBinds )
import GHC.Tc.Types ( TcM, TcSigInfo )
import GHC.Tc.Utils.Monad ( TcGblEnv)
-import Outputable ( Outputable )
+import GHC.Utils.Outputable ( Outputable )
import GHC.Hs.Extension ( GhcRn, GhcTc )
import Data.Maybe ( Maybe )
diff --git a/compiler/GHC/Tc/TyCl/Utils.hs b/compiler/GHC/Tc/TyCl/Utils.hs
index 5ee3620db1..890222b8aa 100644
--- a/compiler/GHC/Tc/TyCl/Utils.hs
+++ b/compiler/GHC/Tc/TyCl/Utils.hs
@@ -30,7 +30,7 @@ module GHC.Tc.TyCl.Utils(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Utils.Monad
import GHC.Tc.Utils.Env
@@ -59,12 +59,12 @@ import GHC.Core.Coercion ( ltRole )
import GHC.Types.Basic
import GHC.Types.SrcLoc
import GHC.Types.Unique ( mkBuiltinUnique )
-import Outputable
-import Util
-import Maybes
-import Bag
-import FastString
-import FV
+import GHC.Utils.Outputable
+import GHC.Utils.Misc
+import GHC.Data.Maybe
+import GHC.Data.Bag
+import GHC.Data.FastString
+import GHC.Utils.FV as FV
import GHC.Types.Module
import qualified GHC.LanguageExtensions as LangExt
diff --git a/compiler/GHC/Tc/Types.hs b/compiler/GHC/Tc/Types.hs
index 8c4086a2ca..be345c4f30 100644
--- a/compiler/GHC/Tc/Types.hs
+++ b/compiler/GHC/Tc/Types.hs
@@ -84,7 +84,7 @@ module GHC.Tc.Types(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Platform
import GHC.Hs
@@ -102,7 +102,7 @@ import GHC.Types.Annotations
import GHC.Core.InstEnv
import GHC.Core.FamInstEnv
import {-# SOURCE #-} GHC.HsToCore.PmCheck.Types (Deltas)
-import IOEnv
+import GHC.Data.IOEnv
import GHC.Types.Name.Reader
import GHC.Types.Name
import GHC.Types.Name.Env
@@ -113,15 +113,15 @@ import GHC.Types.Var.Env
import GHC.Types.Module
import GHC.Types.SrcLoc
import GHC.Types.Var.Set
-import ErrUtils
+import GHC.Utils.Error
import GHC.Types.Unique.FM
import GHC.Types.Basic
-import Bag
+import GHC.Data.Bag
import GHC.Driver.Session
-import Outputable
-import ListSetOps
-import Fingerprint
-import Util
+import GHC.Utils.Outputable
+import GHC.Data.List.SetOps
+import GHC.Utils.Fingerprint
+import GHC.Utils.Misc
import GHC.Builtin.Names ( isUnboundName )
import GHC.Types.CostCentre.State
@@ -1167,7 +1167,7 @@ For (static e) to be valid, we need for every 'x' free in 'e',
that x's binding is floatable to the top level. Specifically:
* x's RhsNames must be empty
* x's type has no free variables
-See Note [Grand plan for static forms] in StaticPtrTable.hs.
+See Note [Grand plan for static forms] in GHC.Iface.Tidy.StaticPtrTable.hs.
This test is made in GHC.Tc.Gen.Expr.checkClosedInStaticForm.
Actually knowing x's RhsNames (rather than just its emptiness
or otherwise) is just so we can produce better error messages
diff --git a/compiler/GHC/Tc/Types/Constraint.hs b/compiler/GHC/Tc/Types/Constraint.hs
index 3f85594c97..fdfd13e339 100644
--- a/compiler/GHC/Tc/Types/Constraint.hs
+++ b/compiler/GHC/Tc/Types/Constraint.hs
@@ -70,7 +70,7 @@ module GHC.Tc.Types.Constraint (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Types ( TcLclEnv, setLclEnvTcLevel, getLclEnvTcLevel
, setLclEnvLoc, getLclEnvLoc )
@@ -90,15 +90,15 @@ import GHC.Core
import GHC.Core.TyCo.Ppr
import GHC.Types.Name.Occurrence
-import FV
+import GHC.Utils.FV
import GHC.Types.Var.Set
import GHC.Driver.Session
import GHC.Types.Basic
-import Outputable
+import GHC.Utils.Outputable
import GHC.Types.SrcLoc
-import Bag
-import Util
+import GHC.Data.Bag
+import GHC.Utils.Misc
import Control.Monad ( msum )
@@ -439,12 +439,12 @@ tyCoVarsOfCt :: Ct -> TcTyCoVarSet
tyCoVarsOfCt = fvVarSet . tyCoFVsOfCt
-- | Returns free variables of constraints as a deterministically ordered.
--- list. See Note [Deterministic FV] in FV.
+-- list. See Note [Deterministic FV] in GHC.Utils.FV.
tyCoVarsOfCtList :: Ct -> [TcTyCoVar]
tyCoVarsOfCtList = fvVarList . tyCoFVsOfCt
-- | Returns free variables of constraints as a composable FV computation.
--- See Note [Deterministic FV] in FV.
+-- See Note [Deterministic FV] in GHC.Utils.FV.
tyCoFVsOfCt :: Ct -> FV
tyCoFVsOfCt ct = tyCoFVsOfType (ctPred ct)
-- This must consult only the ctPred, so that it gets *tidied* fvs if the
@@ -452,34 +452,34 @@ tyCoFVsOfCt ct = tyCoFVsOfType (ctPred ct)
-- fields of the Ct, only the predicate in the CtEvidence.
-- | Returns free variables of a bag of constraints as a non-deterministic
--- set. See Note [Deterministic FV] in FV.
+-- set. See Note [Deterministic FV] in GHC.Utils.FV.
tyCoVarsOfCts :: Cts -> TcTyCoVarSet
tyCoVarsOfCts = fvVarSet . tyCoFVsOfCts
-- | Returns free variables of a bag of constraints as a deterministically
--- ordered list. See Note [Deterministic FV] in FV.
+-- ordered list. See Note [Deterministic FV] in GHC.Utils.FV.
tyCoVarsOfCtsList :: Cts -> [TcTyCoVar]
tyCoVarsOfCtsList = fvVarList . tyCoFVsOfCts
-- | Returns free variables of a bag of constraints as a composable FV
--- computation. See Note [Deterministic FV] in FV.
+-- computation. See Note [Deterministic FV] in GHC.Utils.FV.
tyCoFVsOfCts :: Cts -> FV
tyCoFVsOfCts = foldr (unionFV . tyCoFVsOfCt) emptyFV
-- | Returns free variables of WantedConstraints as a non-deterministic
--- set. See Note [Deterministic FV] in FV.
+-- set. See Note [Deterministic FV] in GHC.Utils.FV.
tyCoVarsOfWC :: WantedConstraints -> TyCoVarSet
-- Only called on *zonked* things, hence no need to worry about flatten-skolems
tyCoVarsOfWC = fvVarSet . tyCoFVsOfWC
-- | Returns free variables of WantedConstraints as a deterministically
--- ordered list. See Note [Deterministic FV] in FV.
+-- ordered list. See Note [Deterministic FV] in GHC.Utils.FV.
tyCoVarsOfWCList :: WantedConstraints -> [TyCoVar]
-- Only called on *zonked* things, hence no need to worry about flatten-skolems
tyCoVarsOfWCList = fvVarList . tyCoFVsOfWC
-- | Returns free variables of WantedConstraints as a composable FV
--- computation. See Note [Deterministic FV] in FV.
+-- computation. See Note [Deterministic FV] in GHC.Utils.FV.
tyCoFVsOfWC :: WantedConstraints -> FV
-- Only called on *zonked* things, hence no need to worry about flatten-skolems
tyCoFVsOfWC (WC { wc_simple = simple, wc_impl = implic })
@@ -487,7 +487,7 @@ tyCoFVsOfWC (WC { wc_simple = simple, wc_impl = implic })
tyCoFVsOfBag tyCoFVsOfImplic implic
-- | Returns free variables of Implication as a composable FV computation.
--- See Note [Deterministic FV] in FV.
+-- See Note [Deterministic FV] in GHC.Utils.FV.
tyCoFVsOfImplic :: Implication -> FV
-- Only called on *zonked* things, hence no need to worry about flatten-skolems
tyCoFVsOfImplic (Implic { ic_skols = skols
diff --git a/compiler/GHC/Tc/Types/EvTerm.hs b/compiler/GHC/Tc/Types/EvTerm.hs
index 09f016ca71..1352ceca90 100644
--- a/compiler/GHC/Tc/Types/EvTerm.hs
+++ b/compiler/GHC/Tc/Types/EvTerm.hs
@@ -4,9 +4,9 @@ module GHC.Tc.Types.EvTerm
( evDelayedError, evCallStack )
where
-import GhcPrelude
+import GHC.Prelude
-import FastString
+import GHC.Data.FastString
import GHC.Core.Type
import GHC.Core
import GHC.Core.Make
diff --git a/compiler/GHC/Tc/Types/Evidence.hs b/compiler/GHC/Tc/Types/Evidence.hs
index 922055ebf5..9c7e237ffe 100644
--- a/compiler/GHC/Tc/Types/Evidence.hs
+++ b/compiler/GHC/Tc/Types/Evidence.hs
@@ -53,7 +53,7 @@ module GHC.Tc.Types.Evidence (
) where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Types.Var
import GHC.Core.Coercion.Axiom
@@ -69,16 +69,16 @@ import GHC.Types.Var.Env
import GHC.Types.Var.Set
import GHC.Core.Predicate
import GHC.Types.Name
-import Pair
+import GHC.Data.Pair
import GHC.Core
import GHC.Core.Class ( classSCSelId )
import GHC.Core.FVs ( exprSomeFreeVars )
-import Util
-import Bag
+import GHC.Utils.Misc
+import GHC.Data.Bag
import qualified Data.Data as Data
-import Outputable
+import GHC.Utils.Outputable
import GHC.Types.SrcLoc
import Data.IORef( IORef )
import GHC.Types.Unique.Set
diff --git a/compiler/GHC/Tc/Types/Origin.hs b/compiler/GHC/Tc/Types/Origin.hs
index 86427853de..d21f594aef 100644
--- a/compiler/GHC/Tc/Types/Origin.hs
+++ b/compiler/GHC/Tc/Types/Origin.hs
@@ -22,7 +22,7 @@ module GHC.Tc.Types.Origin (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Utils.TcType
@@ -40,8 +40,8 @@ import GHC.Types.Name
import GHC.Types.Name.Reader
import GHC.Types.SrcLoc
-import FastString
-import Outputable
+import GHC.Data.FastString
+import GHC.Utils.Outputable
import GHC.Types.Basic
{- *********************************************************************
diff --git a/compiler/GHC/Tc/Utils/Backpack.hs b/compiler/GHC/Tc/Utils/Backpack.hs
index fc134817be..98999e57c8 100644
--- a/compiler/GHC/Tc/Utils/Backpack.hs
+++ b/compiler/GHC/Tc/Utils/Backpack.hs
@@ -18,7 +18,7 @@ module GHC.Tc.Utils.Backpack (
instantiateSignature,
) where
-import GhcPrelude
+import GHC.Prelude
import GHC.Types.Basic (defaultFixity, TypeOrKind(..))
import GHC.Driver.Packages
@@ -39,7 +39,7 @@ import GHC.Tc.Types.Constraint
import GHC.Tc.Types.Origin
import GHC.Iface.Load
import GHC.Rename.Names
-import ErrUtils
+import GHC.Utils.Error
import GHC.Types.Id
import GHC.Types.Module
import GHC.Types.Name
@@ -48,11 +48,11 @@ import GHC.Types.Name.Set
import GHC.Types.Avail
import GHC.Types.SrcLoc
import GHC.Driver.Types
-import Outputable
+import GHC.Utils.Outputable
import GHC.Core.Type
-import FastString
+import GHC.Data.FastString
import GHC.Rename.Fixity ( lookupFixityRn )
-import Maybes
+import GHC.Data.Maybe
import GHC.Tc.Utils.Env
import GHC.Types.Var
import GHC.Iface.Syntax
@@ -65,7 +65,7 @@ import GHC.Types.Name.Shape
import GHC.Tc.Errors
import GHC.Tc.Utils.Unify
import GHC.Iface.Rename
-import Util
+import GHC.Utils.Misc
import Control.Monad
import Data.List (find)
diff --git a/compiler/GHC/Tc/Utils/Env.hs b/compiler/GHC/Tc/Utils/Env.hs
index cf55316b22..d1a92298db 100644
--- a/compiler/GHC/Tc/Utils/Env.hs
+++ b/compiler/GHC/Tc/Utils/Env.hs
@@ -71,7 +71,7 @@ module GHC.Tc.Utils.Env(
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Iface.Env
@@ -101,15 +101,15 @@ import GHC.Driver.Session
import GHC.Types.SrcLoc
import GHC.Types.Basic hiding( SuccessFlag(..) )
import GHC.Types.Module
-import Outputable
-import Encoding
-import FastString
-import Bag
-import ListSetOps
-import ErrUtils
-import Maybes( MaybeErr(..), orElse )
+import GHC.Utils.Outputable
+import GHC.Utils.Encoding
+import GHC.Data.FastString
+import GHC.Data.Bag
+import GHC.Data.List.SetOps
+import GHC.Utils.Error
+import GHC.Data.Maybe( MaybeErr(..), orElse )
import qualified GHC.LanguageExtensions as LangExt
-import Util ( HasDebugCallStack )
+import GHC.Utils.Misc ( HasDebugCallStack )
import Data.IORef
import Data.List (intercalate)
diff --git a/compiler/GHC/Tc/Utils/Instantiate.hs b/compiler/GHC/Tc/Utils/Instantiate.hs
index 7e45b5d947..ea8ffd912b 100644
--- a/compiler/GHC/Tc/Utils/Instantiate.hs
+++ b/compiler/GHC/Tc/Utils/Instantiate.hs
@@ -34,13 +34,13 @@ module GHC.Tc.Utils.Instantiate (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import {-# SOURCE #-} GHC.Tc.Gen.Expr( tcCheckExpr, tcSyntaxOp )
import {-# SOURCE #-} GHC.Tc.Utils.Unify( unifyType, unifyKind )
import GHC.Types.Basic ( IntegralLit(..), SourceText(..) )
-import FastString
+import GHC.Data.FastString
import GHC.Hs
import GHC.Tc.Utils.Zonk
import GHC.Tc.Utils.Monad
@@ -70,8 +70,8 @@ import GHC.Types.Var.Env
import GHC.Builtin.Names
import GHC.Types.SrcLoc as SrcLoc
import GHC.Driver.Session
-import Util
-import Outputable
+import GHC.Utils.Misc
+import GHC.Utils.Outputable
import GHC.Types.Basic ( TypeOrKind(..) )
import qualified GHC.LanguageExtensions as LangExt
diff --git a/compiler/GHC/Tc/Utils/Monad.hs b/compiler/GHC/Tc/Utils/Monad.hs
index 918a71594d..60714e4cc1 100644
--- a/compiler/GHC/Tc/Utils/Monad.hs
+++ b/compiler/GHC/Tc/Utils/Monad.hs
@@ -138,15 +138,15 @@ module GHC.Tc.Utils.Monad(
-- * Types etc.
module GHC.Tc.Types,
- module IOEnv
+ module GHC.Data.IOEnv
) where
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Types -- Re-export all
-import IOEnv -- Re-export all
+import GHC.Data.IOEnv -- Re-export all
import GHC.Tc.Types.Constraint
import GHC.Tc.Types.Evidence
import GHC.Tc.Types.Origin
@@ -166,20 +166,20 @@ import GHC.Builtin.Names
import GHC.Types.Id
import GHC.Types.Var.Set
import GHC.Types.Var.Env
-import ErrUtils
+import GHC.Utils.Error
import GHC.Types.SrcLoc
import GHC.Types.Name.Env
import GHC.Types.Name.Set
-import Bag
-import Outputable
+import GHC.Data.Bag
+import GHC.Utils.Outputable as Outputable
import GHC.Types.Unique.Supply
import GHC.Driver.Session
-import FastString
-import Panic
-import Util
+import GHC.Data.FastString
+import GHC.Utils.Panic
+import GHC.Utils.Misc
import GHC.Types.Annotations
import GHC.Types.Basic( TopLevelFlag, TypeOrKind(..) )
-import Maybes
+import GHC.Data.Maybe
import GHC.Types.CostCentre.State
import qualified GHC.LanguageExtensions as LangExt
diff --git a/compiler/GHC/Tc/Utils/TcMType.hs b/compiler/GHC/Tc/Utils/TcMType.hs
index d37b37efe3..1189a57cd7 100644
--- a/compiler/GHC/Tc/Utils/TcMType.hs
+++ b/compiler/GHC/Tc/Utils/TcMType.hs
@@ -94,7 +94,7 @@ module GHC.Tc.Utils.TcMType (
#include "HsVersions.h"
-- friends:
-import GhcPrelude
+import GHC.Prelude
import GHC.Core.TyCo.Rep
import GHC.Core.TyCo.Ppr
@@ -119,18 +119,18 @@ import GHC.Builtin.Types.Prim
import GHC.Types.Var.Env
import GHC.Types.Name.Env
import GHC.Builtin.Names
-import Util
-import Outputable
-import FastString
-import Bag
-import Pair
+import GHC.Utils.Misc
+import GHC.Utils.Outputable
+import GHC.Data.FastString
+import GHC.Data.Bag
+import GHC.Data.Pair
import GHC.Types.Unique.Set
import GHC.Driver.Session
import qualified GHC.LanguageExtensions as LangExt
import GHC.Types.Basic ( TypeOrKind(..) )
import Control.Monad
-import Maybes
+import GHC.Data.Maybe
import Data.List ( mapAccumL )
import Control.Arrow ( second )
import qualified Data.Semigroup as Semi
diff --git a/compiler/GHC/Tc/Utils/TcType.hs b/compiler/GHC/Tc/Utils/TcType.hs
index dc1ef3a69e..693fd1f132 100644
--- a/compiler/GHC/Tc/Utils/TcType.hs
+++ b/compiler/GHC/Tc/Utils/TcType.hs
@@ -189,7 +189,7 @@ module GHC.Tc.Utils.TcType (
#include "HsVersions.h"
-- friends:
-import GhcPrelude
+import GHC.Prelude
import GHC.Core.TyCo.Rep
import GHC.Core.TyCo.Subst ( mkTvSubst, substTyWithCoVars )
@@ -217,12 +217,12 @@ import GHC.Builtin.Names
import GHC.Builtin.Types ( coercibleClass, eqClass, heqClass, unitTyCon, unitTyConKey
, listTyCon, constraintKind )
import GHC.Types.Basic
-import Util
-import Maybes
-import ListSetOps ( getNth, findDupsEq )
-import Outputable
-import FastString
-import ErrUtils( Validity(..), MsgDoc, isValid )
+import GHC.Utils.Misc
+import GHC.Data.Maybe
+import GHC.Data.List.SetOps ( getNth, findDupsEq )
+import GHC.Utils.Outputable
+import GHC.Data.FastString
+import GHC.Utils.Error( Validity(..), MsgDoc, isValid )
import qualified GHC.LanguageExtensions as LangExt
import Data.List ( mapAccumL )
diff --git a/compiler/GHC/Tc/Utils/TcType.hs-boot b/compiler/GHC/Tc/Utils/TcType.hs-boot
index 481d261f79..dc5f4cf73f 100644
--- a/compiler/GHC/Tc/Utils/TcType.hs-boot
+++ b/compiler/GHC/Tc/Utils/TcType.hs-boot
@@ -1,5 +1,5 @@
module GHC.Tc.Utils.TcType where
-import Outputable( SDoc )
+import GHC.Utils.Outputable( SDoc )
data MetaDetails
diff --git a/compiler/GHC/Tc/Utils/Unify.hs b/compiler/GHC/Tc/Utils/Unify.hs
index 6a4d61627b..7c14e56319 100644
--- a/compiler/GHC/Tc/Utils/Unify.hs
+++ b/compiler/GHC/Tc/Utils/Unify.hs
@@ -40,7 +40,7 @@ module GHC.Tc.Utils.Unify (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Core.TyCo.Rep
@@ -62,13 +62,13 @@ import GHC.Builtin.Types.Prim( tYPE )
import GHC.Types.Var as Var
import GHC.Types.Var.Set
import GHC.Types.Var.Env
-import ErrUtils
+import GHC.Utils.Error
import GHC.Driver.Session
import GHC.Types.Basic
-import Bag
-import Util
+import GHC.Data.Bag
+import GHC.Utils.Misc
import qualified GHC.LanguageExtensions as LangExt
-import Outputable
+import GHC.Utils.Outputable as Outputable
import Data.Maybe( isNothing )
import Control.Monad
diff --git a/compiler/GHC/Tc/Utils/Unify.hs-boot b/compiler/GHC/Tc/Utils/Unify.hs-boot
index a281bf136b..36f3367634 100644
--- a/compiler/GHC/Tc/Utils/Unify.hs-boot
+++ b/compiler/GHC/Tc/Utils/Unify.hs-boot
@@ -1,6 +1,6 @@
module GHC.Tc.Utils.Unify where
-import GhcPrelude
+import GHC.Prelude
import GHC.Tc.Utils.TcType ( TcTauType )
import GHC.Tc.Types ( TcM )
import GHC.Tc.Types.Evidence ( TcCoercion )
diff --git a/compiler/GHC/Tc/Utils/Zonk.hs b/compiler/GHC/Tc/Utils/Zonk.hs
index 09caf5fefa..8fbbba22b1 100644
--- a/compiler/GHC/Tc/Utils/Zonk.hs
+++ b/compiler/GHC/Tc/Utils/Zonk.hs
@@ -46,7 +46,7 @@ module GHC.Tc.Utils.Zonk (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
import GHC.Hs
import GHC.Types.Id
@@ -74,11 +74,11 @@ import GHC.Types.Var
import GHC.Types.Var.Env
import GHC.Platform
import GHC.Types.Basic
-import Maybes
+import GHC.Data.Maybe
import GHC.Types.SrcLoc
-import Bag
-import Outputable
-import Util
+import GHC.Data.Bag
+import GHC.Utils.Outputable
+import GHC.Utils.Misc
import GHC.Types.Unique.FM
import GHC.Core
diff --git a/compiler/GHC/Tc/Validity.hs b/compiler/GHC/Tc/Validity.hs
index c72d4cd357..7b9d1192bd 100644
--- a/compiler/GHC/Tc/Validity.hs
+++ b/compiler/GHC/Tc/Validity.hs
@@ -22,9 +22,9 @@ module GHC.Tc.Validity (
#include "HsVersions.h"
-import GhcPrelude
+import GHC.Prelude
-import Maybes
+import GHC.Data.Maybe
-- friends:
import GHC.Tc.Utils.Unify ( tcSubType_NC )
@@ -59,15 +59,15 @@ import GHC.Types.Name
import GHC.Types.Var.Env
import GHC.Types.Var.Set
import GHC.Types.Var ( VarBndr(..), mkTyVar )
-import FV
-import ErrUtils
+import GHC.Utils.FV
+import GHC.Utils.Error
import GHC.Driver.Session
-import Util
-import ListSetOps
+import GHC.Utils.Misc
+import GHC.Data.List.SetOps
import GHC.Types.SrcLoc
-import Outputable
+import GHC.Utils.Outputable as Outputable
import GHC.Types.Unique ( mkAlphaTyVarUnique )
-import Bag ( emptyBag )
+import GHC.Data.Bag ( emptyBag )
import qualified GHC.LanguageExtensions as LangExt
import Control.Monad