summaryrefslogtreecommitdiff
path: root/compiler/GHC/Tc/Utils
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Tc/Utils')
-rw-r--r--compiler/GHC/Tc/Utils/Backpack.hs80
-rw-r--r--compiler/GHC/Tc/Utils/Env.hs49
-rw-r--r--compiler/GHC/Tc/Utils/Instantiate.hs50
-rw-r--r--compiler/GHC/Tc/Utils/Monad.hs48
-rw-r--r--compiler/GHC/Tc/Utils/TcType.hs2
-rw-r--r--compiler/GHC/Tc/Utils/Zonk.hs41
6 files changed, 166 insertions, 104 deletions
diff --git a/compiler/GHC/Tc/Utils/Backpack.hs b/compiler/GHC/Tc/Utils/Backpack.hs
index 7919f8cc4c..ecdc4ae624 100644
--- a/compiler/GHC/Tc/Utils/Backpack.hs
+++ b/compiler/GHC/Tc/Utils/Backpack.hs
@@ -18,57 +18,75 @@ module GHC.Tc.Utils.Backpack (
import GHC.Prelude
-import GHC.Types.Basic (defaultFixity, TypeOrKind(..))
-import GHC.Unit
-import GHC.Tc.Gen.Export
+import GHC.Driver.Env
import GHC.Driver.Session
import GHC.Driver.Ppr
-import GHC.Hs
+
+import GHC.Types.Basic (TypeOrKind(..))
+import GHC.Types.Fixity (defaultFixity)
+import GHC.Types.Fixity.Env
+import GHC.Types.TypeEnv
import GHC.Types.Name.Reader
-import GHC.Tc.Utils.Monad
+import GHC.Types.Id
+import GHC.Types.Name
+import GHC.Types.Name.Env
+import GHC.Types.Name.Set
+import GHC.Types.Avail
+import GHC.Types.SrcLoc
+import GHC.Types.SourceFile
+import GHC.Types.Var
+import GHC.Types.Unique.DSet
+import GHC.Types.Name.Shape
+
+import GHC.Unit
+import GHC.Unit.State
+import GHC.Unit.Finder
+import GHC.Unit.Module.Warnings
+import GHC.Unit.Module.ModIface
+import GHC.Unit.Module.ModDetails
+import GHC.Unit.Module.Imported
+import GHC.Unit.Module.Deps
+
+import GHC.Tc.Gen.Export
import GHC.Tc.TyCl.Utils
-import GHC.Core.InstEnv
-import GHC.Core.FamInstEnv
+import GHC.Tc.Utils.Monad
import GHC.Tc.Utils.Instantiate
-import GHC.IfaceToCore
import GHC.Tc.Utils.TcMType
import GHC.Tc.Utils.TcType
import GHC.Tc.Solver
import GHC.Tc.Types.Constraint
import GHC.Tc.Types.Origin
-import GHC.Iface.Load
-import GHC.Rename.Names
-import GHC.Utils.Error
-import GHC.Types.Id
-import GHC.Types.Name
-import GHC.Types.Name.Env
-import GHC.Types.Name.Set
-import GHC.Types.Avail
-import GHC.Types.SrcLoc
-import GHC.Driver.Types
-import GHC.Utils.Outputable
-import GHC.Utils.Panic
+
+import GHC.Hs
+
+import GHC.Core.InstEnv
+import GHC.Core.FamInstEnv
import GHC.Core.Type
import GHC.Core.Multiplicity
-import GHC.Data.FastString
-import GHC.Rename.Fixity ( lookupFixityRn )
-import GHC.Data.Maybe
-import GHC.Tc.Utils.Env
-import GHC.Types.Var
+
+import GHC.IfaceToCore
+import GHC.Iface.Load
+import GHC.Iface.Rename
import GHC.Iface.Syntax
-import qualified Data.Map as Map
-import GHC.Driver.Finder
-import GHC.Types.Unique.DSet
-import GHC.Types.Name.Shape
+import GHC.Rename.Names
+import GHC.Rename.Fixity ( lookupFixityRn )
+
+import GHC.Tc.Utils.Env
import GHC.Tc.Errors
import GHC.Tc.Utils.Unify
-import GHC.Iface.Rename
+
import GHC.Utils.Misc
-import GHC.Unit.State
+import GHC.Utils.Error
+import GHC.Utils.Outputable
+import GHC.Utils.Panic
+
+import GHC.Data.FastString
+import GHC.Data.Maybe
import Control.Monad
import Data.List (find)
+import qualified Data.Map as Map
import {-# SOURCE #-} GHC.Tc.Module
diff --git a/compiler/GHC/Tc/Utils/Env.hs b/compiler/GHC/Tc/Utils/Env.hs
index 2bcc8af641..7755d3370d 100644
--- a/compiler/GHC/Tc/Utils/Env.hs
+++ b/compiler/GHC/Tc/Utils/Env.hs
@@ -74,21 +74,27 @@ module GHC.Tc.Utils.Env(
import GHC.Prelude
+import GHC.Driver.Env
+import GHC.Driver.Session
+
+import GHC.Builtin.Names
+import GHC.Builtin.Types
+
+import GHC.Runtime.Context
+
import GHC.Hs
+
import GHC.Iface.Env
+import GHC.Iface.Load
+
import GHC.Tc.Utils.Monad
import GHC.Tc.Utils.TcMType
import GHC.Tc.Utils.TcType
-import GHC.Core.UsageEnv
import GHC.Tc.Types.Evidence (HsWrapper, idHsWrapper)
import {-# SOURCE #-} GHC.Tc.Utils.Unify ( tcSubMult )
import GHC.Tc.Types.Origin ( CtOrigin(UsageEnvironmentOf) )
-import GHC.Iface.Load
-import GHC.Builtin.Names
-import GHC.Builtin.Types
-import GHC.Types.Id
-import GHC.Types.Var
-import GHC.Types.Name.Reader
+
+import GHC.Core.UsageEnv
import GHC.Core.InstEnv
import GHC.Core.DataCon ( DataCon )
import GHC.Core.PatSyn ( PatSyn )
@@ -97,26 +103,35 @@ import GHC.Core.TyCon
import GHC.Core.Type
import GHC.Core.Coercion.Axiom
import GHC.Core.Class
-import GHC.Types.Name
-import GHC.Types.Name.Set
-import GHC.Types.Name.Env
-import GHC.Types.Var.Env
-import GHC.Driver.Types
-import GHC.Driver.Session
-import GHC.Types.SrcLoc
-import GHC.Types.Basic hiding( SuccessFlag(..) )
+
import GHC.Unit.Module
import GHC.Unit.Home
+import GHC.Unit.External
+
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Utils.Encoding
+import GHC.Utils.Error
+import GHC.Utils.Misc ( HasDebugCallStack )
+
import GHC.Data.FastString
import GHC.Data.Bag
import GHC.Data.List.SetOps
-import GHC.Utils.Error
import GHC.Data.Maybe( MaybeErr(..), orElse )
+
+import GHC.Types.SrcLoc
+import GHC.Types.Basic hiding( SuccessFlag(..) )
+import GHC.Types.TypeEnv
+import GHC.Types.SourceFile
+import GHC.Types.Name
+import GHC.Types.Name.Set
+import GHC.Types.Name.Env
+import GHC.Types.Id
+import GHC.Types.Var
+import GHC.Types.Var.Env
+import GHC.Types.Name.Reader
+import GHC.Types.TyThing
import qualified GHC.LanguageExtensions as LangExt
-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 a47e913d17..5416e29692 100644
--- a/compiler/GHC/Tc/Utils/Instantiate.hs
+++ b/compiler/GHC/Tc/Utils/Instantiate.hs
@@ -41,47 +41,53 @@ module GHC.Tc.Utils.Instantiate (
import GHC.Prelude
-import {-# SOURCE #-} GHC.Tc.Gen.Expr( tcCheckPolyExpr, tcSyntaxOp )
-import {-# SOURCE #-} GHC.Tc.Utils.Unify( unifyType, unifyKind )
+import GHC.Driver.Session
+
+import GHC.Builtin.Types ( heqDataCon, eqDataCon, integerTyConName )
+import GHC.Builtin.Names
-import GHC.Types.Basic ( IntegralLit(..), SourceText(..) )
import GHC.Hs
+
+import GHC.Core.InstEnv
+import GHC.Core.Predicate
+import GHC.Core ( isOrphan )
+import GHC.Core.Type
+import GHC.Core.Multiplicity
+import GHC.Core.TyCo.Rep
+import GHC.Core.TyCo.Ppr ( debugPprType )
+import GHC.Core.Class( Class )
+import GHC.Core( Expr(..) ) -- For the Coercion constructor
+import GHC.Core.DataCon
+
+import {-# SOURCE #-} GHC.Tc.Gen.Expr( tcCheckPolyExpr, tcSyntaxOp )
+import {-# SOURCE #-} GHC.Tc.Utils.Unify( unifyType, unifyKind )
import GHC.Tc.Utils.Zonk
import GHC.Tc.Utils.Monad
import GHC.Tc.Types.Constraint
-import GHC.Core.Predicate
import GHC.Tc.Types.Origin
import GHC.Tc.Utils.Env
import GHC.Tc.Types.Evidence
-import GHC.Core.InstEnv
-import GHC.Builtin.Types ( heqDataCon, eqDataCon, integerTyConName )
-import GHC.Core ( isOrphan )
import GHC.Tc.Instance.FunDeps
import GHC.Tc.Utils.TcMType
-import GHC.Core.Type
-import GHC.Core.Multiplicity
-import GHC.Core.TyCo.Rep
-import GHC.Core.TyCo.Ppr ( debugPprType )
import GHC.Tc.Utils.TcType
-import GHC.Driver.Types
-import GHC.Core.Class( Class )
+
import GHC.Types.Id.Make( mkDictFunId )
-import GHC.Core( Expr(..) ) -- For the Coercion constructor
+import GHC.Types.Basic ( TypeOrKind(..) )
+import GHC.Types.SourceText
+import GHC.Types.SrcLoc as SrcLoc
+import GHC.Types.Var.Env
+import GHC.Types.Var.Set
import GHC.Types.Id
import GHC.Types.Name
import GHC.Types.Var
-import GHC.Core.DataCon
-import GHC.Types.Var.Env
-import GHC.Types.Var.Set
-import GHC.Builtin.Names
-import GHC.Types.SrcLoc as SrcLoc
-import GHC.Driver.Session
+import qualified GHC.LanguageExtensions as LangExt
+
import GHC.Utils.Misc
import GHC.Utils.Panic
import GHC.Utils.Outputable
-import GHC.Types.Basic ( TypeOrKind(..) )
-import qualified GHC.LanguageExtensions as LangExt
+
import GHC.Unit.State
+import GHC.Unit.External
import Data.List ( sortBy, mapAccumL )
import Control.Monad( unless )
diff --git a/compiler/GHC/Tc/Utils/Monad.hs b/compiler/GHC/Tc/Utils/Monad.hs
index 9910101424..e42fe42799 100644
--- a/compiler/GHC/Tc/Utils/Monad.hs
+++ b/compiler/GHC/Tc/Utils/Monad.hs
@@ -151,47 +151,61 @@ module GHC.Tc.Utils.Monad(
import GHC.Prelude
-import GHC.Driver.Ppr
+
+import GHC.Builtin.Names
import GHC.Tc.Types -- 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
+import GHC.Tc.Utils.TcType
import GHC.Hs hiding (LIE)
-import GHC.Driver.Types
+
import GHC.Unit
-import GHC.Types.Name.Reader
-import GHC.Types.Name
+import GHC.Unit.External
+import GHC.Unit.Module.Warnings
+import GHC.Unit.Home.ModInfo
+
import GHC.Core.UsageEnv
import GHC.Core.Multiplicity
-import GHC.Core.Type
-
-import GHC.Tc.Utils.TcType
import GHC.Core.InstEnv
import GHC.Core.FamInstEnv
-import GHC.Builtin.Names
+import GHC.Driver.Env
+import GHC.Driver.Ppr
+import GHC.Driver.Session
+
+import GHC.Runtime.Context
+
+import GHC.Data.IOEnv -- Re-export all
+import GHC.Data.Bag
+import GHC.Data.FastString
+import GHC.Data.Maybe
+
+import GHC.Utils.Outputable as Outputable
+import GHC.Utils.Error
+import GHC.Utils.Panic
+import GHC.Utils.Misc
+
+import GHC.Types.Fixity.Env
+import GHC.Types.Name.Reader
+import GHC.Types.Name
+import GHC.Types.SafeHaskell
import GHC.Types.Id
+import GHC.Types.TypeEnv
import GHC.Types.Var.Set
import GHC.Types.Var.Env
-import GHC.Utils.Error
import GHC.Types.SrcLoc
import GHC.Types.Name.Env
import GHC.Types.Name.Set
-import GHC.Data.Bag
-import GHC.Utils.Outputable as Outputable
+import GHC.Types.Name.Ppr
import GHC.Types.Unique (uniqFromMask)
import GHC.Types.Unique.Supply
-import GHC.Driver.Session
-import GHC.Data.FastString
-import GHC.Utils.Panic
-import GHC.Utils.Misc
import GHC.Types.Annotations
import GHC.Types.Basic( TopLevelFlag, TypeOrKind(..) )
-import GHC.Data.Maybe
import GHC.Types.CostCentre.State
+import GHC.Types.SourceFile
import qualified GHC.LanguageExtensions as LangExt
diff --git a/compiler/GHC/Tc/Utils/TcType.hs b/compiler/GHC/Tc/Utils/TcType.hs
index 54258c7e52..412fc5aa43 100644
--- a/compiler/GHC/Tc/Utils/TcType.hs
+++ b/compiler/GHC/Tc/Utils/TcType.hs
@@ -182,7 +182,7 @@ module GHC.Tc.Utils.TcType (
--------------------------------
pprKind, pprParendKind, pprSigmaType,
- pprType, pprParendType, pprTypeApp, pprTyThingCategory, tyThingCategory,
+ pprType, pprParendType, pprTypeApp,
pprTheta, pprParendTheta, pprThetaArrowTy, pprClassPred,
pprTCvBndr, pprTCvBndrs,
diff --git a/compiler/GHC/Tc/Utils/Zonk.hs b/compiler/GHC/Tc/Utils/Zonk.hs
index a47b75adc2..85587c29f8 100644
--- a/compiler/GHC/Tc/Utils/Zonk.hs
+++ b/compiler/GHC/Tc/Utils/Zonk.hs
@@ -47,43 +47,52 @@ module GHC.Tc.Utils.Zonk (
import GHC.Prelude
+import GHC.Platform
+
+import GHC.Builtin.Types
+import GHC.Builtin.Types.Prim
+import GHC.Builtin.Names
+
import GHC.Hs
-import GHC.Types.Id
-import GHC.Types.Id.Info
-import GHC.Core.Predicate
+
+import {-# SOURCE #-} GHC.Tc.Gen.Splice (runTopSplice)
import GHC.Tc.Utils.Monad
-import GHC.Builtin.Names
import GHC.Tc.TyCl.Build ( TcMethInfo, MethInfo )
import GHC.Tc.Utils.TcType
import GHC.Tc.Utils.TcMType
import GHC.Tc.Utils.Env ( tcLookupGlobalOnly )
import GHC.Tc.Types.Evidence
+
import GHC.Core.TyCo.Ppr ( pprTyVar )
-import GHC.Builtin.Types.Prim
import GHC.Core.TyCon
-import GHC.Builtin.Types
import GHC.Core.Type
import GHC.Core.Coercion
import GHC.Core.ConLike
import GHC.Core.DataCon
-import GHC.Driver.Types
+
+import GHC.Utils.Outputable
+import GHC.Utils.Misc
+import GHC.Utils.Panic
+
+import GHC.Core.Multiplicity
+import GHC.Core
+import GHC.Core.Predicate
+
import GHC.Types.Name
import GHC.Types.Name.Env
import GHC.Types.Var
import GHC.Types.Var.Env
-import GHC.Platform
+import GHC.Types.Id
+import GHC.Types.Id.Info
+import GHC.Types.TypeEnv
+import GHC.Types.SourceText
import GHC.Types.Basic
-import GHC.Data.Maybe
import GHC.Types.SrcLoc
-import GHC.Data.Bag
-import GHC.Utils.Outputable
-import GHC.Utils.Misc
-import GHC.Utils.Panic
import GHC.Types.Unique.FM
-import GHC.Core.Multiplicity
-import GHC.Core
+import GHC.Types.TyThing
-import {-# SOURCE #-} GHC.Tc.Gen.Splice (runTopSplice)
+import GHC.Data.Maybe
+import GHC.Data.Bag
import Control.Monad
import Data.List ( partition )