diff --git a/ghc/compiler/coreSyn/CoreLint.lhs b/ghc/compiler/coreSyn/CoreLint.lhs index d4dffadb7849445a69470fa65bfc996ea469dc80..919b6e87632422a7cad92f56245baf403c732c99 100644 --- a/ghc/compiler/coreSyn/CoreLint.lhs +++ b/ghc/compiler/coreSyn/CoreLint.lhs @@ -17,12 +17,11 @@ import CmdLineOpts ( opt_D_show_passes, opt_DoCoreLinting ) import CoreSyn import Bag -import Kind ( hasMoreBoxityInfo, Kind{-instance-}, - isTypeKind, isBoxedTypeKind {- TEMP --SOF -} ) +import Kind ( hasMoreBoxityInfo, Kind{-instance-} ) import Literal ( literalType, Literal{-instance-} ) import Id ( idType, isBottomingId, dataConRepType, isDataCon, isNewCon, isAlgCon, dataConArgTys, GenId{-instances-}, - emptyIdSet, mkIdSet, intersectIdSets, + emptyIdSet, mkIdSet, unionIdSets, elementOfIdSet, IdSet, Id ) @@ -32,12 +31,12 @@ import Name ( isLocallyDefined, getSrcLoc, Name{-instance NamedThing-}, import PprCore import ErrUtils ( doIfSet, ghcExit ) import PprType ( GenType, GenTyVar, TyCon ) -import PrimOp ( primOpType, PrimOp(..) ) +import PrimOp ( primOpType ) import PrimRep ( PrimRep(..) ) import SrcLoc ( SrcLoc ) import Type ( mkFunTy, splitFunTy_maybe, mkForAllTy, splitForAllTy_maybe, - isUnpointedType, typeKind, instantiateTy, splitSigmaTy, + isUnpointedType, typeKind, instantiateTy, splitAlgTyConApp_maybe, Type ) import TyCon ( isPrimTyCon, isDataTyCon ) @@ -47,7 +46,7 @@ import Unique ( Unique ) import Util ( zipEqual ) import Outputable -infixr 9 `thenL`, `seqL`, `thenMaybeL`, `seqMaybeL` +infixr 9 `thenL`, `seqL`, `thenMaybeL` \end{code} %************************************************************************ @@ -492,12 +491,6 @@ thenMaybeL m k spec loc scope errs (Nothing, errs2) -> (Nothing, errs2) (Just r, errs2) -> k r spec loc scope errs2 -seqMaybeL :: LintM (Maybe a) -> LintM (Maybe b) -> LintM (Maybe b) -seqMaybeL m k spec loc scope errs - = case m spec loc scope errs of - (Nothing, errs2) -> (Nothing, errs2) - (Just _, errs2) -> k spec loc scope errs2 - mapL :: (a -> LintM b) -> [a] -> LintM [b] mapL f [] = returnL [] mapL f (x:xs) @@ -524,9 +517,6 @@ checkIfSpecDoneL True msg spec loc scope errs = ((), errs) checkIfSpecDoneL False msg True loc scope errs = ((), addErr errs msg loc) checkIfSpecDoneL False msg False loc scope errs = ((), errs) -addErrIfL pred spec - = if pred then addErrL spec else returnL () - addErrL :: ErrMsg -> LintM () addErrL msg spec loc scope errs = ((), addErr errs msg loc) @@ -591,21 +581,6 @@ mkCaseAltMsg alts = ($$) (ptext SLIT("Type of case alternatives not the same:")) (ppr alts) -mkCaseDataConMsg :: CoreExpr -> ErrMsg -mkCaseDataConMsg expr - = ($$) (ptext SLIT("A case scrutinee not of data constructor type:")) - (pprCoreExpr expr) - -mkCaseNotPrimMsg :: TyCon -> ErrMsg -mkCaseNotPrimMsg tycon - = ($$) (ptext SLIT("A primitive case on a non-primitive type:")) - (ppr tycon) - -mkCasePrimMsg :: TyCon -> ErrMsg -mkCasePrimMsg tycon - = ($$) (ptext SLIT("An algebraic case on a primitive type:")) - (ppr tycon) - mkCaseAbstractMsg :: TyCon -> ErrMsg mkCaseAbstractMsg tycon = ($$) (ptext SLIT("An algebraic case on some weird type:")) @@ -690,10 +665,4 @@ mkRhsPrimMsg binder rhs ppr binder], hsep [ptext SLIT("Binder's type:"), ppr (idType binder)] ] - -mkSpecTyAppMsg :: CoreArg -> ErrMsg -mkSpecTyAppMsg arg - = ($$) - (ptext SLIT("Unboxed types in a type application (after specialisation):")) - (ppr arg) \end{code} diff --git a/ghc/compiler/deSugar/Check.lhs b/ghc/compiler/deSugar/Check.lhs index c4901cbc8c151e5929d4721d598ad446f7bfc69e..2eccc3e3e7f2b2986e5d8bb8cfe29f0f271c4fe6 100644 --- a/ghc/compiler/deSugar/Check.lhs +++ b/ghc/compiler/deSugar/Check.lhs @@ -9,21 +9,11 @@ module Check ( check , ExhaustivePat, WarningPat, BoxedString(..) ) where -import {-# SOURCE #-} DsExpr ( dsExpr ) -import {-# SOURCE #-} DsBinds ( dsBinds ) - import HsSyn -import TcHsSyn ( TypecheckedPat, - TypecheckedMatch, - TypecheckedHsBinds, - TypecheckedHsExpr - ) +import TcHsSyn ( TypecheckedPat ) import DsHsSyn ( outPatType ) import CoreSyn -import DsMonad ( DsM, DsMatchContext(..), - DsMatchKind(..) - ) import DsUtils ( EquationInfo(..), MatchResult(..), EqnNo, @@ -32,7 +22,6 @@ import DsUtils ( EquationInfo(..), ) import Id ( idType, Id, - idName, isTupleCon, getIdArity ) diff --git a/ghc/compiler/deSugar/Desugar.lhs b/ghc/compiler/deSugar/Desugar.lhs index 8bee5d613ed913add0fcc2ddeae9d1479428932e..61ce1e65750071d6f02bcd5ef41f44e5101338f7 100644 --- a/ghc/compiler/deSugar/Desugar.lhs +++ b/ghc/compiler/deSugar/Desugar.lhs @@ -9,25 +9,20 @@ module Desugar ( deSugar, pprDsWarnings ) where #include "HsVersions.h" import CmdLineOpts ( opt_D_dump_ds ) -import HsSyn ( HsBinds, HsExpr, MonoBinds - ) -import TcHsSyn ( TypecheckedMonoBinds, TypecheckedHsExpr - ) +import HsSyn ( MonoBinds ) +import TcHsSyn ( TypecheckedMonoBinds ) import CoreSyn import PprCore ( pprCoreBindings ) -import Name ( isExported ) import DsMonad import DsBinds ( dsMonoBinds ) import DsUtils -import Bag ( unionBags, isEmptyBag ) -import BasicTypes ( Module, RecFlag(..) ) -import CmdLineOpts ( opt_DoCoreLinting, opt_SccGroup, opt_SccProfilingOn ) -import CostCentre ( IsCafCC(..), mkAutoCC ) +import Bag ( isEmptyBag ) +import BasicTypes ( Module ) +import CmdLineOpts ( opt_SccGroup, opt_SccProfilingOn ) import CoreLift ( liftCoreBindings ) import CoreLint ( lintCoreBindings ) -import Id ( nullIdEnv, mkIdEnv, idType, - DictVar, GenId, Id ) +import Id ( nullIdEnv, GenId, Id ) import ErrUtils ( dumpIfSet, doIfSet ) import Outputable import UniqSupply ( splitUniqSupply, UniqSupply ) diff --git a/ghc/compiler/deSugar/DsBinds.lhs b/ghc/compiler/deSugar/DsBinds.lhs index c365d145003560f895a6bfe2342334ded4a4ae21..8a0526232f22b8a59086d61e77689e0b10ad1aaf 100644 --- a/ghc/compiler/deSugar/DsBinds.lhs +++ b/ghc/compiler/deSugar/DsBinds.lhs @@ -30,15 +30,13 @@ import BasicTypes ( Module, RecFlag(..) ) import CmdLineOpts ( opt_SccProfilingOn, opt_AutoSccsOnAllToplevs, opt_AutoSccsOnExportedToplevs ) -import CostCentre ( mkAutoCC, IsCafCC(..), mkAllDictsCC, preludeDictsCostCentre ) -import Id ( idType, DictVar, Id ) +import CostCentre ( mkAutoCC, IsCafCC(..), mkAllDictsCC ) +import Id ( idType, Id ) import Name ( isExported ) import Type ( mkTyVarTy, isDictTy, instantiateTy ) -import TyVar ( tyVarSetToList, zipTyVarEnv ) +import TyVar ( zipTyVarEnv ) import TysPrim ( voidTy ) -import Util ( isIn ) -import Outputable \end{code} %************************************************************************ diff --git a/ghc/compiler/deSugar/DsCCall.lhs b/ghc/compiler/deSugar/DsCCall.lhs index 019e207330dc13fcd75e1ac243d487d76f35e197..eab46af4e0c0a5c91e98de9c3d54919f65096c64 100644 --- a/ghc/compiler/deSugar/DsCCall.lhs +++ b/ghc/compiler/deSugar/DsCCall.lhs @@ -15,7 +15,7 @@ import DsUtils import TcHsSyn ( maybeBoxedPrimType ) import CoreUtils ( coreExprType ) -import Id ( Id(..), dataConArgTys, dataConTyCon, idType ) +import Id ( Id(..), dataConArgTys, idType ) import Maybes ( maybeToBool ) import PprType ( GenType{-instances-} ) import PrelVals ( packStringForCId ) @@ -25,7 +25,7 @@ import Type ( isUnpointedType, splitAlgTyConApp_maybe, Type ) import TyCon ( tyConDataCons ) -import TysPrim ( byteArrayPrimTy, realWorldTy, realWorldStatePrimTy, +import TysPrim ( byteArrayPrimTy, realWorldStatePrimTy, byteArrayPrimTyCon, mutableByteArrayPrimTyCon ) import TysWiredIn ( getStatePairingConInfo, unitDataCon, stringTy, diff --git a/ghc/compiler/deSugar/DsExpr.lhs b/ghc/compiler/deSugar/DsExpr.lhs index 06e7f875bf1809ff7fa805fe7d4df1756f2f5808..d57b125a85043da8e338d0bb61afa43039c39aec 100644 --- a/ghc/compiler/deSugar/DsExpr.lhs +++ b/ghc/compiler/deSugar/DsExpr.lhs @@ -25,35 +25,30 @@ import CoreSyn import DsMonad import DsCCall ( dsCCall ) -import DsHsSyn ( outPatType ) import DsListComp ( dsListComp ) -import DsUtils ( mkAppDs, mkConDs, mkPrimDs, dsExprToAtomGivenTy, mkTupleExpr, - mkErrorAppDs, showForErr, EquationInfo, - MatchResult, DsCoreArg +import DsUtils ( mkAppDs, mkConDs, dsExprToAtomGivenTy, + mkErrorAppDs, showForErr, DsCoreArg ) import Match ( matchWrapper ) -import CoreUtils ( coreExprType, substCoreExpr, argToExpr, - mkCoreIfThenElse, unTagBinders ) +import CoreUtils ( coreExprType, mkCoreIfThenElse ) import CostCentre ( mkUserCC ) -import FieldLabel ( fieldLabelType, FieldLabel ) -import Id ( idType, nullIdEnv, addOneToIdEnv, - dataConTyCon, dataConArgTys, dataConFieldLabels, +import FieldLabel ( FieldLabel ) +import Id ( dataConTyCon, dataConArgTys, dataConFieldLabels, recordSelectorFieldLabel, Id ) import Literal ( mkMachInt, Literal(..) ) import Name ( Name{--O only-} ) -import PrelVals ( rEC_CON_ERROR_ID, rEC_UPD_ERROR_ID, voidId ) +import PrelVals ( rEC_CON_ERROR_ID, rEC_UPD_ERROR_ID ) import TyCon ( isNewTyCon ) -import Type ( splitSigmaTy, splitFunTys, typePrimRep, mkTyConApp, - splitAlgTyConApp, splitTyConApp_maybe, applyTy, +import Type ( splitFunTys, typePrimRep, mkTyConApp, + splitAlgTyConApp, splitTyConApp_maybe, splitAppTy, Type ) -import TysPrim ( voidTy ) -import TysWiredIn ( mkTupleTy, tupleCon, nilDataCon, consDataCon, listTyCon, mkListTy, +import TysWiredIn ( tupleCon, nilDataCon, consDataCon, listTyCon, mkListTy, charDataCon, charTy ) -import TyVar ( addToTyVarEnv, GenTyVar{-instance Eq-} ) +import TyVar ( GenTyVar{-instance Eq-} ) import Maybes ( maybeToBool ) import Util ( zipEqual ) import Outputable diff --git a/ghc/compiler/deSugar/DsHsSyn.lhs b/ghc/compiler/deSugar/DsHsSyn.lhs index 2e6b8882efec9c1e061618e592493d9102515921..e6e431db92807d9f24d0df1dd3cf6bacf1994fcb 100644 --- a/ghc/compiler/deSugar/DsHsSyn.lhs +++ b/ghc/compiler/deSugar/DsHsSyn.lhs @@ -8,8 +8,8 @@ module DsHsSyn where #include "HsVersions.h" -import HsSyn ( OutPat(..), HsBinds(..), MonoBinds(..), - Sig, HsExpr, GRHSsAndBinds, Match, HsLit ) +import HsSyn ( OutPat(..), MonoBinds(..), + HsExpr, GRHSsAndBinds, Match, HsLit ) import TcHsSyn ( TypecheckedPat, TypecheckedMonoBinds ) diff --git a/ghc/compiler/deSugar/DsMonad.lhs b/ghc/compiler/deSugar/DsMonad.lhs index 90e9958846baa5b877a7ff883f2fe3f34fb3a3b7..bf18761cf58bfddbd0ee8a2621d3f2e1a97445b9 100644 --- a/ghc/compiler/deSugar/DsMonad.lhs +++ b/ghc/compiler/deSugar/DsMonad.lhs @@ -26,8 +26,6 @@ module DsMonad ( import Bag ( emptyBag, snocBag, bagToList, Bag ) import BasicTypes ( Module ) -import CoreSyn ( CoreExpr ) -import CoreUtils ( substCoreExpr ) import ErrUtils ( WarnMsg ) import HsSyn ( OutPat ) import Id ( mkSysLocal, mkIdWithNewUniq, @@ -41,9 +39,8 @@ import TcHsSyn ( TypecheckedPat ) import Type ( Type ) import TyVar ( cloneTyVar, TyVar ) import UniqSupply ( splitUniqSupply, getUnique, getUniques, - mapUs, thenUs, returnUs, UniqSM, - UniqSupply ) -import Util ( assoc, mapAccumL, zipWithEqual, panic ) + UniqSM, UniqSupply ) +import Util ( zipWithEqual, panic ) infixr 9 `thenDs` \end{code} diff --git a/ghc/compiler/deSugar/DsUtils.lhs b/ghc/compiler/deSugar/DsUtils.lhs index 1254d9a6744471a828592006380e1beac1c3fa44..cdc3fdd70965b63a1f3dcdb1617d31f717f8e6ab 100644 --- a/ghc/compiler/deSugar/DsUtils.lhs +++ b/ghc/compiler/deSugar/DsUtils.lhs @@ -29,10 +29,9 @@ module DsUtils ( #include "HsVersions.h" -import {-# SOURCE #-} Match (match, matchSimply ) +import {-# SOURCE #-} Match ( matchSimply ) -import HsSyn ( HsExpr(..), OutPat(..), HsLit(..), Fixity, - Match, HsBinds, Stmt, DoOrListComp, HsType, ArithSeqInfo ) +import HsSyn ( OutPat(..), Stmt, DoOrListComp ) import TcHsSyn ( TypecheckedPat ) import DsHsSyn ( outPatType, collectTypedPatBinders ) import CoreSyn @@ -42,17 +41,17 @@ import DsMonad import CoreUtils ( coreExprType, mkCoreIfThenElse ) import PrelVals ( iRREFUT_PAT_ERROR_ID, voidId ) import Id ( idType, dataConArgTys, - DataCon, DictVar, Id, GenId ) + DataCon, Id, GenId ) import Literal ( Literal(..) ) import PrimOp ( PrimOp ) import TyCon ( isNewTyCon, tyConDataCons ) -import Type ( mkTyVarTys, mkRhoTy, mkForAllTys, mkFunTy, +import Type ( mkRhoTy, mkFunTy, isUnpointedType, mkTyConApp, splitAlgTyConApp, Type ) import BasicTypes ( Unused ) import TysPrim ( voidTy ) -import TysWiredIn ( tupleTyCon, unitDataCon, tupleCon ) +import TysWiredIn ( unitDataCon, tupleCon ) import UniqSet ( mkUniqSet, minusUniqSet, uniqSetToList, UniqSet ) import Unique ( Unique ) import Outputable diff --git a/ghc/compiler/deSugar/Match.lhs b/ghc/compiler/deSugar/Match.lhs index 55a94542a91203f0089f42d4a6ccd625a0838976..064ac8658448ece035ebecde4824b84f359eda4a 100644 --- a/ghc/compiler/deSugar/Match.lhs +++ b/ghc/compiler/deSugar/Match.lhs @@ -13,12 +13,12 @@ import {-# SOURCE #-} DsExpr ( dsExpr ) import {-# SOURCE #-} DsBinds ( dsBinds ) import CmdLineOpts ( opt_WarnIncompletePatterns, opt_WarnOverlappingPatterns, - opt_PprUserLength,opt_WarnSimplePatterns + opt_WarnSimplePatterns ) import HsSyn import TcHsSyn ( TypecheckedPat, TypecheckedMatch, TypecheckedHsBinds, TypecheckedHsExpr ) -import DsHsSyn ( outPatType, collectTypedPatBinders ) +import DsHsSyn ( outPatType ) import Check ( check, ExhaustivePat, WarningPat, BoxedString ) import CoreSyn import CoreUtils ( coreExprType ) @@ -35,7 +35,7 @@ import Name ( Name {--O only-} ) import PprType ( GenType{-instance-}, GenTyVar{-ditto-} ) import PrelVals ( pAT_ERROR_ID ) import Type ( isUnpointedType, splitAlgTyConApp, - instantiateTauTy, Type + Type ) import TyVar ( TyVar ) import TysPrim ( intPrimTy, charPrimTy, floatPrimTy, doublePrimTy, @@ -44,7 +44,7 @@ import TysPrim ( intPrimTy, charPrimTy, floatPrimTy, doublePrimTy, import TysWiredIn ( nilDataCon, consDataCon, mkTupleTy, mkListTy, charTy, charDataCon, intTy, intDataCon, floatTy, floatDataCon, doubleTy, tupleCon, - doubleDataCon, stringTy, addrTy, + doubleDataCon, addrTy, addrDataCon, wordTy, wordDataCon ) import UniqSet diff --git a/ghc/compiler/deSugar/MatchLit.lhs b/ghc/compiler/deSugar/MatchLit.lhs index b3e645d4a1675eeebd3c24717e9f02c1a937d9e2..c9b6bb18b89e37aaa151c0182533e30018863efe 100644 --- a/ghc/compiler/deSugar/MatchLit.lhs +++ b/ghc/compiler/deSugar/MatchLit.lhs @@ -12,10 +12,8 @@ import {-# SOURCE #-} Match ( match ) import {-# SOURCE #-} DsExpr ( dsExpr ) import HsSyn ( HsLit(..), OutPat(..), HsExpr(..), Fixity, - Match, HsBinds, Stmt(..), DoOrListComp, HsType, ArithSeqInfo ) -import TcHsSyn ( TypecheckedHsExpr, TypecheckedHsBinds, - TypecheckedPat - ) + Match, HsBinds, DoOrListComp, HsType, ArithSeqInfo ) +import TcHsSyn ( TypecheckedHsExpr, TypecheckedPat ) import CoreSyn ( CoreExpr, CoreBinding, GenCoreExpr(..), GenCoreBinding(..) ) import Id ( GenId {- instance Eq -}, Id ) @@ -24,7 +22,7 @@ import DsUtils import Literal ( mkMachInt, Literal(..) ) import Maybes ( catMaybes ) -import Type ( isUnpointedType, Type ) +import Type ( Type ) import Util ( panic, assertPanic ) \end{code} diff --git a/ghc/compiler/simplCore/SimplVar.lhs b/ghc/compiler/simplCore/SimplVar.lhs index 88d91d06d460d8eee1002fdf2f7409e5d0678ebb..caafa54cbfc250398de979bbe2245517bb341565 100644 --- a/ghc/compiler/simplCore/SimplVar.lhs +++ b/ghc/compiler/simplCore/SimplVar.lhs @@ -12,12 +12,9 @@ module SimplVar ( import {-# SOURCE #-} Simplify ( simplExpr ) -import Constants ( uNFOLDING_USE_THRESHOLD, - uNFOLDING_CON_DISCOUNT_WEIGHT - ) import CmdLineOpts ( switchIsOn, SimplifierSwitch(..) ) import CoreSyn -import CoreUnfold ( Unfolding(..), UfExpr, RdrName, UnfoldingGuidance(..), +import CoreUnfold ( Unfolding(..), UnfoldingGuidance(..), SimpleUnfolding(..), FormSummary, whnfOrBottom, smallEnoughToInline ) diff --git a/ghc/compiler/specialise/SpecUtils.lhs b/ghc/compiler/specialise/SpecUtils.lhs index 6a5f4a88cb41407ca6472c61abaecc718db47c3f..4c03f1cff2f17df06ab5855b4b474d10032540d9 100644 --- a/ghc/compiler/specialise/SpecUtils.lhs +++ b/ghc/compiler/specialise/SpecUtils.lhs @@ -21,27 +21,22 @@ module SpecUtils ( #include "HsVersions.h" import CmdLineOpts ( opt_SpecialiseOverloaded, opt_SpecialiseUnboxed, - opt_SpecialiseAll, opt_PprUserLength + opt_SpecialiseAll ) import Bag ( isEmptyBag, bagToList, Bag ) import Class ( Class ) import FiniteMap ( emptyFM, addListToFM_C, plusFM_C, keysFM, lookupWithDefaultFM ) -import Id ( idType, isDictFunId, - isDefaultMethodId_maybe, - Id - ) +import Id ( Id ) import Maybes ( maybeToBool, catMaybes, firstJust ) import Name ( OccName, pprOccName, modAndOcc, NamedThing(..) ) import Outputable -import PprType ( pprGenType, pprParendGenType, pprMaybeTy, - TyCon - ) +import PprType ( pprParendGenType, pprMaybeTy, TyCon ) import TyCon ( tyConTyVars ) import Type ( mkSigmaTy, instantiateTauTy, instantiateThetaTy, splitSigmaTy, mkTyVarTy, mkForAllTys, - getTyVar_maybe, isUnboxedType, Type + isUnboxedType, Type ) import TyVar ( TyVar, mkTyVarEnv ) import Util ( equivClasses, zipWithEqual, diff --git a/ghc/compiler/typecheck/TcGenDeriv.lhs b/ghc/compiler/typecheck/TcGenDeriv.lhs index 7e140354f618c1c48b8d51e96f8b7a8e29bbcffa..214564c9f4cacfe5db282deeb19a94c9e163d028 100644 --- a/ghc/compiler/typecheck/TcGenDeriv.lhs +++ b/ghc/compiler/typecheck/TcGenDeriv.lhs @@ -32,7 +32,7 @@ import HsSyn ( InPat(..), HsExpr(..), MonoBinds(..), GRHS(..), HsBinds(..), DoOrListComp(..), unguardedRHS ) -import RdrHsSyn ( RdrName(..), varQual, varUnqual, mkOpApp, +import RdrHsSyn ( RdrName(..), varUnqual, mkOpApp, RdrNameMonoBinds, RdrNameHsExpr, RdrNamePat ) import BasicTypes ( IfaceFlavour(..), RecFlag(..) ) diff --git a/ghc/compiler/typecheck/TcHsSyn.lhs b/ghc/compiler/typecheck/TcHsSyn.lhs index 30c6100838a83927af5c0853ed20eaa4753cae40..086e58d2301ce1581b32af35a7f69d977266ebfc 100644 --- a/ghc/compiler/typecheck/TcHsSyn.lhs +++ b/ghc/compiler/typecheck/TcHsSyn.lhs @@ -37,8 +37,7 @@ module TcHsSyn ( -- friends: import HsSyn -- oodles of it import Id ( GenId(..), IdDetails, -- Can meddle modestly with Ids - DictVar, idType, dataConArgTys, - Id + dataConArgTys, Id ) -- others: @@ -53,14 +52,13 @@ import TcType ( TcType, TcMaybe, TcTyVar, TcBox, zonkTcTypeToType, zonkTcTyVarToTyVar, zonkTcType ) import TyCon ( isDataTyCon ) -import Type ( mkTyVarTy, tyVarsOfType, splitAlgTyConApp_maybe, isUnpointedType, Type ) -import TyVar ( TyVar, TyVarEnv, emptyTyVarEnv, growTyVarEnvList, emptyTyVarSet ) +import Type ( mkTyVarTy, splitAlgTyConApp_maybe, isUnpointedType, Type ) +import TyVar ( TyVar, TyVarEnv, emptyTyVarEnv, growTyVarEnvList ) import TysPrim ( voidTy ) import CoreSyn ( GenCoreExpr ) import Unique ( Unique ) -- instances import Bag import UniqFM -import Util ( zipEqual ) import Outputable \end{code} diff --git a/ghc/compiler/typecheck/TcInstDcls.lhs b/ghc/compiler/typecheck/TcInstDcls.lhs index 32a9c3ab23e143240e3e93be10567968e925eed6..578683771307ce8df552b45504381b610d146e03 100644 --- a/ghc/compiler/typecheck/TcInstDcls.lhs +++ b/ghc/compiler/typecheck/TcInstDcls.lhs @@ -22,8 +22,8 @@ import RnHsSyn ( RenamedHsBinds, RenamedMonoBinds, RenamedSig, RenamedHsDecl ) import TcHsSyn ( TcMonoBinds, TcIdOcc(..), TcIdBndr, - maybeBoxedPrimType, mkHsTyLam, mkHsTyApp, - ) + maybeBoxedPrimType + ) import TcBinds ( tcPragmaSigs, sigThetaCtxt ) import TcClassDcl ( tcMethodBind, badMethodErr ) @@ -47,7 +47,7 @@ import Bag ( emptyBag, unitBag, unionBags, unionManyBags, ) import CmdLineOpts ( opt_GlasgowExts, opt_WarnMissingMethods ) import Class ( classBigSig, Class ) -import Id ( idType, isNullaryDataCon, dataConArgTys, Id ) +import Id ( isNullaryDataCon, dataConArgTys, Id ) import Maybes ( maybeToBool, seqMaybe, catMaybes ) import Name ( nameOccName, mkLocalName, isLocallyDefined, Module, @@ -750,9 +750,6 @@ instTypeErr clas tys msg nest 4 (parens msg) ] -instBndrErr bndr clas - = hsep [ptext SLIT("Class"), quotes (ppr clas), ptext SLIT("does not have a method"), quotes (ppr bndr)] - derivingWhenInstanceExistsErr clas tycon = hang (hsep [ptext SLIT("Deriving class"), quotes (ppr clas), @@ -781,19 +778,5 @@ invisibleDataConPrimCCallErr clas inst_ty 4 (hsep [text "(Try either importing", ppr inst_ty, text "non-abstractly or compile using -fno-prune-tydecls ..)"]) -instMethodNotInClassErr occ clas - = hang (ptext SLIT("Instance mentions a method not in the class")) - 4 (hsep [ptext SLIT("class") <+> quotes (ppr clas), - ptext SLIT("method") <+> quotes (ppr occ)]) - -patMonoBindsCtxt pbind - = hang (ptext SLIT("In a pattern binding:")) - 4 (ppr pbind) - -methodSigCtxt name ty - = hang (hsep [ptext SLIT("When matching the definition of class method"), - quotes (ppr name), ptext SLIT("to its signature :") ]) - 4 (ppr ty) - superClassCtxt = ptext SLIT("From the superclasses of the instance declaration") \end{code} diff --git a/ghc/compiler/typecheck/TcModule.lhs b/ghc/compiler/typecheck/TcModule.lhs index 7a6cb156d6d9b9ce6cb6360293b4158df25b8be5..96819e40da0c36ecb636fbd40de55707b1bdc36c 100644 --- a/ghc/compiler/typecheck/TcModule.lhs +++ b/ghc/compiler/typecheck/TcModule.lhs @@ -14,21 +14,17 @@ module TcModule ( import CmdLineOpts ( opt_D_dump_tc, opt_D_dump_deriv ) import HsSyn ( HsModule(..), HsBinds(..), MonoBinds(..), HsDecl(..) ) -import RnHsSyn ( RenamedHsModule, RenamedFixityDecl(..) ) -import TcHsSyn ( TypecheckedHsBinds, TypecheckedHsExpr, - TypecheckedDictBinds, TcMonoBinds, - TypecheckedMonoBinds, - zonkTopBinds ) +import RnHsSyn ( RenamedHsModule ) +import TcHsSyn ( TcMonoBinds, TypecheckedMonoBinds, zonkTopBinds ) import TcMonad import Inst ( Inst, emptyLIE, plusLIE ) import TcBinds ( tcTopBindsAndThen ) import TcClassDcl ( tcClassDecls2 ) import TcDefaults ( tcDefaults ) -import TcEnv ( TcIdOcc(..), tcExtendGlobalValEnv, tcExtendTyConEnv, getEnv_LocalIds, +import TcEnv ( TcIdOcc(..), tcExtendGlobalValEnv, tcExtendTyConEnv, getEnv_TyCons, getEnv_Classes, tcLookupLocalValue, - tcLookupLocalValueByKey, tcLookupTyCon, - tcLookupGlobalValueByKeyMaybe, initEnv ) + tcLookupTyCon, initEnv ) import TcExpr ( tcId ) import TcIfaceSig ( tcInterfaceSigs ) import TcInstDcls ( tcInstDecls1, tcInstDecls2 ) @@ -42,26 +38,23 @@ import TcKind ( TcKind, kindToTcKind ) import RnMonad ( RnNameSupply(..) ) import Bag ( isEmptyBag ) import ErrUtils ( WarnMsg, ErrMsg, - pprBagOfErrors, dumpIfSet, ghcExit + pprBagOfErrors, dumpIfSet ) -import Id ( idType, GenId, IdEnv, nullIdEnv ) -import Maybes ( catMaybes, MaybeErr(..) ) +import Id ( idType, GenId ) import Name ( Name, isLocallyDefined, pprModule, NamedThing(..) ) -import TyCon ( TyCon, isSynTyCon, tyConKind ) +import TyCon ( TyCon, tyConKind ) import Class ( Class, classSelIds, classTyCon ) -import Type ( mkTyConApp, mkSynTy, Type ) +import Type ( mkTyConApp, Type ) import TyVar ( emptyTyVarEnv ) import TysWiredIn ( unitTy ) -import PrelMods ( pREL_MAIN, mAIN ) +import PrelMods ( mAIN ) import PrelInfo ( main_NAME, ioTyCon_NAME ) import Unify ( unifyTauTy ) -import UniqFM ( lookupUFM_Directly, lookupWithDefaultUFM_Directly, - filterUFM, eltsUFM ) import Unique ( Unique ) import UniqSupply ( UniqSupply ) import Util import Bag ( Bag, isEmptyBag ) -import FiniteMap ( emptyFM, FiniteMap ) +import FiniteMap ( FiniteMap ) import Outputable \end{code} diff --git a/ghc/compiler/typecheck/TcPat.lhs b/ghc/compiler/typecheck/TcPat.lhs index 5ec7d7c0cc96aae22889ed5d5d64cd2600077dcb..8f7451cabebeaf29081b3e5ecda0ee7bf6ed9c64 100644 --- a/ghc/compiler/typecheck/TcPat.lhs +++ b/ghc/compiler/typecheck/TcPat.lhs @@ -28,17 +28,16 @@ import Bag ( Bag ) import CmdLineOpts ( opt_IrrefutableTuples ) import Id ( GenId, idType, Id ) import Kind ( Kind, mkBoxedTypeKind, mkTypeKind ) -import Maybes ( maybeToBool ) import PprType ( GenType, GenTyVar ) -import Type ( splitFunTys, splitRhoTy, splitSigmaTy, mkTyVarTys, - splitFunTy_maybe, splitAlgTyConApp_maybe, +import Type ( splitFunTys, splitRhoTy, + splitFunTy_maybe, Type, GenType ) import TyVar ( GenTyVar ) import TysPrim ( charPrimTy, intPrimTy, floatPrimTy, doublePrimTy, addrPrimTy ) -import TysWiredIn ( charTy, stringTy, mkListTy, mkTupleTy, addrTy ) +import TysWiredIn ( charTy, stringTy, mkListTy, mkTupleTy ) import Unique ( Unique, eqClassOpKey, geClassOpKey, minusClassOpKey ) import Util ( assertPanic, panic ) import Outputable