DsMetaEnv, DsMetaVal(..), dsLookupMetaEnv, dsExtendMetaEnv,
+ dsLoadModule,
+
-- Warnings
DsWarning, warnDs, failWithDs,
import CoreSyn
import HsSyn
import TcIface
+import LoadIface
import RdrName
import HscTypes
import Bag
import UniqSupply
import Name
import NameEnv
-import OccName
import DynFlags
import ErrUtils
-import MonadUtils
import FastString
import Data.IORef
newPredVarDs pred
| isEqPred pred
= do { uniq <- newUnique;
- ; let name = mkSystemName uniq (mkOccNameFS tcName (fsLit "co"))
+ ; let name = mkSystemName uniq (mkOccNameFS tcName (fsLit "co_pv"))
kind = mkPredTy pred
; return (mkCoVar name kind) }
| otherwise
dsExtendMetaEnv menv thing_inside
= updLclEnv (\env -> env { ds_meta = ds_meta env `plusNameEnv` menv }) thing_inside
\end{code}
+
+\begin{code}
+dsLoadModule :: SDoc -> Module -> DsM ()
+dsLoadModule doc mod
+ = do { env <- getGblEnv
+ ; setEnvs (ds_if_env env)
+ (loadSysInterface doc mod >> return ())
+ }
+\end{code}
+