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
-- (==) = 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
-- 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