X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Ftypecheck%2FTcHsSyn.lhs;h=9d2c3ee57f0215f84b9d52b1bf8954395a454cee;hb=4166dff80e8ec94022a040318ff2759913fbbe06;hp=a9a89e416218b2d2b754d9feed2b4632900a8584;hpb=bca9dd54c2b39638cb4638aaccf6015a104a1df5;p=ghc-hetmet.git diff --git a/ghc/compiler/typecheck/TcHsSyn.lhs b/ghc/compiler/typecheck/TcHsSyn.lhs index a9a89e4..9d2c3ee 100644 --- a/ghc/compiler/typecheck/TcHsSyn.lhs +++ b/ghc/compiler/typecheck/TcHsSyn.lhs @@ -24,12 +24,11 @@ module TcHsSyn ( mkHsTyApp, mkHsDictApp, mkHsConApp, mkHsTyLam, mkHsDictLam, mkHsLet, - idsToMonoBinds, -- re-exported from TcEnv TcId, tcInstId, - zonkTopBinds, zonkId, zonkIdOcc, + zonkTopBinds, zonkId, zonkIdOcc, zonkExpr, zonkForeignExports, zonkRules ) where @@ -39,7 +38,7 @@ module TcHsSyn ( import HsSyn -- oodles of it -- others: -import Id ( idName, idType, idUnfolding, setIdType, omitIfaceSigForId, isIP, Id ) +import Id ( idName, idType, isLocalId, setIdType, isIP, Id ) import DataCon ( dataConWrapId ) import TcEnv ( tcLookupGlobal_maybe, tcExtendGlobalValEnv, TcEnv, TcId, tcInstId @@ -48,9 +47,7 @@ import TcEnv ( tcLookupGlobal_maybe, tcExtendGlobalValEnv, import TcMonad import TcType ( zonkTcTypeToType, zonkTcTyVarToTyVar, zonkTcType, zonkTcSigTyVars ) -import Name ( isLocallyDefined ) import CoreSyn ( Expr ) -import CoreUnfold( unfoldingTemplate ) import BasicTypes ( RecFlag(..) ) import Bag import Outputable @@ -119,12 +116,6 @@ mkHsLet EmptyMonoBinds expr = expr mkHsLet mbinds expr = HsLet (MonoBind mbinds [] Recursive) expr mkHsConApp data_con tys args = foldl HsApp (HsVar (dataConWrapId data_con) `mkHsTyApp` tys) args - -idsToMonoBinds :: [Id] -> TcMonoBinds -idsToMonoBinds ids - = andMonoBindList [ CoreMonoBind id (unfoldingTemplate (idUnfolding id)) - | id <- ids - ] \end{code} %************************************************************************ @@ -165,9 +156,8 @@ zonkIdBndr id zonkIdOcc :: TcId -> NF_TcM Id zonkIdOcc id - | not (isLocallyDefined id) || omitIfaceSigForId id || isIP id - -- The omitIfaceSigForId thing may look wierd but it's quite - -- sensible really. We're avoiding looking up superclass selectors + | not (isLocalId id) || isIP id + -- We're avoiding looking up superclass selectors -- and constructors; zonking them is a no-op anyway, and the -- superclass selectors aren't in the environment anyway. = returnNF_Tc id @@ -176,7 +166,7 @@ zonkIdOcc id let new_id = case maybe_id' of Just (AnId id') -> id' - other -> pprTrace "zonkIdOcc: " (ppr id) id + other -> pprTrace "zonkIdOcc:" (ppr id) id in returnNF_Tc new_id \end{code}