diff options
Diffstat (limited to 'compiler/GHC/Tc/Utils')
| -rw-r--r-- | compiler/GHC/Tc/Utils/Backpack.hs | 80 | ||||
| -rw-r--r-- | compiler/GHC/Tc/Utils/Env.hs | 49 | ||||
| -rw-r--r-- | compiler/GHC/Tc/Utils/Instantiate.hs | 50 | ||||
| -rw-r--r-- | compiler/GHC/Tc/Utils/Monad.hs | 48 | ||||
| -rw-r--r-- | compiler/GHC/Tc/Utils/TcType.hs | 2 | ||||
| -rw-r--r-- | compiler/GHC/Tc/Utils/Zonk.hs | 41 |
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 ) |
