Module "AbstractCurryPrinter" (Just (Exporting (12,28) [(Export (QualIdent Nothing (Ident "showProg" 0))),(Export (QualIdent Nothing (Ident "showTypeDecls" 0))),(Export (QualIdent Nothing (Ident "showTypeDecl" 0))),(Export (QualIdent Nothing (Ident "showTypeExpr" 0))),(Export (QualIdent Nothing (Ident "showFuncDecl" 0))),(Export (QualIdent Nothing (Ident "showExpr" 0))),(Export (QualIdent Nothing (Ident "showPattern" 0)))])) [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(ImportDecl (19,1) "AbstractCurry" False Nothing Nothing) ,(ImportDecl (20,1) "List" False Nothing Nothing) ,(ImportDecl (21,1) "Read" False Nothing (Just (Importing (21,12) [(Import (Ident "readNat" 0))]))) ,(ImportDecl (22,1) "Char" False Nothing (Just (Importing (22,12) [(Import (Ident "isDigit" 0))]))) ,(ImportDecl (23,1) "FiniteMap" False Nothing Nothing) ,(ImportDecl (24,1) "Sort" False Nothing (Just (Importing (24,13) [(Import (Ident "cmpString" 0))]))) ,(ImportDecl (25,1) "Maybe" False Nothing (Just (Importing (25,14) [(Import (Ident "isJust" 0))]))) ,(TypeDecl (49,1) (Ident "NameFM" 0) [] (ConstructorType (QualIdent Nothing (Ident "FM" 0)) [(ConstructorType (QualIdent Nothing (Ident "String" 0)) []),(TupleType [])])) ,(TypeDecl (50,1) (Ident "Options" 0) [] (TupleType [(ConstructorType (QualIdent Nothing (Ident "NameFM" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])])) ,(TypeSig (37,1) [(Ident "showProg" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CurryProg" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (38,1) (Ident "showProg" 0) [(Equation (38,1) (FunLhs (Ident "showProg" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CurryProg" 0)) [(VariablePattern (Ident "m" 2)),(VariablePattern (Ident "imports" 2)),(VariablePattern (Ident "typedecls" 2)),(VariablePattern (Ident "funcdecls" 2)),(VariablePattern (Ident "opdecls" 2))]))]) (SimpleRhs (39,3) (Let [(PatternDecl (39,7) (VariablePattern (Ident "exports" 4)) (SimpleRhs (39,17) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExports" 0))) (Variable (QualIdent Nothing (Ident "typedecls" 2)))) (Variable (QualIdent Nothing (Ident "funcdecls" 2)))) []))] (InfixApply (Literal (String "module ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "m" 2))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "exports" 4))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String ""))) (Literal (String "")) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "exports" 4))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " where\n\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showImports" 0))) (Variable (QualIdent Nothing (Ident "imports" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showOpDecls" 0))) (Variable (QualIdent Nothing (Ident "opdecls" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeDecls" 0))) (Variable (QualIdent Nothing (Ident "typedecls" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixInter" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showFuncDeclOpt" 0))) (Tuple [(Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "nameFM" 0))) (Variable (QualIdent Nothing (Ident "funcdecls" 2)))),(Variable (QualIdent Nothing (Ident "m" 2)))])))) (Variable (QualIdent Nothing (Ident "funcdecls" 2)))) (Literal (String "\n\n"))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\n"))))))))))) []))]) ,(TypeSig (53,1) [(Ident "defaultOptions" 0)] (ConstructorType (QualIdent Nothing (Ident "Options" 0)) [])) ,(FunctionDecl (54,1) (Ident "defaultOptions" 0) [(Equation (54,1) (FunLhs (Ident "defaultOptions" 0) []) (SimpleRhs (54,18) (Tuple [(Apply (Variable (QualIdent (Just "FiniteMap") (Ident "emptyFM" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "lessString" 0)))),(Literal (String ""))]) []))]) ,(TypeSig (57,1) [(Ident "showExports" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "CTypeDecl" 0)) [])) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "CFuncDecl" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (58,1) (Ident "showExports" 0) [(Equation (58,1) (FunLhs (Ident "showExports" 0) [(VariablePattern (Ident "types" 8)),(VariablePattern (Ident "funcs" 8))]) (SimpleRhs (59,3) (Let [(PatternDecl (59,7) (VariablePattern (Ident "publicTypes" 70)) (SimpleRhs (59,21) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Variable (QualIdent Nothing (Ident "isPublicType" 9)))) (Variable (QualIdent Nothing (Ident "types" 8)))) [])),(PatternDecl (60,7) (TuplePattern [(VariablePattern (Ident "withCons" 70)),(VariablePattern (Ident "withoutCons" 70))]) (SimpleRhs (60,33) (Apply (Apply (Variable (QualIdent (Just "List") (Ident "partition" 0))) (Variable (QualIdent Nothing (Ident "allPublicCons" 9)))) (Variable (QualIdent Nothing (Ident "publicTypes" 70)))) []))] (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String ", "))) (Paren (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (InfixApply (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "(..)"))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent Nothing (Ident "getTypeName" 9)))))) (Variable (QualIdent Nothing (Ident "withCons" 70)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "getTypeName" 9)))) (Variable (QualIdent Nothing (Ident "withoutCons" 70)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "getFuncName" 9)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Variable (QualIdent Nothing (Ident "isPublicFunc" 9)))) (Variable (QualIdent Nothing (Ident "funcs" 8))))))))))))) [(TypeSig (68,5) [(Ident "isPublicType" 9)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CTypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))),(FunctionDecl (69,5) (Ident "isPublicType" 9) [(Equation (69,5) (FunLhs (Ident "isPublicType" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CType" 0)) [(VariablePattern (Ident "_" 11)),(VariablePattern (Ident "visibility" 10)),(VariablePattern (Ident "_" 12)),(VariablePattern (Ident "_" 13))]))]) (SimpleRhs (69,45) (InfixApply (Variable (QualIdent Nothing (Ident "visibility" 10))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "AbstractCurry") (Ident "Public" 0)))) [])),(Equation (70,5) (FunLhs (Ident "isPublicType" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CTypeSyn" 0)) [(VariablePattern (Ident "_" 16)),(VariablePattern (Ident "visibility" 15)),(VariablePattern (Ident "_" 17)),(VariablePattern (Ident "_" 18))]))]) (SimpleRhs (70,48) (InfixApply (Variable (QualIdent Nothing (Ident "visibility" 15))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "AbstractCurry") (Ident "Public" 0)))) []))]),(TypeSig (72,5) [(Ident "isPublicFunc" 9)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CFuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))),(FunctionDecl (73,5) (Ident "isPublicFunc" 9) [(Equation (73,5) (FunLhs (Ident "isPublicFunc" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFunc" 0)) [(VariablePattern (Ident "_" 21)),(VariablePattern (Ident "_" 22)),(VariablePattern (Ident "visibility" 20)),(VariablePattern (Ident "_" 23)),(VariablePattern (Ident "_" 24))]))]) (SimpleRhs (73,47) (InfixApply (Variable (QualIdent Nothing (Ident "visibility" 20))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "AbstractCurry") (Ident "Public" 0)))) [])),(Equation (74,5) (FunLhs (Ident "isPublicFunc" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CmtFunc" 0)) [(VariablePattern (Ident "_" 27)),(VariablePattern (Ident "_" 28)),(VariablePattern (Ident "_" 29)),(VariablePattern (Ident "visibility" 26)),(VariablePattern (Ident "_" 30)),(VariablePattern (Ident "_" 31))]))]) (SimpleRhs (74,51) (InfixApply (Variable (QualIdent Nothing (Ident "visibility" 26))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "AbstractCurry") (Ident "Public" 0)))) []))]),(TypeSig (76,5) [(Ident "getTypeName" 9)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CTypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))),(FunctionDecl (77,5) (Ident "getTypeName" 9) [(Equation (77,5) (FunLhs (Ident "getTypeName" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CType" 0)) [(TuplePattern [(VariablePattern (Ident "_" 34)),(VariablePattern (Ident "name" 33))]),(VariablePattern (Ident "_" 35)),(VariablePattern (Ident "_" 36)),(VariablePattern (Ident "_" 37))]))]) (SimpleRhs (77,42) (Variable (QualIdent Nothing (Ident "name" 33))) [])),(Equation (78,5) (FunLhs (Ident "getTypeName" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CTypeSyn" 0)) [(TuplePattern [(VariablePattern (Ident "_" 40)),(VariablePattern (Ident "name" 39))]),(VariablePattern (Ident "_" 41)),(VariablePattern (Ident "_" 42)),(VariablePattern (Ident "_" 43))]))]) (SimpleRhs (78,45) (Variable (QualIdent Nothing (Ident "name" 39))) []))]),(TypeSig (80,5) [(Ident "allPublicCons" 9)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CTypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))),(FunctionDecl (81,5) (Ident "allPublicCons" 9) [(Equation (81,5) (FunLhs (Ident "allPublicCons" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CType" 0)) [(VariablePattern (Ident "_" 46)),(VariablePattern (Ident "_" 47)),(VariablePattern (Ident "_" 48)),(VariablePattern (Ident "c" 45))]))]) (SimpleRhs (81,37) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Variable (QualIdent Nothing (Ident "isPublicCons" 49)))) (Variable (QualIdent Nothing (Ident "c" 45)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "c" 45))))) [(TypeSig (83,9) [(Ident "isPublicCons" 49)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CConsDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))),(FunctionDecl (84,9) (Ident "isPublicCons" 49) [(Equation (84,9) (FunLhs (Ident "isPublicCons" 49) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CCons" 0)) [(VariablePattern (Ident "_" 51)),(VariablePattern (Ident "_" 52)),(VariablePattern (Ident "visibility" 50)),(VariablePattern (Ident "_" 53))]))]) (SimpleRhs (84,49) (InfixApply (Variable (QualIdent Nothing (Ident "visibility" 50))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "AbstractCurry") (Ident "Public" 0)))) []))])]))]),(TypeSig (86,5) [(Ident "getFuncName" 9)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CFuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))),(FunctionDecl (87,5) (Ident "getFuncName" 9) [(Equation (87,5) (FunLhs (Ident "getFuncName" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFunc" 0)) [(TuplePattern [(VariablePattern (Ident "_" 56)),(VariablePattern (Ident "name" 55))]),(VariablePattern (Ident "_" 57)),(VariablePattern (Ident "_" 58)),(VariablePattern (Ident "_" 59)),(VariablePattern (Ident "_" 60))]))]) (SimpleRhs (87,44) (Variable (QualIdent Nothing (Ident "name" 55))) [])),(Equation (88,5) (FunLhs (Ident "getFuncName" 9) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CmtFunc" 0)) [(VariablePattern (Ident "_" 63)),(TuplePattern [(VariablePattern (Ident "_" 64)),(VariablePattern (Ident "name" 62))]),(VariablePattern (Ident "_" 65)),(VariablePattern (Ident "_" 66)),(VariablePattern (Ident "_" 67)),(VariablePattern (Ident "_" 68))]))]) (SimpleRhs (88,48) (Variable (QualIdent Nothing (Ident "name" 62))) []))])]))]) ,(TypeSig (91,1) [(Ident "showImports" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (92,1) (Ident "showImports" 0) [(Equation (92,1) (FunLhs (Ident "showImports" 0) [(VariablePattern (Ident "imports" 73))]) (SimpleRhs (93,3) (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixInter" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showImport" 0)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Literal (String "Prelude")))) (Variable (QualIdent Nothing (Ident "imports" 73)))))) (Literal (String "\n"))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "imports" 73))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [(Literal (String "Prelude"))])) (Literal (String "")) (Literal (String "\n\n"))))) []))]) ,(TypeSig (96,1) [(Ident "showImport" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (97,1) (Ident "showImport" 0) [(Equation (97,1) (FunLhs (Ident "showImport" 0) [(VariablePattern (Ident "imp" 75))]) (SimpleRhs (97,18) (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "imp" 75))) (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Literal (String "Prelude"))) (InfixApply (Literal (String "import ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "imp" 75)))) (Literal (String ""))) []))]) ,(TypeSig (99,1) [(Ident "showOpDecls" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "COpDecl" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (100,1) (Ident "showOpDecls" 0) [(Equation (100,1) (FunLhs (Ident "showOpDecls" 0) [(VariablePattern (Ident "opdecls" 77))]) (SimpleRhs (101,3) (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixInter" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showOpDecl" 0)))) (Variable (QualIdent Nothing (Ident "opdecls" 77)))) (Literal (String "\n"))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "opdecls" 77))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [])) (Literal (String "")) (Literal (String "\n\n"))))) []))]) ,(TypeSig (104,1) [(Ident "showOpDecl" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "COpDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (105,1) (Ident "showOpDecl" 0) [(Equation (105,1) (FunLhs (Ident "showOpDecl" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "COp" 0)) [(TuplePattern [(VariablePattern (Ident "_" 80)),(VariablePattern (Ident "name" 79))]),(VariablePattern (Ident "fixity" 79)),(VariablePattern (Ident "precedence" 79))]))]) (SimpleRhs (106,3) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showFixity" 0))) (Variable (QualIdent Nothing (Ident "fixity" 79)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "precedence" 79)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (IfThenElse (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isInfixOpName" 0))) (Variable (QualIdent Nothing (Ident "name" 79)))) (Variable (QualIdent Nothing (Ident "name" 79))) (InfixApply (Literal (Char '`')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 79))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "`"))))))))) []))]) ,(TypeSig (109,1) [(Ident "showFixity" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CFixity" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (110,1) (Ident "showFixity" 0) [(Equation (110,1) (FunLhs (Ident "showFixity" 0) [(ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CInfixOp" 0)) [])]) (SimpleRhs (110,24) (Literal (String "infix")) [])),(Equation (111,1) (FunLhs (Ident "showFixity" 0) [(ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CInfixlOp" 0)) [])]) (SimpleRhs (111,24) (Literal (String "infixl")) [])),(Equation (112,1) (FunLhs (Ident "showFixity" 0) [(ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CInfixrOp" 0)) [])]) (SimpleRhs (112,24) (Literal (String "infixr")) []))]) ,(TypeSig (115,1) [(Ident "showTypeDecls" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "CTypeDecl" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (116,1) (Ident "showTypeDecls" 0) [(Equation (116,1) (FunLhs (Ident "showTypeDecls" 0) [(VariablePattern (Ident "typedecls" 88))]) (SimpleRhs (117,3) (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixInter" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeDecl" 0)))) (Variable (QualIdent Nothing (Ident "typedecls" 88)))) (Literal (String "\n\n"))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "typedecls" 88))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [])) (Literal (String "")) (Literal (String "\n\n"))))) []))]) ,(TypeSig (121,1) [(Ident "showTypeDecl" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CTypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (122,1) (Ident "showTypeDecl" 0) [(Equation (122,1) (FunLhs (Ident "showTypeDecl" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CTypeSyn" 0)) [(TuplePattern [(VariablePattern (Ident "_" 91)),(VariablePattern (Ident "name" 90))]),(VariablePattern (Ident "_" 92)),(VariablePattern (Ident "indexlist" 90)),(VariablePattern (Ident "typeexpr" 90))]))]) (SimpleRhs (123,6) (InfixApply (Literal (String "type ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 90))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Constructor (QualIdent (Just "AbstractCurry") (Ident "CTVar" 0)))) (Variable (QualIdent Nothing (Ident "indexlist" 90)))))) (Literal (String " ")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " = ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "typeexpr" 90)))))))) [])),(Equation (126,1) (FunLhs (Ident "showTypeDecl" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CType" 0)) [(TuplePattern [(VariablePattern (Ident "_" 95)),(VariablePattern (Ident "name" 94))]),(VariablePattern (Ident "_" 96)),(VariablePattern (Ident "indexlist" 94)),(VariablePattern (Ident "consdecls" 94))]))]) (SimpleRhs (127,6) (InfixApply (Literal (String "data ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 94))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Constructor (QualIdent (Just "AbstractCurry") (Ident "CTVar" 0)))) (Variable (QualIdent Nothing (Ident "indexlist" 94)))))) (Literal (String " ")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBlock" 0))) (Paren (InfixApply (Literal (String "= ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showConsDecl" 0)))) (Variable (QualIdent Nothing (Ident "consdecls" 94)))) (Literal (String "\n| "))))))))))) []))]) ,(TypeSig (131,1) [(Ident "showConsDecl" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CConsDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (132,1) (Ident "showConsDecl" 0) [(Equation (132,1) (FunLhs (Ident "showConsDecl" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CCons" 0)) [(TuplePattern [(VariablePattern (Ident "_" 99)),(VariablePattern (Ident "name" 98))]),(VariablePattern (Ident "_" 100)),(VariablePattern (Ident "_" 101)),(VariablePattern (Ident "typelist" 98))]))]) (SimpleRhs (133,6) (InfixApply (Variable (QualIdent Nothing (Ident "name" 98))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) (Variable (QualIdent Nothing (Ident "typelist" 98)))) (Literal (String " "))))) []))]) ,(TypeSig (138,1) [(Ident "showTypeExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CTypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (139,1) (Ident "showTypeExpr" 0) [(Equation (139,1) (FunLhs (Ident "showTypeExpr" 0) [(VariablePattern (Ident "_" 104)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CTVar" 0)) [(TuplePattern [(VariablePattern (Ident "_" 105)),(VariablePattern (Ident "name" 103))])]))]) (SimpleRhs (139,35) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeVar" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showIdentifier" 0))) (Variable (QualIdent Nothing (Ident "name" 103)))))) [])),(Equation (140,1) (FunLhs (Ident "showTypeExpr" 0) [(VariablePattern (Ident "nested" 107)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFuncType" 0)) [(VariablePattern (Ident "domain" 107)),(VariablePattern (Ident "range" 107))]))]) (SimpleRhs (141,4) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "maybeShowBrackets" 0))) (Variable (QualIdent Nothing (Ident "nested" 107)))) (Paren (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isCFuncType" 0))) (Variable (QualIdent Nothing (Ident "domain" 107)))))) (Variable (QualIdent Nothing (Ident "domain" 107)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " -> ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "range" 107)))))))) [])),(Equation (144,1) (FunLhs (Ident "showTypeExpr" 0) [(VariablePattern (Ident "nested" 109)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CTCons" 0)) [(TuplePattern [(VariablePattern (Ident "mod" 109)),(VariablePattern (Ident "name" 109))]),(VariablePattern (Ident "typelist" 109))]))]) (GuardedRhs [(CondExpr (145,4) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "mod" 109))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 109))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "untyped")))) (Literal (String "-"))),(CondExpr (146,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "maybeShowBrackets" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "nested" 109))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "typelist" 109))))))))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeCons" 0))) (Variable (QualIdent Nothing (Ident "mod" 109)))) (Variable (QualIdent Nothing (Ident "name" 109)))) (Variable (QualIdent Nothing (Ident "typelist" 109)))))))] []))]) ,(FunctionDecl (150,1) (Ident "showTypeVar" 0) [(Equation (150,1) (FunLhs (Ident "showTypeVar" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 111)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 111))))]) (SimpleRhs (151,3) (IfThenElse (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "c" 111))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char 'a'))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "cs" 111)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "all" 0))) (Variable (QualIdent (Just "Char") (Ident "isDigit" 0)))) (Variable (QualIdent Nothing (Ident "cs" 111)))))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 111))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Literal (Char '_')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 111))))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 111))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 111))))) []))]) ,(TypeSig (157,1) [(Ident "showIdentifier" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (158,1) (Ident "showIdentifier" 0) [(Equation (158,1) (FunLhs (Ident "showIdentifier" 0) []) (SimpleRhs (158,18) (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "flip" 0))) (Variable (QualIdent (Just "Prelude") (Ident "elem" 0)))) (Literal (String "<>")))))) []))]) ,(FunctionDecl (160,1) (Ident "isCFuncType" 0) [(Equation (160,1) (FunLhs (Ident "isCFuncType" 0) [(VariablePattern (Ident "t" 115))]) (SimpleRhs (160,17) (Case (Variable (QualIdent Nothing (Ident "t" 115))) [(Alt (161,19) (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFuncType" 0)) [(VariablePattern (Ident "_" 118)),(VariablePattern (Ident "_" 119))]) (SimpleRhs (161,36) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (162,19) (VariablePattern (Ident "_" 122)) (SimpleRhs (162,24) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(FunctionDecl (165,1) (Ident "showFuncDecl" 0) [(Equation (165,1) (FunLhs (Ident "showFuncDecl" 0) []) (SimpleRhs (165,16) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showFuncDeclOpt" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "defaultOptions" 0)))) []))]) ,(TypeSig (167,1) [(Ident "showFuncDeclOpt" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CFuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (168,1) (Ident "showFuncDeclOpt" 0) [(Equation (168,1) (FunLhs (Ident "showFuncDeclOpt" 0) [(VariablePattern (Ident "opts" 126)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CmtFunc" 0)) [(VariablePattern (Ident "cmt" 126)),(VariablePattern (Ident "qname" 126)),(VariablePattern (Ident "ar" 126)),(VariablePattern (Ident "vis" 126)),(VariablePattern (Ident "typeexpr" 126)),(VariablePattern (Ident "rules" 126))]))]) (SimpleRhs (169,3) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCmtFunc" 0))) (Variable (QualIdent Nothing (Ident "opts" 126)))) (Variable (QualIdent Nothing (Ident "cmt" 126)))) (Paren (Apply (Apply (Apply (Apply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CFunc" 0))) (Variable (QualIdent Nothing (Ident "qname" 126)))) (Variable (QualIdent Nothing (Ident "ar" 126)))) (Variable (QualIdent Nothing (Ident "vis" 126)))) (Variable (QualIdent Nothing (Ident "typeexpr" 126)))) (Variable (QualIdent Nothing (Ident "rules" 126)))))) [])),(Equation (170,1) (FunLhs (Ident "showFuncDeclOpt" 0) [(VariablePattern (Ident "opts" 128)),(AsPattern (Ident "cfunc" 128) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFunc" 0)) [(VariablePattern (Ident "_" 129)),(VariablePattern (Ident "_" 130)),(VariablePattern (Ident "_" 131)),(VariablePattern (Ident "_" 132)),(VariablePattern (Ident "_" 133))])))]) (SimpleRhs (170,48) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCmtFunc" 0))) (Variable (QualIdent Nothing (Ident "opts" 128)))) (Literal (String ""))) (Variable (QualIdent Nothing (Ident "cfunc" 128)))) []))]) ,(TypeSig (172,1) [(Ident "showCmtFunc" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CFuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (173,1) (Ident "showCmtFunc" 0) [(Equation (173,1) (FunLhs (Ident "showCmtFunc" 0) [(VariablePattern (Ident "opts" 135)),(VariablePattern (Ident "cmt" 135)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFunc" 0)) [(TuplePattern [(VariablePattern (Ident "_" 136)),(VariablePattern (Ident "name" 135))]),(VariablePattern (Ident "_" 137)),(VariablePattern (Ident "_" 138)),(VariablePattern (Ident "typeexpr" 135)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CRules" 0)) [(VariablePattern (Ident "evalannot" 135)),(VariablePattern (Ident "rules" 135))]))]))]) (SimpleRhs (174,3) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "funcComment" 0))) (Variable (QualIdent Nothing (Ident "cmt" 135)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "evalannot" 135))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "AbstractCurry") (Ident "CFlex" 0)))) (Literal (String "")) (InfixApply (Variable (QualIdent Nothing (Ident "bolName" 139))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " eval ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showEvalAnnot" 0))) (Variable (QualIdent Nothing (Ident "evalannot" 135))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\n"))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isUntyped" 0))) (Variable (QualIdent Nothing (Ident "typeexpr" 135)))) (Literal (String "\n")) (InfixApply (Variable (QualIdent Nothing (Ident "bolName" 139))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " :: ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "typeexpr" 135))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\n"))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (IfThenElse (Variable (QualIdent Nothing (Ident "funcIsInfixOp" 139))) (Variable (QualIdent Nothing (Ident "rulePrints" 139))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 135))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixInter" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showRule" 0))) (Variable (QualIdent Nothing (Ident "opts" 135)))))) (Variable (QualIdent Nothing (Ident "rules" 135)))) (Paren (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "name" 135))))))))))))) [(PatternDecl (182,3) (VariablePattern (Ident "funcIsInfixOp" 139)) (SimpleRhs (182,19) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isInfixOpName" 0))) (Variable (QualIdent Nothing (Ident "name" 135)))) [])),(PatternDecl (183,3) (VariablePattern (Ident "bolName" 139)) (SimpleRhs (183,13) (IfThenElse (Variable (QualIdent Nothing (Ident "funcIsInfixOp" 139))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 135))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) (Variable (QualIdent Nothing (Ident "name" 135)))) [])),(PatternDecl (184,3) (VariablePattern (Ident "rulePrints" 139)) (SimpleRhs (184,16) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (InfixApply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String "\n"))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "insertName" 139))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "span" 0))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Literal (Char ' '))))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showRule" 0))) (Variable (QualIdent Nothing (Ident "opts" 135)))))))))) (Variable (QualIdent Nothing (Ident "rules" 135)))))) [])),(FunctionDecl (187,3) (Ident "insertName" 139) [(Equation (187,3) (FunLhs (Ident "insertName" 139) [(TuplePattern [(VariablePattern (Ident "fstArg" 143)),(VariablePattern (Ident "rest" 143))])]) (SimpleRhs (187,30) (InfixApply (Variable (QualIdent Nothing (Ident "fstArg" 143))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 135))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "rest" 143)))))) []))])])),(Equation (189,1) (FunLhs (Ident "showCmtFunc" 0) [(VariablePattern (Ident "_" 146)),(VariablePattern (Ident "cmt" 145)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFunc" 0)) [(TuplePattern [(VariablePattern (Ident "_" 147)),(VariablePattern (Ident "name" 145))]),(VariablePattern (Ident "_" 148)),(VariablePattern (Ident "_" 149)),(VariablePattern (Ident "typeexpr" 145)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CExternal" 0)) [(VariablePattern (Ident "_" 150))]))]))]) (SimpleRhs (190,3) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "funcComment" 0))) (Variable (QualIdent Nothing (Ident "cmt" 145)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "bolName" 151))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " :: ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "typeexpr" 145))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "bolName" 151))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String " external")))))))) [(PatternDecl (194,3) (VariablePattern (Ident "bolName" 151)) (SimpleRhs (194,13) (IfThenElse (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isInfixOpName" 0))) (Variable (QualIdent Nothing (Ident "name" 145)))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 145))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) (Variable (QualIdent Nothing (Ident "name" 145)))) []))]))]) ,(TypeSig (197,1) [(Ident "funcComment" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (198,1) (Ident "funcComment" 0) [(Equation (198,1) (FunLhs (Ident "funcComment" 0) []) (SimpleRhs (198,15) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (LeftSection (Literal (String "--- ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "lines" 0))))) []))]) ,(TypeSig (200,1) [(Ident "showLocalFuncDecl" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CFuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (201,1) (Ident "showLocalFuncDecl" 0) [(Equation (201,1) (FunLhs (Ident "showLocalFuncDecl" 0) [(VariablePattern (Ident "opts" 155))]) (SimpleRhs (201,26) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showFuncDeclOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 155)))) []))]) ,(TypeSig (203,1) [(Ident "showRule" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CRule" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (204,1) (Ident "showRule" 0) [(Equation (204,1) (FunLhs (Ident "showRule" 0) [(VariablePattern (Ident "opts" 157)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CRule" 0)) [(VariablePattern (Ident "pattlist" 157)),(VariablePattern (Ident "crhslist" 157)),(VariablePattern (Ident "localdecls" 157))]))]) (SimpleRhs (205,3) (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0)))) (Variable (QualIdent Nothing (Ident "pattlist" 157)))) (Literal (String " "))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCrhsList" 0))) (Variable (QualIdent Nothing (Ident "opts" 157)))) (Variable (QualIdent Nothing (Ident "crhslist" 157)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (IfThenElse (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "localdecls" 157)))) (Literal (String "")) (InfixApply (Literal (String "\n where\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBlock" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLocalDecl" 0))) (Variable (QualIdent Nothing (Ident "opts" 157)))))) (Variable (QualIdent Nothing (Ident "localdecls" 157)))) (Literal (String "\n")))))))))) []))]) ,(TypeSig (213,1) [(Ident "showEvalAnnot" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CEvalAnnot" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (214,1) (Ident "showEvalAnnot" 0) [(Equation (214,1) (FunLhs (Ident "showEvalAnnot" 0) [(ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFlex" 0)) [])]) (SimpleRhs (214,23) (Literal (String "flex")) [])),(Equation (215,1) (FunLhs (Ident "showEvalAnnot" 0) [(ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CRigid" 0)) [])]) (SimpleRhs (215,24) (Literal (String "rigid")) [])),(Equation (216,1) (FunLhs (Ident "showEvalAnnot" 0) [(ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CChoice" 0)) [])]) (SimpleRhs (216,25) (Literal (String "choice")) []))]) ,(TypeSig (218,1) [(Ident "showCrhsList" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []),(ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) [])])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (219,1) (Ident "showCrhsList" 0) [(Equation (219,1) (FunLhs (Ident "showCrhsList" 0) [(VariablePattern (Ident "_" 166)),(ListPattern [])]) (SimpleRhs (219,21) (Literal (String "")) [])),(Equation (220,1) (FunLhs (Ident "showCrhsList" 0) [(VariablePattern (Ident "opts" 168)),(ParenPattern (InfixPattern (TuplePattern [(VariablePattern (Ident "g" 168)),(VariablePattern (Ident "r" 168))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 168))))]) (GuardedRhs [(CondExpr (221,4) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "cs" 168))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [])) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "g" 168))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0))) (Tuple [(Literal (String "Prelude")),(Literal (String "success"))])))) (InfixApply (Literal (String " = ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 168)))) (Variable (QualIdent Nothing (Ident "r" 168)))))),(CondExpr (223,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBlock" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCrhs" 0))) (Variable (QualIdent Nothing (Ident "opts" 168)))))) (Paren (InfixApply (Tuple [(Variable (QualIdent Nothing (Ident "g" 168))),(Variable (QualIdent Nothing (Ident "r" 168)))]) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 168)))))) (Literal (String "\n")))))))] []))]) ,(TypeSig (226,1) [(Ident "showCrhs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (TupleType [(ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []),(ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) [])]) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (227,1) (Ident "showCrhs" 0) [(Equation (227,1) (FunLhs (Ident "showCrhs" 0) [(VariablePattern (Ident "opts" 170)),(TuplePattern [(VariablePattern (Ident "cond" 170)),(VariablePattern (Ident "expr" 170))])]) (SimpleRhs (228,3) (InfixApply (Literal (String "| ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 170)))) (Variable (QualIdent Nothing (Ident "cond" 170)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n= ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 170)))) (Variable (QualIdent Nothing (Ident "expr" 170))))))) []))]) ,(TypeSig (230,1) [(Ident "showLocalDecl" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CLocalDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (231,1) (Ident "showLocalDecl" 0) [(Equation (231,1) (FunLhs (Ident "showLocalDecl" 0) [(VariablePattern (Ident "opts" 172)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLocalFunc" 0)) [(VariablePattern (Ident "funcdecl" 172))]))]) (SimpleRhs (231,44) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLocalFuncDecl" 0))) (Variable (QualIdent Nothing (Ident "opts" 172)))) (Variable (QualIdent Nothing (Ident "funcdecl" 172)))) [])),(Equation (232,1) (FunLhs (Ident "showLocalDecl" 0) [(VariablePattern (Ident "opts" 174)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLocalPat" 0)) [(VariablePattern (Ident "pattern" 174)),(VariablePattern (Ident "expr" 174)),(VariablePattern (Ident "localdecls" 174))]))]) (SimpleRhs (233,3) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Variable (QualIdent Nothing (Ident "pattern" 174)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " = ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 174)))) (Variable (QualIdent Nothing (Ident "expr" 174)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (IfThenElse (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "localdecls" 174)))) (Literal (String "")) (InfixApply (Literal (String "\n where\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBlock" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLocalDecl" 0))) (Variable (QualIdent Nothing (Ident "opts" 174)))))) (Variable (QualIdent Nothing (Ident "localdecls" 174)))) (Literal (String "\n"))))))))))) [])),(Equation (239,1) (FunLhs (Ident "showLocalDecl" 0) [(VariablePattern (Ident "_" 177)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLocalVar" 0)) [(VariablePattern (Ident "index" 176))]))]) (SimpleRhs (239,37) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Paren (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CPVar" 0))) (Variable (QualIdent Nothing (Ident "index" 176)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String " free"))) []))]) ,(FunctionDecl (242,1) (Ident "showExpr" 0) [(Equation (242,1) (FunLhs (Ident "showExpr" 0) []) (SimpleRhs (242,12) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "defaultOptions" 0)))) []))]) ,(TypeSig (244,1) [(Ident "showExprOpt" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (245,1) (Ident "showExprOpt" 0) [(Equation (245,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "_" 182)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CVar" 0)) [(TuplePattern [(VariablePattern (Ident "_" 183)),(VariablePattern (Ident "name" 181))])]))]) (SimpleRhs (245,33) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showIdentifier" 0))) (Variable (QualIdent Nothing (Ident "name" 181)))) [])),(Equation (246,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "_" 186)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLit" 0)) [(VariablePattern (Ident "lit" 185))]))]) (SimpleRhs (246,28) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLiteral" 0))) (Variable (QualIdent Nothing (Ident "lit" 185)))) [])),(Equation (247,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "opts" 188)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(VariablePattern (Ident "name" 188))]))]) (SimpleRhs (248,5) (IfThenElse (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isInfixOpName" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "snd" 0))) (Variable (QualIdent Nothing (Ident "name" 188)))))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSymbol" 0))) (Variable (QualIdent Nothing (Ident "opts" 188)))) (Variable (QualIdent Nothing (Ident "name" 188)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSymbol" 0))) (Variable (QualIdent Nothing (Ident "opts" 188)))) (Variable (QualIdent Nothing (Ident "name" 188))))) [])),(Equation (250,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "opts" 190)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "func" 190)),(VariablePattern (Ident "arg" 190))]))]) (SimpleRhs (250,38) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 190)))) (Paren (Apply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CApply" 0))) (Variable (QualIdent Nothing (Ident "func" 190)))) (Variable (QualIdent Nothing (Ident "arg" 190)))))) [])),(Equation (251,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "opts" 192)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLambda" 0)) [(VariablePattern (Ident "patts" 192)),(VariablePattern (Ident "expr" 192))]))]) (SimpleRhs (251,41) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLambdaOrSection" 0))) (Variable (QualIdent Nothing (Ident "opts" 192)))) (Variable (QualIdent Nothing (Ident "patts" 192)))) (Variable (QualIdent Nothing (Ident "expr" 192)))) [])),(Equation (252,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "opts" 194)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLetDecl" 0)) [(VariablePattern (Ident "localdecls" 194)),(VariablePattern (Ident "expr" 194))]))]) (SimpleRhs (253,6) (InfixApply (Literal (String "let\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBlock" 0))) (Paren (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLocalDecl" 0))) (Variable (QualIdent Nothing (Ident "opts" 194)))))) (Variable (QualIdent Nothing (Ident "localdecls" 194)))) (Literal (String "\n")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n in ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 194)))) (Variable (QualIdent Nothing (Ident "expr" 194)))))))))) [])),(Equation (255,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "opts" 196)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CDoExpr" 0)) [(VariablePattern (Ident "stmts" 196))]))]) (SimpleRhs (256,6) (InfixApply (Literal (String "\n do\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBlock" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showStatement" 0))) (Variable (QualIdent Nothing (Ident "opts" 196)))))) (Variable (QualIdent Nothing (Ident "stmts" 196)))) (Literal (String "\n")))))) [])),(Equation (257,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "opts" 198)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CListComp" 0)) [(VariablePattern (Ident "expr" 198)),(VariablePattern (Ident "stmts" 198))]))]) (SimpleRhs (258,9) (InfixApply (Literal (String "[ ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 198)))) (Variable (QualIdent Nothing (Ident "expr" 198))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " | ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showStatement" 0))) (Variable (QualIdent Nothing (Ident "opts" 198)))))) (Variable (QualIdent Nothing (Ident "stmts" 198)))) (Literal (String ", ")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "]")))))) [])),(Equation (260,1) (FunLhs (Ident "showExprOpt" 0) [(VariablePattern (Ident "opts" 200)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CCase" 0)) [(VariablePattern (Ident "expr" 200)),(VariablePattern (Ident "branches" 200))]))]) (SimpleRhs (261,9) (InfixApply (Literal (String "case ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 200)))) (Variable (QualIdent Nothing (Ident "expr" 200))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " of\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBlock" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBranchExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 200)))))) (Variable (QualIdent Nothing (Ident "branches" 200)))) (Literal (String "\n")))))))) []))]) ,(TypeSig (265,1) [(Ident "showSymbol" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (266,1) (Ident "showSymbol" 0) [(Equation (266,1) (FunLhs (Ident "showSymbol" 0) [(TuplePattern [(VariablePattern (Ident "fm" 202)),(VariablePattern (Ident "thisModule" 202))]),(TuplePattern [(VariablePattern (Ident "thatModule" 202)),(VariablePattern (Ident "symName" 202))])]) (GuardedRhs [(CondExpr (267,3) (InfixApply (Variable (QualIdent Nothing (Ident "thisModule" 202))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "thatModule" 202)))) (Variable (QualIdent Nothing (Ident "symName" 202)))),(CondExpr (268,3) (Apply (Variable (QualIdent (Just "Maybe") (Ident "isJust" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "lookupFM" 0))) (Variable (QualIdent Nothing (Ident "fm" 202)))) (Variable (QualIdent Nothing (Ident "symName" 202)))))) (InfixApply (Variable (QualIdent Nothing (Ident "thatModule" 202))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ".")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "symName" 202)))))),(CondExpr (269,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Variable (QualIdent Nothing (Ident "symName" 202))))] []))]) ,(FunctionDecl (275,1) (Ident "showLambdaOrSection" 0) [(Equation (275,1) (FunLhs (Ident "showLambdaOrSection" 0) [(VariablePattern (Ident "opts" 204)),(VariablePattern (Ident "patts" 204)),(VariablePattern (Ident "expr" 204))]) (SimpleRhs (275,39) (Case (Variable (QualIdent Nothing (Ident "patts" 204))) [(Alt (276,3) (ListPattern [(ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPVar" 0)) [(VariablePattern (Ident "pvar" 206))])]) (SimpleRhs (276,19) (Case (Variable (QualIdent Nothing (Ident "expr" 204))) [(Alt (277,6) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(VariablePattern (Ident "_" 209)),(VariablePattern (Ident "name" 208))])])),(VariablePattern (Ident "lexpr" 208))])),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CVar" 0)) [(VariablePattern (Ident "var" 208))]))])) (SimpleRhs (278,10) (IfThenElse (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isInfixOpName" 0))) (Variable (QualIdent Nothing (Ident "name" 208)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isAtom" 0))) (Variable (QualIdent Nothing (Ident "lexpr" 208)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Paren (InfixApply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CVar" 0))) (Variable (QualIdent Nothing (Ident "var" 208)))) (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Variable (QualIdent Nothing (Ident "lexpr" 208))))))) (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "pvar" 206))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "var" 208)))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 204)))) (Variable (QualIdent Nothing (Ident "lexpr" 208)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 208))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "lexpr" 208))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Paren (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CVar" 0))) (Variable (QualIdent Nothing (Ident "pvar" 206)))))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 208))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 204)))) (Paren (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CVar" 0))) (Variable (QualIdent Nothing (Ident "var" 208)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLambda" 0))) (Variable (QualIdent Nothing (Ident "opts" 204)))) (Variable (QualIdent Nothing (Ident "patts" 204)))) (Variable (QualIdent Nothing (Ident "expr" 204)))))) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLambda" 0))) (Variable (QualIdent Nothing (Ident "opts" 204)))) (Variable (QualIdent Nothing (Ident "patts" 204)))) (Variable (QualIdent Nothing (Ident "expr" 204))))) [])),(Alt (285,6) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(VariablePattern (Ident "_" 212)),(VariablePattern (Ident "name" 211))])])),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CVar" 0)) [(VariablePattern (Ident "var" 211))]))])),(VariablePattern (Ident "rexpr" 211))])) (SimpleRhs (286,10) (IfThenElse (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isInfixOpName" 0))) (Variable (QualIdent Nothing (Ident "name" 211)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "pvar" 206))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "var" 211)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isAtom" 0))) (Variable (QualIdent Nothing (Ident "rexpr" 211)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Paren (InfixApply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CVar" 0))) (Variable (QualIdent Nothing (Ident "var" 211)))) (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Variable (QualIdent Nothing (Ident "rexpr" 211)))))))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 211))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 204)))) (Variable (QualIdent Nothing (Ident "rexpr" 211)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLambda" 0))) (Variable (QualIdent Nothing (Ident "opts" 204)))) (Variable (QualIdent Nothing (Ident "patts" 204)))) (Variable (QualIdent Nothing (Ident "expr" 204))))) [])),(Alt (289,6) (VariablePattern (Ident "_" 215)) (SimpleRhs (289,11) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLambda" 0))) (Variable (QualIdent Nothing (Ident "opts" 204)))) (Variable (QualIdent Nothing (Ident "patts" 204)))) (Variable (QualIdent Nothing (Ident "expr" 204)))) []))]) [])),(Alt (290,3) (VariablePattern (Ident "_" 218)) (SimpleRhs (290,8) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLambda" 0))) (Variable (QualIdent Nothing (Ident "opts" 204)))) (Variable (QualIdent Nothing (Ident "patts" 204)))) (Variable (QualIdent Nothing (Ident "expr" 204)))) []))]) []))]) ,(FunctionDecl (292,1) (Ident "showLambda" 0) [(Equation (292,1) (FunLhs (Ident "showLambda" 0) [(VariablePattern (Ident "opts" 220)),(VariablePattern (Ident "patts" 220)),(VariablePattern (Ident "expr" 220))]) (SimpleRhs (292,30) (InfixApply (Literal (String "\\")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0)))) (Variable (QualIdent Nothing (Ident "patts" 220)))) (Literal (String " ")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " -> ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 220)))) (Variable (QualIdent Nothing (Ident "expr" 220)))))))) []))]) ,(TypeSig (296,1) [(Ident "showStatement" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CStatement" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (297,1) (Ident "showStatement" 0) [(Equation (297,1) (FunLhs (Ident "showStatement" 0) [(VariablePattern (Ident "opts" 222)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSExpr" 0)) [(VariablePattern (Ident "expr" 222))]))]) (SimpleRhs (297,36) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 222)))) (Variable (QualIdent Nothing (Ident "expr" 222)))) [])),(Equation (298,1) (FunLhs (Ident "showStatement" 0) [(VariablePattern (Ident "opts" 224)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSPat" 0)) [(VariablePattern (Ident "pattern" 224)),(VariablePattern (Ident "expr" 224))]))]) (SimpleRhs (299,6) (InfixApply (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Variable (QualIdent Nothing (Ident "pattern" 224))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " <- ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 224)))) (Variable (QualIdent Nothing (Ident "expr" 224))))))) [])),(Equation (300,1) (FunLhs (Ident "showStatement" 0) [(VariablePattern (Ident "opts" 226)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSLet" 0)) [(VariablePattern (Ident "localdecls" 226))]))]) (SimpleRhs (301,6) (Case (Variable (QualIdent Nothing (Ident "localdecls" 226))) [(Alt (302,8) (ParenPattern (InfixPattern (VariablePattern (Ident "decl" 228)) (QualIdent Nothing (Ident ":" 0)) (ListPattern []))) (SimpleRhs (302,21) (InfixApply (Literal (String "let ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLocalDecl" 0))) (Variable (QualIdent Nothing (Ident "opts" 226)))) (Variable (QualIdent Nothing (Ident "decl" 228))))) [])),(Alt (303,8) (VariablePattern (Ident "_" 231)) (SimpleRhs (303,21) (InfixApply (Literal (String "let\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBlock" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLocalDecl" 0))) (Variable (QualIdent Nothing (Ident "opts" 226)))))) (Variable (QualIdent Nothing (Ident "localdecls" 226)))) (Literal (String "\n")))))) []))]) []))]) ,(TypeSig (305,1) [(Ident "showPattern" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CPattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (306,1) (Ident "showPattern" 0) [(Equation (306,1) (FunLhs (Ident "showPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPVar" 0)) [(TuplePattern [(VariablePattern (Ident "_" 234)),(VariablePattern (Ident "name" 233))])]))]) (SimpleRhs (306,32) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showIdentifier" 0))) (Variable (QualIdent Nothing (Ident "name" 233)))) [])),(Equation (307,1) (FunLhs (Ident "showPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPLit" 0)) [(VariablePattern (Ident "lit" 236))]))]) (SimpleRhs (307,27) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showLiteral" 0))) (Variable (QualIdent Nothing (Ident "lit" 236)))) [])),(Equation (308,1) (FunLhs (Ident "showPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(VariablePattern (Ident "_" 239)),(VariablePattern (Ident "name" 238))]),(ListPattern [])]))]) (SimpleRhs (308,36) (Variable (QualIdent Nothing (Ident "name" 238))) [])),(Equation (309,1) (FunLhs (Ident "showPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(VariablePattern (Ident "mod" 241)),(VariablePattern (Ident "name" 241))]),(ParenPattern (InfixPattern (VariablePattern (Ident "p" 241)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "ps" 241))))]))]) (GuardedRhs [(CondExpr (310,4) (InfixApply (Variable (QualIdent Nothing (Ident "mod" 241))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPreludeCons" 0))) (Paren (Apply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0))) (Tuple [(Variable (QualIdent Nothing (Ident "mod" 241))),(Variable (QualIdent Nothing (Ident "name" 241)))])) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "p" 241))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "ps" 241))))))))),(CondExpr (311,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 241))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "p" 241))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "ps" 241)))))) (Literal (String " ")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))))] [])),(Equation (312,1) (FunLhs (Ident "showPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPAs" 0)) [(TuplePattern [(VariablePattern (Ident "_" 244)),(VariablePattern (Ident "name" 243))]),(VariablePattern (Ident "pat" 243))]))]) (SimpleRhs (312,35) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showIdentifier" 0))) (Variable (QualIdent Nothing (Ident "name" 243)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "@")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Variable (QualIdent Nothing (Ident "pat" 243)))))) [])),(Equation (313,1) (FunLhs (Ident "showPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPFuncComb" 0)) [(VariablePattern (Ident "qname" 246)),(VariablePattern (Ident "pats" 246))]))]) (SimpleRhs (313,39) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Paren (Apply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0))) (Variable (QualIdent Nothing (Ident "qname" 246)))) (Variable (QualIdent Nothing (Ident "pats" 246)))))) []))]) ,(TypeSig (316,1) [(Ident "showPreludeCons" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CPattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (317,1) (Ident "showPreludeCons" 0) [(Equation (317,1) (FunLhs (Ident "showPreludeCons" 0) [(VariablePattern (Ident "p" 248))]) (GuardedRhs [(CondExpr (318,4) (InfixApply (Variable (QualIdent Nothing (Ident "name" 249))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String ":"))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPatternList" 0))) (Variable (QualIdent Nothing (Ident "p" 248))))),(CondExpr (319,4) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isTuple" 0))) (Variable (QualIdent Nothing (Ident "name" 249)))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0)))) (Variable (QualIdent Nothing (Ident "pattlist" 249)))) (Literal (String ",")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))),(CondExpr (320,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 249))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0)))) (Variable (QualIdent Nothing (Ident "pattlist" 249)))) (Literal (String " ")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))))] [(PatternDecl (322,6) (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(VariablePattern (Ident "_" 250)),(VariablePattern (Ident "name" 249))]),(VariablePattern (Ident "pattlist" 249))]) (SimpleRhs (322,33) (Variable (QualIdent Nothing (Ident "p" 248))) []))]))]) ,(TypeSig (324,1) [(Ident "showPatternList" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CPattern" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (325,1) (Ident "showPatternList" 0) [(Equation (325,1) (FunLhs (Ident "showPatternList" 0) [(VariablePattern (Ident "p" 252))]) (GuardedRhs [(CondExpr (326,3) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isClosedStringPattern" 0))) (Variable (QualIdent Nothing (Ident "p" 252)))) (InfixApply (Literal (Char '"')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Literal (Char '\'')))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPatListElems" 0))) (Variable (QualIdent Nothing (Ident "p" 252)))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\""))))),(CondExpr (328,3) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isClosedPatternList" 0))) (Variable (QualIdent Nothing (Ident "p" 252)))) (InfixApply (Literal (String "[")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String ","))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPatListElems" 0))) (Variable (QualIdent Nothing (Ident "p" 252)))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "]"))))),(CondExpr (330,3) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isAsPattern" 0))) (Variable (QualIdent Nothing (Ident "p" 252)))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showAsPatternList" 0))) (Variable (QualIdent Nothing (Ident "p" 252))))),(CondExpr (332,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String ":"))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPatListElems" 0))) (Variable (QualIdent Nothing (Ident "p" 252)))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))] []))]) ,(FunctionDecl (334,1) (Ident "showPatListElems" 0) [(Equation (334,1) (FunLhs (Ident "showPatListElems" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(LiteralPattern (String "Prelude")),(LiteralPattern (String ":"))]),(ListPattern [(VariablePattern (Ident "x" 254)),(VariablePattern (Ident "xs" 254))])]))]) (SimpleRhs (335,5) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Variable (QualIdent Nothing (Ident "x" 254)))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPatListElems" 0))) (Variable (QualIdent Nothing (Ident "xs" 254))))) [])),(Equation (336,1) (FunLhs (Ident "showPatListElems" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(LiteralPattern (String "Prelude")),(LiteralPattern (String "[]"))]),(ListPattern [])]))]) (SimpleRhs (336,49) (List []) [])),(Equation (337,1) (FunLhs (Ident "showPatListElems" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPVar" 0)) [(VariablePattern (Ident "v" 258))]))]) (SimpleRhs (337,30) (List [(Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Paren (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CPVar" 0))) (Variable (QualIdent Nothing (Ident "v" 258))))))]) [])),(Equation (338,1) (FunLhs (Ident "showPatListElems" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPAs" 0)) [(VariablePattern (Ident "name" 260)),(VariablePattern (Ident "p" 260))]))]) (SimpleRhs (338,34) (List [(Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Paren (Apply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CPAs" 0))) (Variable (QualIdent Nothing (Ident "name" 260)))) (Variable (QualIdent Nothing (Ident "p" 260))))))]) []))]) ,(FunctionDecl (340,1) (Ident "isClosedPatternList" 0) [(Equation (340,1) (FunLhs (Ident "isClosedPatternList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(LiteralPattern (String "Prelude")),(LiteralPattern (String ":"))]),(ListPattern [(VariablePattern (Ident "_" 263)),(VariablePattern (Ident "xs" 262))])]))]) (SimpleRhs (340,55) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isClosedPatternList" 0))) (Variable (QualIdent Nothing (Ident "xs" 262)))) [])),(Equation (341,1) (FunLhs (Ident "isClosedPatternList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(LiteralPattern (String "Prelude")),(LiteralPattern (String "[]"))]),(ListPattern [])]))]) (SimpleRhs (341,52) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Equation (342,1) (FunLhs (Ident "isClosedPatternList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPVar" 0)) [(VariablePattern (Ident "_" 268))]))]) (SimpleRhs (342,33) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (343,1) (FunLhs (Ident "isClosedPatternList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPAs" 0)) [(VariablePattern (Ident "_" 271)),(VariablePattern (Ident "p" 270))]))]) (SimpleRhs (343,34) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isClosedPatternList" 0))) (Variable (QualIdent Nothing (Ident "p" 270)))) []))]) ,(FunctionDecl (345,1) (Ident "isClosedStringPattern" 0) [(Equation (345,1) (FunLhs (Ident "isClosedStringPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(LiteralPattern (String "Prelude")),(LiteralPattern (String ":"))]),(ListPattern [(VariablePattern (Ident "x" 273)),(VariablePattern (Ident "xs" 273))])]))]) (SimpleRhs (346,5) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isCharPattern" 0))) (Variable (QualIdent Nothing (Ident "x" 273)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isClosedStringPattern" 0))) (Variable (QualIdent Nothing (Ident "xs" 273))))) [])),(Equation (347,1) (FunLhs (Ident "isClosedStringPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPComb" 0)) [(TuplePattern [(LiteralPattern (String "Prelude")),(LiteralPattern (String "[]"))]),(ListPattern [])]))]) (SimpleRhs (347,54) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Equation (348,1) (FunLhs (Ident "isClosedStringPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPVar" 0)) [(VariablePattern (Ident "_" 278))]))]) (SimpleRhs (348,35) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) ,(FunctionDecl (350,1) (Ident "isCharPattern" 0) [(Equation (350,1) (FunLhs (Ident "isCharPattern" 0) [(VariablePattern (Ident "p" 280))]) (SimpleRhs (350,19) (Case (Variable (QualIdent Nothing (Ident "p" 280))) [(Alt (351,21) (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPLit" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CCharc" 0)) [(VariablePattern (Ident "_" 283))]))]) (SimpleRhs (351,41) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (352,21) (VariablePattern (Ident "_" 286)) (SimpleRhs (352,41) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(FunctionDecl (354,1) (Ident "isAsPattern" 0) [(Equation (354,1) (FunLhs (Ident "isAsPattern" 0) [(VariablePattern (Ident "p" 288))]) (SimpleRhs (354,17) (Case (Variable (QualIdent Nothing (Ident "p" 288))) [(Alt (355,19) (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPAs" 0)) [(VariablePattern (Ident "_" 291)),(VariablePattern (Ident "_" 292))]) (SimpleRhs (355,31) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (356,19) (VariablePattern (Ident "_" 295)) (SimpleRhs (356,31) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(FunctionDecl (358,1) (Ident "showAsPatternList" 0) [(Equation (358,1) (FunLhs (Ident "showAsPatternList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CPAs" 0)) [(TuplePattern [(VariablePattern (Ident "_" 298)),(VariablePattern (Ident "name" 297))]),(VariablePattern (Ident "p" 297))]))]) (SimpleRhs (359,6) (InfixApply (Variable (QualIdent Nothing (Ident "name" 297))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "@")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String ":"))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPatListElems" 0))) (Variable (QualIdent Nothing (Ident "p" 297)))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) []))]) ,(TypeSig (362,1) [(Ident "showBranchExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CBranchExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (363,1) (Ident "showBranchExpr" 0) [(Equation (363,1) (FunLhs (Ident "showBranchExpr" 0) [(VariablePattern (Ident "opts" 300)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CBranch" 0)) [(VariablePattern (Ident "pattern" 300)),(VariablePattern (Ident "expr" 300))]))]) (SimpleRhs (364,6) (InfixApply (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPattern" 0))) (Variable (QualIdent Nothing (Ident "pattern" 300))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " -> ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 300)))) (Variable (QualIdent Nothing (Ident "expr" 300))))))) []))]) ,(TypeSig (366,1) [(Ident "showLiteral" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CLiteral" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (367,1) (Ident "showLiteral" 0) [(Equation (367,1) (FunLhs (Ident "showLiteral" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CIntc" 0)) [(VariablePattern (Ident "i" 302))]))]) (SimpleRhs (367,25) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "i" 302)))) [])),(Equation (368,1) (FunLhs (Ident "showLiteral" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFloatc" 0)) [(VariablePattern (Ident "f" 304))]))]) (SimpleRhs (368,27) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "f" 304)))) [])),(Equation (369,1) (FunLhs (Ident "showLiteral" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CCharc" 0)) [(VariablePattern (Ident "c" 306))]))]) (SimpleRhs (369,26) (InfixApply (Literal (String "'")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCCharc" 0))) (Paren (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CCharc" 0))) (Variable (QualIdent Nothing (Ident "c" 306)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "'")))) []))]) ,(TypeSig (371,1) [(Ident "showCCharc" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CLiteral" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (372,1) (Ident "showCCharc" 0) [(Equation (372,1) (FunLhs (Ident "showCCharc" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CCharc" 0)) [(VariablePattern (Ident "c" 308))]))]) (GuardedRhs [(CondExpr (372,23) (InfixApply (Variable (QualIdent Nothing (Ident "c" 308))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '\n'))) (Literal (String "\\n"))),(CondExpr (373,23) (InfixApply (Variable (QualIdent Nothing (Ident "c" 308))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '\r'))) (Literal (String "\\r"))),(CondExpr (374,23) (InfixApply (Variable (QualIdent Nothing (Ident "c" 308))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '\\'))) (Literal (String "\\\\"))),(CondExpr (375,23) (InfixApply (Variable (QualIdent Nothing (Ident "c" 308))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '"'))) (Literal (String "\\\""))),(CondExpr (376,23) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (List [(Variable (QualIdent Nothing (Ident "c" 308)))]))] []))]) ,(TypeSig (378,1) [(Ident "showBlock" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (379,1) (Ident "showBlock" 0) [(Equation (379,1) (FunLhs (Ident "showBlock" 0) [(VariablePattern (Ident "text" 310))]) (SimpleRhs (380,6) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Variable (QualIdent (Just "Prelude") (Ident "id" 0)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String " "))))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "/=" 0))) (Literal (String ""))))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "lines" 0))) (Variable (QualIdent Nothing (Ident "text" 310)))))))))) (Literal (String "\n"))) []))]) ,(TypeSig (383,1) [(Ident "showTypeCons" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "CTypeExpr" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (384,1) (Ident "showTypeCons" 0) [(Equation (384,1) (FunLhs (Ident "showTypeCons" 0) [(VariablePattern (Ident "_" 313)),(VariablePattern (Ident "name" 312)),(ListPattern [])]) (SimpleRhs (384,26) (Variable (QualIdent Nothing (Ident "name" 312))) [])),(Equation (385,1) (FunLhs (Ident "showTypeCons" 0) [(VariablePattern (Ident "mod" 315)),(VariablePattern (Ident "name" 315)),(ParenPattern (InfixPattern (VariablePattern (Ident "t" 315)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "ts" 315))))]) (GuardedRhs [(CondExpr (386,4) (InfixApply (Variable (QualIdent Nothing (Ident "mod" 315))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showPreludeTypeCons" 0))) (Variable (QualIdent Nothing (Ident "name" 315)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "t" 315))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "ts" 315))))))),(CondExpr (387,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 315))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "t" 315))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "ts" 315)))))) (Literal (String " "))))))] []))]) ,(TypeSig (389,1) [(Ident "showPreludeTypeCons" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "CTypeExpr" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (390,1) (Ident "showPreludeTypeCons" 0) [(Equation (390,1) (FunLhs (Ident "showPreludeTypeCons" 0) [(VariablePattern (Ident "name" 317)),(VariablePattern (Ident "typelist" 317))]) (GuardedRhs [(CondExpr (391,3) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 317))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "[]"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "typelist" 317)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CTCons" 0))) (Tuple [(Literal (String "Prelude")),(Literal (String "Char"))])) (List [])))) (Literal (String "String"))),(CondExpr (392,3) (InfixApply (Variable (QualIdent Nothing (Ident "name" 317))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "[]"))) (InfixApply (Literal (String "[")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "typelist" 317))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "]"))))),(CondExpr (393,3) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isTuple" 0))) (Variable (QualIdent Nothing (Ident "name" 317)))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "combineMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Variable (QualIdent Nothing (Ident "typelist" 317)))) (Literal (String ",")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))),(CondExpr (394,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 317))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTypeExpr" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))))) (Variable (QualIdent Nothing (Ident "typelist" 317)))) (Literal (String " "))))))] []))]) ,(TypeSig (398,1) [(Ident "showApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (399,1) (Ident "showApplication" 0) [(Equation (399,1) (FunLhs (Ident "showApplication" 0) [(VariablePattern (Ident "opts" 319)),(VariablePattern (Ident "appl" 319))]) (SimpleRhs (400,6) (Case (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "applicationHead" 0))) (Variable (QualIdent Nothing (Ident "appl" 319))))) [(Alt (401,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(VariablePattern (Ident "name" 321))])) (SimpleRhs (401,26) (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSymbolApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 319)))) (Variable (QualIdent Nothing (Ident "name" 321)))) (Variable (QualIdent Nothing (Ident "appl" 319)))) [])),(Alt (402,8) (VariablePattern (Ident "_" 324)) (SimpleRhs (402,26) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSimpleApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 319)))) (Variable (QualIdent Nothing (Ident "appl" 319)))) []))]) []))]) ,(TypeSig (404,1) [(Ident "applicationHead" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []))) ,(FunctionDecl (405,1) (Ident "applicationHead" 0) [(Equation (405,1) (FunLhs (Ident "applicationHead" 0) [(VariablePattern (Ident "expr" 326))]) (SimpleRhs (406,6) (Case (Variable (QualIdent Nothing (Ident "expr" 326))) [(Alt (407,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "func" 328)),(VariablePattern (Ident "_" 329))])) (SimpleRhs (407,27) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "applicationHead" 0))) (Variable (QualIdent Nothing (Ident "func" 328)))) [])),(Alt (408,8) (VariablePattern (Ident "_" 332)) (SimpleRhs (408,27) (Variable (QualIdent Nothing (Ident "expr" 326))) []))]) []))]) ,(TypeSig (410,1) [(Ident "showSymbolApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (TupleType [(ConstructorType (QualIdent Nothing (Ident "String" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (411,1) (Ident "showSymbolApplication" 0) [(Equation (411,1) (FunLhs (Ident "showSymbolApplication" 0) [(VariablePattern (Ident "opts" 334)),(TuplePattern [(VariablePattern (Ident "mod" 334)),(VariablePattern (Ident "name" 334))]),(VariablePattern (Ident "appl" 334))]) (GuardedRhs [(CondExpr (412,4) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "mod" 334))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 334))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String ":")))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showListApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 334)))) (Variable (QualIdent Nothing (Ident "appl" 334))))),(CondExpr (417,4) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "mod" 334))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 334))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "if_then_else")))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showITEApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 334)))) (Variable (QualIdent Nothing (Ident "appl" 334))))),(CondExpr (419,4) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isTuple" 0))) (Variable (QualIdent Nothing (Ident "name" 334)))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showTupleApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 334)))) (Variable (QualIdent Nothing (Ident "appl" 334))))),(CondExpr (421,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSimpleApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 334)))) (Variable (QualIdent Nothing (Ident "appl" 334)))))] []))]) ,(TypeSig (424,1) [(Ident "showListApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (425,1) (Ident "showListApplication" 0) [(Equation (425,1) (FunLhs (Ident "showListApplication" 0) [(VariablePattern (Ident "opts" 336)),(VariablePattern (Ident "appl" 336))]) (GuardedRhs [(CondExpr (426,4) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isStringList" 0))) (Variable (QualIdent Nothing (Ident "appl" 336)))) (InfixApply (Literal (String "\"")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCharListApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 336)))) (Variable (QualIdent Nothing (Ident "appl" 336))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\""))))),(CondExpr (428,4) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isClosedList" 0))) (Variable (QualIdent Nothing (Ident "appl" 336)))) (InfixApply (Literal (String "[")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showConsListApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 336)))) (Variable (QualIdent Nothing (Ident "appl" 336))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "]"))))),(CondExpr (430,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSimpleListApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 336)))) (Variable (QualIdent Nothing (Ident "appl" 336))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))] []))]) ,(TypeSig (433,1) [(Ident "showCharListApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (434,1) (Ident "showCharListApplication" 0) [(Equation (434,1) (FunLhs (Ident "showCharListApplication" 0) [(VariablePattern (Ident "opts" 338)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "_" 339)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLit" 0)) [(VariablePattern (Ident "c" 338))]))])),(VariablePattern (Ident "tail" 338))]))]) (SimpleRhs (435,6) (Case (Variable (QualIdent Nothing (Ident "tail" 338))) [(Alt (436,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(VariablePattern (Ident "_" 342))])) (SimpleRhs (436,23) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCCharc" 0))) (Variable (QualIdent Nothing (Ident "c" 338)))) [])),(Alt (437,8) (VariablePattern (Ident "_" 345)) (SimpleRhs (437,23) (InfixApply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCCharc" 0))) (Variable (QualIdent Nothing (Ident "c" 338)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showCharListApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 338)))) (Variable (QualIdent Nothing (Ident "tail" 338))))) []))]) []))]) ,(TypeSig (439,1) [(Ident "showConsListApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (440,1) (Ident "showConsListApplication" 0) [(Equation (440,1) (FunLhs (Ident "showConsListApplication" 0) [(VariablePattern (Ident "opts" 347)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "_" 348)),(VariablePattern (Ident "head" 347))])),(VariablePattern (Ident "tail" 347))]))]) (SimpleRhs (441,6) (Case (Variable (QualIdent Nothing (Ident "tail" 347))) [(Alt (442,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(VariablePattern (Ident "_" 351))])) (SimpleRhs (442,23) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 347)))) (Variable (QualIdent Nothing (Ident "head" 347)))) [])),(Alt (443,8) (VariablePattern (Ident "_" 354)) (SimpleRhs (443,25) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 347)))) (Variable (QualIdent Nothing (Ident "head" 347))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ",")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showConsListApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 347)))) (Variable (QualIdent Nothing (Ident "tail" 347))))))) []))]) []))]) ,(TypeSig (446,1) [(Ident "showSimpleListApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (447,1) (Ident "showSimpleListApplication" 0) [(Equation (447,1) (FunLhs (Ident "showSimpleListApplication" 0) [(VariablePattern (Ident "opts" 356)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "_" 357)),(VariablePattern (Ident "head" 356))])),(VariablePattern (Ident "tail" 356))]))]) (SimpleRhs (448,6) (Case (Variable (QualIdent Nothing (Ident "tail" 356))) [(Alt (449,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(VariablePattern (Ident "_" 360))])) (SimpleRhs (449,23) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 356)))) (Variable (QualIdent Nothing (Ident "head" 356)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ":[]"))) [])),(Alt (450,8) (VariablePattern (Ident "_" 363)) (SimpleRhs (450,23) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 356)))) (Variable (QualIdent Nothing (Ident "head" 356)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ":")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 356)))) (Variable (QualIdent Nothing (Ident "tail" 356)))))) []))]) [])),(Equation (451,1) (FunLhs (Ident "showSimpleListApplication" 0) [(VariablePattern (Ident "opts" 365)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(VariablePattern (Ident "_" 366)),(VariablePattern (Ident "str" 365))])])),(VariablePattern (Ident "tail" 365))]))]) (SimpleRhs (452,6) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 365)))) (Variable (QualIdent Nothing (Ident "tail" 365)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "str" 365)))) []))]) ,(TypeSig (454,1) [(Ident "showInfixApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "QName" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (455,1) (Ident "showInfixApplication" 0) [(Equation (455,1) (FunLhs (Ident "showInfixApplication" 0) [(VariablePattern (Ident "opts" 368)),(VariablePattern (Ident "infixop" 368)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "func" 368)),(VariablePattern (Ident "arg2" 368))]))]) (SimpleRhs (456,6) (Case (Variable (QualIdent Nothing (Ident "func" 368))) [(Alt (457,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "_" 371)),(VariablePattern (Ident "arg1" 370))])) (SimpleRhs (457,27) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 368)))) (Variable (QualIdent Nothing (Ident "arg1" 370)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSymbol" 0))) (Variable (QualIdent Nothing (Ident "opts" 368)))) (Variable (QualIdent Nothing (Ident "infixop" 368)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 368)))) (Variable (QualIdent Nothing (Ident "arg2" 368)))))))) [])),(Alt (460,8) (VariablePattern (Ident "_" 374)) (SimpleRhs (460,13) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSymbol" 0))) (Variable (QualIdent Nothing (Ident "opts" 368)))) (Variable (QualIdent Nothing (Ident "infixop" 368)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ") ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 368)))) (Variable (QualIdent Nothing (Ident "arg2" 368)))))))) []))]) []))]) ,(TypeSig (462,1) [(Ident "showITEApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (463,1) (Ident "showITEApplication" 0) [(Equation (463,1) (FunLhs (Ident "showITEApplication" 0) [(VariablePattern (Ident "opts" 376)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(VariablePattern (Ident "_" 377))])),(VariablePattern (Ident "condExpr" 376))])),(VariablePattern (Ident "thenExpr" 376))])),(VariablePattern (Ident "elseExpr" 376))]))]) (SimpleRhs (464,9) (InfixApply (Literal (String "if ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 376)))) (Variable (QualIdent Nothing (Ident "condExpr" 376))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " then ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 376)))) (Variable (QualIdent Nothing (Ident "thenExpr" 376))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " else ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 376)))) (Variable (QualIdent Nothing (Ident "elseExpr" 376)))))))))) [])),(Equation (467,1) (FunLhs (Ident "showITEApplication" 0) [(VariablePattern (Ident "opts" 379)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(AsPattern (Ident "e" 379) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "_" 380)),(VariablePattern (Ident "_" 381))])),(VariablePattern (Ident "_" 382))])),(VariablePattern (Ident "_" 383))]))),(VariablePattern (Ident "e'" 379))]))]) (SimpleRhs (468,6) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showITEApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 379)))) (Variable (QualIdent Nothing (Ident "e" 379)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ") ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 379)))) (Variable (QualIdent Nothing (Ident "e'" 379))))))) []))]) ,(TypeSig (470,1) [(Ident "showTupleApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (471,1) (Ident "showTupleApplication" 0) [(Equation (471,1) (FunLhs (Ident "showTupleApplication" 0) [(VariablePattern (Ident "opts" 385)),(VariablePattern (Ident "appl" 385))]) (SimpleRhs (472,6) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Variable (QualIdent Nothing (Ident "p_showTuple" 386))) (Variable (QualIdent Nothing (Ident "appl" 385))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) [(FunctionDecl (474,4) (Ident "p_showTuple" 386) [(Equation (474,4) (FunLhs (Ident "p_showTuple" 386) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(VariablePattern (Ident "_" 388))])),(VariablePattern (Ident "arg" 387))]))]) (SimpleRhs (475,9) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 385)))) (Variable (QualIdent Nothing (Ident "arg" 387)))) [])),(Equation (476,4) (FunLhs (Ident "p_showTuple" 386) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "e1" 390)),(VariablePattern (Ident "e2" 390))])),(VariablePattern (Ident "arg" 390))]))]) (SimpleRhs (477,9) (InfixApply (Paren (Apply (Variable (QualIdent Nothing (Ident "p_showTuple" 386))) (Paren (Apply (Apply (Constructor (QualIdent (Just "AbstractCurry") (Ident "CApply" 0))) (Variable (QualIdent Nothing (Ident "e1" 390)))) (Variable (QualIdent Nothing (Ident "e2" 390))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ",")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 385)))) (Variable (QualIdent Nothing (Ident "arg" 390))))))) []))])]))]) ,(TypeSig (479,1) [(Ident "showSimpleApplication" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (480,1) (Ident "showSimpleApplication" 0) [(Equation (480,1) (FunLhs (Ident "showSimpleApplication" 0) [(VariablePattern (Ident "opts" 392)),(VariablePattern (Ident "appl" 392))]) (SimpleRhs (481,3) (Case (Variable (QualIdent Nothing (Ident "appl" 392))) [(Alt (482,6) (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "func" 394)),(VariablePattern (Ident "arg" 394))]) (SimpleRhs (482,25) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showSimpleApplication" 0))) (Variable (QualIdent Nothing (Ident "opts" 392)))) (Variable (QualIdent Nothing (Ident "func" 394)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 392)))) (Variable (QualIdent Nothing (Ident "arg" 394)))))) [])),(Alt (484,6) (VariablePattern (Ident "_" 397)) (SimpleRhs (484,25) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showBoxedExpr" 0))) (Variable (QualIdent Nothing (Ident "opts" 392)))) (Variable (QualIdent Nothing (Ident "appl" 392)))) []))]) []))]) ,(TypeSig (486,1) [(Ident "showBoxedExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Options" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (487,1) (Ident "showBoxedExpr" 0) [(Equation (487,1) (FunLhs (Ident "showBoxedExpr" 0) [(VariablePattern (Ident "opts" 399)),(VariablePattern (Ident "expr" 399))]) (GuardedRhs [(CondExpr (488,4) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isSimpleExpr" 0))) (Variable (QualIdent Nothing (Ident "expr" 399)))) (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 399)))) (Variable (QualIdent Nothing (Ident "expr" 399))))),(CondExpr (489,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "showExprOpt" 0))) (Variable (QualIdent Nothing (Ident "opts" 399)))) (Variable (QualIdent Nothing (Ident "expr" 399)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))] []))]) ,(TypeSig (495,1) [(Ident "prefixMap" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ListType (VariableType (Ident "a" 0))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (496,1) (Ident "prefixMap" 0) [(Equation (496,1) (FunLhs (Ident "prefixMap" 0) [(VariablePattern (Ident "f" 401)),(VariablePattern (Ident "xs" 401)),(VariablePattern (Ident "s" 401))]) (SimpleRhs (497,6) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concatMap" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "s" 401)))))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "f" 401)))) (Variable (QualIdent Nothing (Ident "xs" 401)))))) []))]) ,(TypeSig (499,1) [(Ident "prefixInter" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ListType (VariableType (Ident "a" 0))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (500,1) (Ident "prefixInter" 0) [(Equation (500,1) (FunLhs (Ident "prefixInter" 0) [(VariablePattern (Ident "f" 403)),(VariablePattern (Ident "xs" 403)),(VariablePattern (Ident "s" 403))]) (SimpleRhs (501,6) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Variable (QualIdent Nothing (Ident "s" 403)))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "f" 403)))) (Variable (QualIdent Nothing (Ident "xs" 403))))))) []))]) ,(TypeSig (503,1) [(Ident "combineMap" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ListType (VariableType (Ident "a" 0))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (504,1) (Ident "combineMap" 0) [(Equation (504,1) (FunLhs (Ident "combineMap" 0) [(VariablePattern (Ident "_" 406)),(ListPattern []),(VariablePattern (Ident "_" 407))]) (SimpleRhs (504,21) (Literal (String "")) [])),(Equation (505,1) (FunLhs (Ident "combineMap" 0) [(VariablePattern (Ident "f" 409)),(ParenPattern (InfixPattern (VariablePattern (Ident "x" 409)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 409)))),(VariablePattern (Ident "s" 409))]) (SimpleRhs (506,6) (InfixApply (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 409))) (Variable (QualIdent Nothing (Ident "x" 409))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "prefixMap" 0))) (Variable (QualIdent Nothing (Ident "f" 409)))) (Variable (QualIdent Nothing (Ident "xs" 409)))) (Variable (QualIdent Nothing (Ident "s" 409)))))) []))]) ,(TypeSig (509,1) [(Ident "dropTags" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (510,1) (Ident "dropTags" 0) [(Equation (510,1) (FunLhs (Ident "dropTags" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "x" 411)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 411))))]) (SimpleRhs (510,19) (Case (Variable (QualIdent Nothing (Ident "x" 411))) [(Alt (511,21) (LiteralPattern (Char '"')) (SimpleRhs (511,29) (InfixApply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "dropTags" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "dropWhile" 0))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Literal (Char '"')))) (Variable (QualIdent Nothing (Ident "xs" 411)))))) [])),(Alt (512,21) (LiteralPattern (Char '>')) (SimpleRhs (512,29) (Variable (QualIdent Nothing (Ident "xs" 411))) [])),(Alt (513,21) (VariablePattern (Ident "_" 418)) (SimpleRhs (513,29) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "dropTags" 0))) (Variable (QualIdent Nothing (Ident "xs" 411)))) []))]) []))]) ,(TypeSig (520,1) [(Ident "isInfixOpName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (521,1) (Ident "isInfixOpName" 0) [(Equation (521,1) (FunLhs (Ident "isInfixOpName" 0) []) (SimpleRhs (521,17) (Apply (Variable (QualIdent (Just "Prelude") (Ident "all" 0))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "elem" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "infixIDs" 0))))) []))]) ,(TypeSig (523,1) [(Ident "isStringList" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (524,1) (Ident "isStringList" 0) [(Equation (524,1) (FunLhs (Ident "isStringList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(VariablePattern (Ident "mod" 422)),(VariablePattern (Ident "name" 422))])]))]) (SimpleRhs (525,6) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "mod" 422))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 422))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "[]")))) [])),(Equation (526,1) (FunLhs (Ident "isStringList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CVar" 0)) [(VariablePattern (Ident "_" 425))]))]) (SimpleRhs (526,25) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (527,1) (FunLhs (Ident "isStringList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "head" 427)),(VariablePattern (Ident "tail" 427))]))]) (SimpleRhs (528,6) (Case (Variable (QualIdent Nothing (Ident "head" 427))) [(Alt (529,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "_" 430)),(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLit" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CCharc" 0)) [(VariablePattern (Ident "_" 431))]))]))])) (SimpleRhs (529,40) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isStringList" 0))) (Variable (QualIdent Nothing (Ident "tail" 427)))) [])),(Alt (530,8) (VariablePattern (Ident "_" 434)) (SimpleRhs (530,40) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (532,1) [(Ident "isClosedList" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (533,1) (Ident "isClosedList" 0) [(Equation (533,1) (FunLhs (Ident "isClosedList" 0) [(VariablePattern (Ident "expr" 436))]) (SimpleRhs (534,6) (Case (Variable (QualIdent Nothing (Ident "expr" 436))) [(Alt (535,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(VariablePattern (Ident "mod" 438)),(VariablePattern (Ident "name" 438))])])),(VariablePattern (Ident "_" 439))])),(VariablePattern (Ident "tail" 438))])) (SimpleRhs (536,14) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "mod" 438))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 438))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String ":"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isClosedList" 0))) (Variable (QualIdent Nothing (Ident "tail" 438)))))) [])),(Alt (537,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(VariablePattern (Ident "mod" 441)),(VariablePattern (Ident "name" 441))])])) (SimpleRhs (538,14) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "mod" 441))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 441))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "[]")))) [])),(Alt (539,8) (VariablePattern (Ident "_" 444)) (SimpleRhs (539,14) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (541,1) [(Ident "isSimpleExpr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (542,1) (Ident "isSimpleExpr" 0) [(Equation (542,1) (FunLhs (Ident "isSimpleExpr" 0) [(VariablePattern (Ident "expr" 446))]) (SimpleRhs (543,6) (Case (Variable (QualIdent Nothing (Ident "expr" 446))) [(Alt (544,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CVar" 0)) [(VariablePattern (Ident "_" 449))])) (SimpleRhs (544,25) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (545,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLit" 0)) [(VariablePattern (Ident "_" 452))])) (SimpleRhs (545,25) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (546,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(VariablePattern (Ident "_" 455)),(VariablePattern (Ident "name" 454))])])) (SimpleRhs (546,31) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isInfixOpName" 0))) (Variable (QualIdent Nothing (Ident "name" 454))))) [])),(Alt (547,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CApply" 0)) [(VariablePattern (Ident "f" 457)),(VariablePattern (Ident "_" 458))])) (SimpleRhs (547,25) (Case (Paren (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "applicationHead" 0))) (Variable (QualIdent Nothing (Ident "f" 457))))) [(Alt (548,27) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(LiteralPattern (String "Prelude")),(VariablePattern (Ident "name" 460))])])) (SimpleRhs (548,60) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 460))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String ":"))) (InfixOp (QualIdent (Just "Prelude") (Ident "||" 0))) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 460))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "[]"))) (InfixOp (QualIdent (Just "Prelude") (Ident "||" 0))) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 460))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "()"))) (InfixOp (QualIdent (Just "Prelude") (Ident "||" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isTuple" 0))) (Variable (QualIdent Nothing (Ident "name" 460))))))) [])),(Alt (552,27) (VariablePattern (Ident "_" 463)) (SimpleRhs (552,55) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) [])),(Alt (553,8) (VariablePattern (Ident "_" 466)) (SimpleRhs (553,25) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (556,1) [(Ident "isAtom" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (557,1) (Ident "isAtom" 0) [(Equation (557,1) (FunLhs (Ident "isAtom" 0) [(VariablePattern (Ident "expr" 468))]) (SimpleRhs (558,6) (Case (Variable (QualIdent Nothing (Ident "expr" 468))) [(Alt (559,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CVar" 0)) [(VariablePattern (Ident "_" 471))])) (SimpleRhs (559,25) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (560,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CLit" 0)) [(VariablePattern (Ident "_" 474))])) (SimpleRhs (560,25) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (561,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CSymbol" 0)) [(TuplePattern [(VariablePattern (Ident "_" 477)),(VariablePattern (Ident "name" 476))])])) (SimpleRhs (561,31) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$" 0))) (Apply (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "isInfixOpName" 0))) (Variable (QualIdent Nothing (Ident "name" 476))))) [])),(Alt (562,8) (VariablePattern (Ident "_" 480)) (SimpleRhs (562,13) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (564,1) [(Ident "isUntyped" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CTypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (565,1) (Ident "isUntyped" 0) [(Equation (565,1) (FunLhs (Ident "isUntyped" 0) [(VariablePattern (Ident "typeexpr" 482))]) (SimpleRhs (566,6) (Case (Variable (QualIdent Nothing (Ident "typeexpr" 482))) [(Alt (567,8) (ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CTCons" 0)) [(TuplePattern [(VariablePattern (Ident "mod" 484)),(VariablePattern (Ident "name" 484))]),(ListPattern [])])) (SimpleRhs (567,34) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "mod" 484))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Prelude"))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "name" 484))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "untyped")))) [])),(Alt (568,8) (VariablePattern (Ident "_" 487)) (SimpleRhs (568,32) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (570,1) [(Ident "isTuple" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (571,1) (Ident "isTuple" 0) [(Equation (571,1) (FunLhs (Ident "isTuple" 0) [(ListPattern [])]) (SimpleRhs (571,14) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (572,1) (FunLhs (Ident "isTuple" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "x" 491)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 491))))]) (SimpleRhs (572,18) (InfixApply (Paren (InfixApply (Variable (QualIdent Nothing (Ident "x" 491))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '(')))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "p1_isTuple" 492))) (Variable (QualIdent Nothing (Ident "xs" 491)))))) [(FunctionDecl (574,4) (Ident "p1_isTuple" 492) [(Equation (574,4) (FunLhs (Ident "p1_isTuple" 492) [(ListPattern [])]) (SimpleRhs (574,20) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (575,4) (FunLhs (Ident "p1_isTuple" 492) [(ParenPattern (InfixPattern (VariablePattern (Ident "z" 495)) (QualIdent Nothing (Ident ":" 0)) (ListPattern [])))]) (SimpleRhs (575,24) (InfixApply (Variable (QualIdent Nothing (Ident "z" 495))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char ')'))) [])),(Equation (576,4) (FunLhs (Ident "p1_isTuple" 492) [(ParenPattern (InfixPattern (VariablePattern (Ident "z1" 497)) (QualIdent Nothing (Ident ":" 0)) (InfixPattern (VariablePattern (Ident "z2" 497)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "zs" 497)))))]) (SimpleRhs (576,28) (InfixApply (Paren (InfixApply (Variable (QualIdent Nothing (Ident "z1" 497))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char ',')))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "p1_isTuple" 492))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "z2" 497))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "zs" 497)))))))) []))])]))]) ,(TypeSig (582,1) [(Ident "infixIDs" 0)] (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) ,(FunctionDecl (583,1) (Ident "infixIDs" 0) [(Equation (583,1) (FunLhs (Ident "infixIDs" 0) []) (SimpleRhs (583,13) (Literal (String "~!@#$%^&*+-=<>?./|\\:")) []))]) ,(FunctionDecl (587,1) (Ident "maybeShowBrackets" 0) [(Equation (587,1) (FunLhs (Ident "maybeShowBrackets" 0) [(VariablePattern (Ident "nested" 501)),(VariablePattern (Ident "s" 501))]) (SimpleRhs (588,4) (InfixApply (Paren (IfThenElse (Variable (QualIdent Nothing (Ident "nested" 501))) (Literal (String "(")) (Literal (String "")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "s" 501))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Paren (IfThenElse (Variable (QualIdent Nothing (Ident "nested" 501))) (Literal (String ")")) (Literal (String "")))))) []))]) ,(TypeSig (594,1) [(Ident "nameFM" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "CFuncDecl" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "NameFM" 0)) []))) ,(FunctionDecl (595,1) (Ident "nameFM" 0) [(Equation (595,1) (FunLhs (Ident "nameFM" 0) []) (SimpleRhs (595,10) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "addName" 0)))) (Paren (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "emptyFM" 0))) (Variable (QualIdent (Just "AbstractCurryPrinter") (Ident "lessString" 0)))))) []))]) ,(TypeSig (597,1) [(Ident "addName" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "CFuncDecl" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "NameFM" 0)) []) (ConstructorType (QualIdent Nothing (Ident "NameFM" 0)) [])))) ,(FunctionDecl (598,1) (Ident "addName" 0) [(Equation (598,1) (FunLhs (Ident "addName" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CFunc" 0)) [(TuplePattern [(VariablePattern (Ident "_" 506)),(VariablePattern (Ident "n" 505))]),(VariablePattern (Ident "_" 507)),(VariablePattern (Ident "_" 508)),(VariablePattern (Ident "_" 509)),(VariablePattern (Ident "_" 510))])),(VariablePattern (Ident "fm" 505))]) (SimpleRhs (598,36) (Apply (Apply (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "addToFM" 0))) (Variable (QualIdent Nothing (Ident "fm" 505)))) (Variable (QualIdent Nothing (Ident "n" 505)))) (Tuple [])) [])),(Equation (599,1) (FunLhs (Ident "addName" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "AbstractCurry") (Ident "CmtFunc" 0)) [(VariablePattern (Ident "_" 513)),(TuplePattern [(VariablePattern (Ident "_" 514)),(VariablePattern (Ident "n" 512))]),(VariablePattern (Ident "_" 515)),(VariablePattern (Ident "_" 516)),(VariablePattern (Ident "_" 517)),(VariablePattern (Ident "_" 518))])),(VariablePattern (Ident "fm" 512))]) (SimpleRhs (599,40) (Apply (Apply (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "addToFM" 0))) (Variable (QualIdent Nothing (Ident "fm" 512)))) (Variable (QualIdent Nothing (Ident "n" 512)))) (Tuple [])) []))]) ,(FunctionDecl (601,1) (Ident "lessString" 0) [(Equation (601,1) (FunLhs (Ident "lessString" 0) [(VariablePattern (Ident "s1" 520)),(VariablePattern (Ident "s2" 520))]) (SimpleRhs (601,20) (InfixApply (Constructor (QualIdent (Just "Prelude") (Ident "LT" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Apply (Variable (QualIdent (Just "Sort") (Ident "cmpString" 0))) (Variable (QualIdent Nothing (Ident "s1" 520)))) (Variable (QualIdent Nothing (Ident "s2" 520))))) []))]) ]