Module "Interactive" Nothing [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(TypeSig (3,1) [(Ident "interactiveSols" 0)] (ArrowType (ListType (VariableType (Ident "_" 0))) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (4,1) (Ident "interactiveSols" 0) [(Equation (4,1) (FunLhs (Ident "interactiveSols" 0) [(ListPattern [])]) (SimpleRhs (4,22) (Apply (Variable (QualIdent (Just "Prelude") (Ident "putStrLn" 0))) (Literal (String "No more Solutions"))) [])),(Equation (5,1) (FunLhs (Ident "interactiveSols" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "x" 4)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 4))))]) (SimpleRhs (5,26) (Do [(StmtExpr (Apply (Variable (QualIdent (Just "Interactive") (Ident "printTerm" 0))) (Variable (QualIdent Nothing (Ident "x" 4))))),(StmtExpr (Apply (Variable (QualIdent (Just "Prelude") (Ident "putStrLn" 0))) (Literal (String "More?")))),(StmtBind (VariablePattern (Ident "line" 6)) (Variable (QualIdent (Just "Prelude") (Ident "getLine" 0))))] (Case (Variable (QualIdent Nothing (Ident "line" 6))) [(Alt (10,4) (InfixPattern (LiteralPattern (Char 'n')) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 8))) (SimpleRhs (10,13) (Apply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (Tuple [])) [])),(Alt (11,4) (InfixPattern (LiteralPattern (Char 'N')) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 11))) (SimpleRhs (11,13) (Apply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (Tuple [])) [])),(Alt (12,4) (VariablePattern (Ident "_" 14)) (SimpleRhs (12,9) (Apply (Variable (QualIdent (Just "Interactive") (Ident "interactiveSols" 0))) (Variable (QualIdent Nothing (Ident "xs" 4)))) []))])) []))]) ,(TypeSig (14,1) [(Ident "printIO" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(VariableType (Ident "a" 0))]) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (15,1) (Ident "printIO" 0) [(Equation (15,1) (FunLhs (Ident "printIO" 0) [(VariablePattern (Ident "act" 16))]) (SimpleRhs (15,15) (InfixApply (Variable (QualIdent Nothing (Ident "act" 16))) (InfixOp (QualIdent (Just "Prelude") (Ident ">>=" 0))) (Lambda [(VariablePattern (Ident "x" 18))] (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "putStr" 0))) (Literal (String "IO: "))) (InfixOp (QualIdent (Just "Prelude") (Ident ">>" 0))) (Paren (InfixApply (Variable (QualIdent (Just "Interactive") (Ident "printTerm" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$!!" 0))) (Variable (QualIdent Nothing (Ident "x" 18)))))))) []))]) ,(TypeSig (17,1) [(Ident "printTerm" 0)] (ArrowType (VariableType (Ident "_" 0)) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FlatExternalDecl (18,1) [(Ident "printTerm" 0)]) ]