Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- lintCoreBindings :: DynFlags -> CoreToDo -> [Var] -> CoreProgram -> (Bag MsgDoc, Bag MsgDoc)
- lintUnfolding :: Bool -> DynFlags -> SrcLoc -> VarSet -> CoreExpr -> Maybe MsgDoc
- lintPassResult :: HscEnv -> CoreToDo -> CoreProgram -> IO ()
- lintInteractiveExpr :: String -> HscEnv -> CoreExpr -> IO ()
- lintExpr :: DynFlags -> [Var] -> CoreExpr -> Maybe MsgDoc
- lintAnnots :: SDoc -> (ModGuts -> CoreM ModGuts) -> ModGuts -> CoreM ModGuts
- lintAxioms :: DynFlags -> [CoAxiom Branched] -> WarnsAndErrs
- endPass :: CoreToDo -> CoreProgram -> [CoreRule] -> CoreM ()
- endPassIO :: HscEnv -> PrintUnqualified -> CoreToDo -> CoreProgram -> [CoreRule] -> IO ()
- dumpPassResult :: DynFlags -> PrintUnqualified -> Maybe DumpFlag -> SDoc -> SDoc -> CoreProgram -> [CoreRule] -> IO ()
- dumpIfSet :: DynFlags -> Bool -> CoreToDo -> SDoc -> SDoc -> IO ()
Documentation
lintCoreBindings :: DynFlags -> CoreToDo -> [Var] -> CoreProgram -> (Bag MsgDoc, Bag MsgDoc) Source #
Type-check a CoreProgram
. See Note [Core Lint guarantee].
lintPassResult :: HscEnv -> CoreToDo -> CoreProgram -> IO () Source #
lintAnnots :: SDoc -> (ModGuts -> CoreM ModGuts) -> ModGuts -> CoreM ModGuts Source #
This checks whether a pass correctly looks through debug
annotations (SourceNote
). This works a bit different from other
consistency checks: We check this by running the given task twice,
noting all differences between the results.
Debug output
endPassIO :: HscEnv -> PrintUnqualified -> CoreToDo -> CoreProgram -> [CoreRule] -> IO () Source #
dumpPassResult :: DynFlags -> PrintUnqualified -> Maybe DumpFlag -> SDoc -> SDoc -> CoreProgram -> [CoreRule] -> IO () Source #