+ function "expr" [] float $ \_ -> build ast >>= ret
+ Text.hPutStrLn stderr (ppllvm mdl)
+ withContext $ \ctx ->
+ withMCJIT ctx Nothing Nothing Nothing Nothing $ \mcjit ->
+ withModuleFromAST ctx mdl $ \mdl' ->
+ withModuleInEngine mcjit mdl' $ \emdl -> do
+ Just f <- getFunction emdl "expr"
+ let f' = castFunPtr f :: FunPtr (IO Float)
+ exprFun f' >>= print