+ Nothing -> liftIO $ hPutStrLn stderr "Couldn't parse"
+ Just x -> do
+ hoist $ buildAST x
+ mostRecentDef >>= liftIO . Text.hPutStrLn stderr . ppll
+ repl
+ where
+
+buildAST :: AST -> ModuleBuilder Operand
+buildAST (TopLevelExpr x) = function "__anon_expr" [] Type.double $
+ const $ buildExpr x >>= ret
+
+buildExpr :: Expr -> IRBuilderT ModuleBuilder Operand
+buildExpr (Num x) = pure $ ConstantOperand (Float (Double x))