[Remove IO related code from SemSyn.hs Joachim Breitner **20100718172952 Ignore-this: 8f673e91c2203f328325acc499664f9 ] hunk ./Main.hs 219 - Normal -> + Normal -> print $ hunk ./Main.hs 221 - Shapify -> + Shapify -> print $ hunk ./Main.hs 224 - ShapifyPlus -> + ShapifyPlus -> print $ hunk ./SemSyn.hs 52 -outputCode :: Config -> Bool -> AST -> AST -> IO () +outputCode :: Config -> Bool -> AST -> AST -> Doc hunk ./SemSyn.hs 56 - ForwardCode -> - do print $ ppr (typeFilter ast) - PseudoCode -> - do print $ ppr (constructTypeDecl p2) - print $ ppr orig $$ ppr (typeFilter p1) $$ ppr (typeFilter p2) $$ ppr (typeFilterT p3) - HaskellCode -> - do putStrLn $ "import Control.Monad" - putStrLn $ "import BUtil" - when isShapify $ - print $ vcat $ map genBwdDef - (let AST decls = typeInference orig - in map (\(Decl f t _ _:_) -> (f,t)) $ - groupBy isSameFunc decls) - print $ ppr (constructTypeDecl p2) - print $ ppr $ generateCodeBwd (orig,p1,p2,p3) + ForwardCode -> + ppr (typeFilter ast) + PseudoCode -> vcat + [ ppr (constructTypeDecl p2) + , ppr orig $$ ppr (typeFilter p1) $$ ppr (typeFilter p2) $$ ppr (typeFilterT p3) + ] + HaskellCode -> vcat $ + [ text "import Control.Monad" + , text "import BUtil" + ] ++ ( + if isShapify + then map genBwdDef $ + let AST decls = typeInference orig + in map (\(Decl f t _ _:_) -> (f,t)) $ groupBy isSameFunc decls + else [] + ) ++ + [ ppr (constructTypeDecl p2) + , ppr $ generateCodeBwd (orig,p1,p2,p3) + ]