No longer any need to explicitly load module interface in 'toCore'
authorChristiaan Baaij <christiaan.baaij@gmail.com>
Mon, 13 Jul 2009 10:04:22 +0000 (12:04 +0200)
committerChristiaan Baaij <christiaan.baaij@gmail.com>
Mon, 13 Jul 2009 10:04:22 +0000 (12:04 +0200)
We have to HscEnv from the original HaskellToCore compilation step
that already includes all the module interfaces we need.

CoreTools.hs
HsTools.hs

index 3bfe1a156dfc89826e6070d7255a854ad514add6..3a028195634a61100e47ae9322df72138688e8e9 100644 (file)
@@ -57,9 +57,7 @@ eval_tfp_int env ty =
     let letexpr = HsExpr.HsLet 
           (HsBinds.HsValBinds $ (HsBinds.ValBindsIn binds) [])
           (SrcLoc.noLoc expr)
-
-    let modules = map GHC.mkModuleName ["Types.Data.Num"]
-    core <- toCore modules expr
+    core <- toCore expr
     execCore core 
 
 normalise_tfp_int :: HscTypes.HscEnv -> Type.Type -> Type.Type
index 22cd57f06de9d90350cb2c39e67b90b254ba058d..d132ce874033020c12071996e3c112ec92477ce7 100644 (file)
@@ -67,12 +67,10 @@ import CoreShow
 --    (==) = Prelude.(==) Int $dInt 
 --  in 
 --    \x = (==) x 1
-toCore :: 
-  [Module.ModuleName] -- ^ The modules that need to be imported before translating
-                      --   this expression.
-  -> HsSyn.HsExpr RdrName.RdrName -- ^ The expression to translate to Core.
+toCore ::
+  HsSyn.HsExpr RdrName.RdrName -- ^ The expression to translate to Core.
   -> GHC.Ghc CoreSyn.CoreExpr -- ^ The resulting core expression.
-toCore modules expr = do
+toCore expr = do
   env <- GHC.getSession
   let icontext = HscTypes.hsc_IC env
   
@@ -80,7 +78,6 @@ toCore modules expr = do
     -- Translage the TcRn (typecheck-rename) monad into an IO monad
     TcRnMonad.initTcPrintErrors env PrelNames.iNTERACTIVE $ do
       (tc_expr, insts) <- TcRnMonad.getLIE $ do
-        mapM importModule modules
         -- Rename the expression, resulting in a HsExpr Name
         (rn_expr, freevars) <- RnExpr.rnExpr expr
         -- Typecheck the expression, resulting in a HsExpr Id and a list of