Module "FlatCurryTools" (Just (Exporting (21,22) [(Export (QualIdent Nothing (Ident "showFlatProg" 0))),(Export (QualIdent Nothing (Ident "showFlatType" 0))),(Export (QualIdent Nothing (Ident "showFlatFunc" 0))),(Export (QualIdent Nothing (Ident "showCurryType" 0))),(Export (QualIdent Nothing (Ident "showCurryExpr" 0))),(Export (QualIdent Nothing (Ident "showCurryId" 0))),(Export (QualIdent Nothing (Ident "showCurryVar" 0)))])) [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(ImportDecl (25,1) "FlatCurry" False Nothing Nothing) ,(ImportDecl (26,1) "List" False Nothing Nothing) ,(ImportDecl (27,1) "Char" False Nothing Nothing) ,(TypeSig (30,1) [(Ident "showFlatProg" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Prog" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (31,1) (Ident "showFlatProg" 0) [(Equation (31,1) (FunLhs (Ident "showFlatProg" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Prog" 0)) [(VariablePattern (Ident "modname" 2)),(VariablePattern (Ident "imports" 2)),(VariablePattern (Ident "types" 2)),(VariablePattern (Ident "funcs" 2)),(VariablePattern (Ident "ops" 2))]))]) (SimpleRhs (32,6) (InfixApply (Literal (String " (Prog ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "modname" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "imports" 2))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [])) (Literal (String "\n []")) (InfixApply (Literal (String "\n [")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatListElems" 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) (Variable (QualIdent Nothing (Ident "imports" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "]")))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "types" 2))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [])) (Literal (String "\n []")) (InfixApply (Literal (String "\n [")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatListElems" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatType" 0)))) (Variable (QualIdent Nothing (Ident "types" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\n ]")))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n [")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatListElems" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatFunc" 0)))) (Variable (QualIdent Nothing (Ident "funcs" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n ]")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatOp" 0)))) (Variable (QualIdent Nothing (Ident "ops" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\n )\n"))))))))))) []))]) ,(FunctionDecl (41,1) (Ident "showFlatVisibility" 0) [(Equation (41,1) (FunLhs (Ident "showFlatVisibility" 0) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Public" 0)) [])]) (SimpleRhs (41,30) (Literal (String " Public ")) [])),(Equation (42,1) (FunLhs (Ident "showFlatVisibility" 0) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Private" 0)) [])]) (SimpleRhs (42,30) (Literal (String " Private ")) []))]) ,(FunctionDecl (44,1) (Ident "showFlatFixity" 0) [(Equation (44,1) (FunLhs (Ident "showFlatFixity" 0) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "InfixOp" 0)) [])]) (SimpleRhs (44,26) (Literal (String " InfixOp ")) [])),(Equation (45,1) (FunLhs (Ident "showFlatFixity" 0) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "InfixlOp" 0)) [])]) (SimpleRhs (45,27) (Literal (String " InfixlOp ")) [])),(Equation (46,1) (FunLhs (Ident "showFlatFixity" 0) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "InfixrOp" 0)) [])]) (SimpleRhs (46,27) (Literal (String " InfixrOp ")) []))]) ,(FunctionDecl (48,1) (Ident "showFlatOp" 0) [(Equation (48,1) (FunLhs (Ident "showFlatOp" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Op" 0)) [(VariablePattern (Ident "name" 14)),(VariablePattern (Ident "fix" 14)),(VariablePattern (Ident "prec" 14))]))]) (SimpleRhs (49,2) (InfixApply (Literal (String "(Op ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "name" 14)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatFixity" 0))) (Variable (QualIdent Nothing (Ident "fix" 14)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "prec" 14)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) []))]) ,(TypeSig (51,1) [(Ident "showFlatType" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (52,1) (Ident "showFlatType" 0) [(Equation (52,1) (FunLhs (Ident "showFlatType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Type" 0)) [(VariablePattern (Ident "name" 16)),(VariablePattern (Ident "vis" 16)),(VariablePattern (Ident "tpars" 16)),(VariablePattern (Ident "consdecls" 16))]))]) (SimpleRhs (53,3) (InfixApply (Literal (String "\n (Type ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "name" 16)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatVisibility" 0))) (Variable (QualIdent Nothing (Ident "vis" 16)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) (Variable (QualIdent Nothing (Ident "tpars" 16)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatCons" 0)))) (Variable (QualIdent Nothing (Ident "consdecls" 16)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))))) [])),(Equation (56,1) (FunLhs (Ident "showFlatType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TypeSyn" 0)) [(VariablePattern (Ident "name" 18)),(VariablePattern (Ident "vis" 18)),(VariablePattern (Ident "tpars" 18)),(VariablePattern (Ident "texp" 18))]))]) (SimpleRhs (57,3) (InfixApply (Literal (String "\n (TypeSyn ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "name" 18)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatVisibility" 0))) (Variable (QualIdent Nothing (Ident "vis" 18)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) (Variable (QualIdent Nothing (Ident "tpars" 18)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "texp" 18)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))))) []))]) ,(FunctionDecl (61,1) (Ident "showFlatCons" 0) [(Equation (61,1) (FunLhs (Ident "showFlatCons" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Cons" 0)) [(VariablePattern (Ident "cname" 20)),(VariablePattern (Ident "arity" 20)),(VariablePattern (Ident "vis" 20)),(VariablePattern (Ident "types" 20))]))]) (SimpleRhs (62,3) (InfixApply (Literal (String "(Cons ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "cname" 20)))) (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 "arity" 20)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatVisibility" 0))) (Variable (QualIdent Nothing (Ident "vis" 20)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatTypeExpr" 0)))) (Variable (QualIdent Nothing (Ident "types" 20)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))))) []))]) ,(TypeSig (66,1) [(Ident "showFlatFunc" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "FuncDecl" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (67,1) (Ident "showFlatFunc" 0) [(Equation (67,1) (FunLhs (Ident "showFlatFunc" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Func" 0)) [(VariablePattern (Ident "name" 22)),(VariablePattern (Ident "arity" 22)),(VariablePattern (Ident "vis" 22)),(VariablePattern (Ident "ftype" 22)),(VariablePattern (Ident "rl" 22))]))]) (SimpleRhs (68,3) (InfixApply (Literal (String "\n (Func ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "name" 22)))) (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 "arity" 22)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatVisibility" 0))) (Variable (QualIdent Nothing (Ident "vis" 22)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "ftype" 22)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatRule" 0))) (Variable (QualIdent Nothing (Ident "rl" 22)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))))))))) []))]) ,(FunctionDecl (73,1) (Ident "showFlatRule" 0) [(Equation (73,1) (FunLhs (Ident "showFlatRule" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Rule" 0)) [(VariablePattern (Ident "params" 24)),(VariablePattern (Ident "expr" 24))]))]) (SimpleRhs (74,3) (InfixApply (Literal (String " (Rule ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) (Variable (QualIdent Nothing (Ident "params" 24)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "expr" 24)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))) [])),(Equation (76,1) (FunLhs (Ident "showFlatRule" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "External" 0)) [(VariablePattern (Ident "name" 26))]))]) (SimpleRhs (77,3) (InfixApply (Literal (String " (External ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "name" 26)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) []))]) ,(FunctionDecl (79,1) (Ident "showFlatTypeExpr" 0) [(Equation (79,1) (FunLhs (Ident "showFlatTypeExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)) [(VariablePattern (Ident "t1" 28)),(VariablePattern (Ident "t2" 28))]))]) (SimpleRhs (80,3) (InfixApply (Literal (String "(FuncType ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "t1" 28)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatTypeExpr" 0))) (Variable (QualIdent Nothing (Ident "t2" 28)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) [])),(Equation (81,1) (FunLhs (Ident "showFlatTypeExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TCons" 0)) [(VariablePattern (Ident "tc" 30)),(VariablePattern (Ident "ts" 30))]))]) (SimpleRhs (82,3) (InfixApply (Literal (String "(TCons ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "tc" 30)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatTypeExpr" 0)))) (Variable (QualIdent Nothing (Ident "ts" 30)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))) [])),(Equation (84,1) (FunLhs (Ident "showFlatTypeExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TVar" 0)) [(VariablePattern (Ident "n" 32))]))]) (SimpleRhs (84,29) (InfixApply (Literal (String "(TVar ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "n" 32)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) []))]) ,(FunctionDecl (87,1) (Ident "showFlatCombType" 0) [(Equation (87,1) (FunLhs (Ident "showFlatCombType" 0) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncCall" 0)) [])]) (SimpleRhs (87,29) (Literal (String "FuncCall")) [])),(Equation (88,1) (FunLhs (Ident "showFlatCombType" 0) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "ConsCall" 0)) [])]) (SimpleRhs (88,29) (Literal (String "ConsCall")) [])),(Equation (89,1) (FunLhs (Ident "showFlatCombType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncPartCall" 0)) [(VariablePattern (Ident "n" 38))]))]) (SimpleRhs (89,37) (InfixApply (Literal (String "(FuncPartCall ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "n" 38)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) [])),(Equation (90,1) (FunLhs (Ident "showFlatCombType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "ConsPartCall" 0)) [(VariablePattern (Ident "n" 40))]))]) (SimpleRhs (90,37) (InfixApply (Literal (String "(ConsPartCall ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "n" 40)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) []))]) ,(FunctionDecl (92,1) (Ident "showFlatExpr" 0) [(Equation (92,1) (FunLhs (Ident "showFlatExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Var" 0)) [(VariablePattern (Ident "n" 42))]))]) (SimpleRhs (92,24) (InfixApply (Literal (String "(Var ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "n" 42)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) [])),(Equation (93,1) (FunLhs (Ident "showFlatExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Lit" 0)) [(VariablePattern (Ident "l" 44))]))]) (SimpleRhs (93,24) (InfixApply (Literal (String "(Lit ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatLit" 0))) (Variable (QualIdent Nothing (Ident "l" 44)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) [])),(Equation (94,1) (FunLhs (Ident "showFlatExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "ctype" 46)),(VariablePattern (Ident "cf" 46)),(VariablePattern (Ident "es" 46))]))]) (SimpleRhs (95,3) (InfixApply (Literal (String "(Comb ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatCombType" 0))) (Variable (QualIdent Nothing (Ident "ctype" 46)))) (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 "cf" 46)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0)))) (Variable (QualIdent Nothing (Ident "es" 46)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))))) [])),(Equation (97,1) (FunLhs (Ident "showFlatExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Let" 0)) [(VariablePattern (Ident "bindings" 48)),(VariablePattern (Ident "exp" 48))]))]) (SimpleRhs (98,3) (InfixApply (Literal (String "(Let ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent Nothing (Ident "showFlatBinding" 49)))) (Variable (QualIdent Nothing (Ident "bindings" 48)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "exp" 48)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))) [(TypeSig (100,4) [(Ident "showFlatBinding" 49)] (ArrowType (TupleType [(ConstructorType (QualIdent Nothing (Ident "Int" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Expr" 0)) [])]) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))),(FunctionDecl (101,4) (Ident "showFlatBinding" 49) [(Equation (101,4) (FunLhs (Ident "showFlatBinding" 49) [(TuplePattern [(VariablePattern (Ident "x" 50)),(VariablePattern (Ident "e" 50))])]) (SimpleRhs (101,28) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "x" 50)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ",")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "e" 50)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) []))])])),(Equation (102,1) (FunLhs (Ident "showFlatExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Free" 0)) [(VariablePattern (Ident "xs" 52)),(VariablePattern (Ident "e" 52))]))]) (SimpleRhs (103,3) (InfixApply (Literal (String "(Free ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) (Variable (QualIdent Nothing (Ident "xs" 52)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "e" 52)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))) [])),(Equation (104,1) (FunLhs (Ident "showFlatExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Or" 0)) [(VariablePattern (Ident "e1" 54)),(VariablePattern (Ident "e2" 54))]))]) (SimpleRhs (105,3) (InfixApply (Literal (String "(Or ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "e1" 54)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "e2" 54)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) [])),(Equation (106,1) (FunLhs (Ident "showFlatExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Rigid" 0)) []),(VariablePattern (Ident "e" 56)),(VariablePattern (Ident "bs" 56))]))]) (SimpleRhs (107,3) (InfixApply (Literal (String "(Case Rigid ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "e" 56)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatBranch" 0)))) (Variable (QualIdent Nothing (Ident "bs" 56)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))) [])),(Equation (108,1) (FunLhs (Ident "showFlatExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Flex" 0)) []),(VariablePattern (Ident "e" 58)),(VariablePattern (Ident "bs" 58))]))]) (SimpleRhs (109,3) (InfixApply (Literal (String "(Case Flex ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "e" 58)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatBranch" 0)))) (Variable (QualIdent Nothing (Ident "bs" 58)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))) []))]) ,(FunctionDecl (111,1) (Ident "showFlatLit" 0) [(Equation (111,1) (FunLhs (Ident "showFlatLit" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Intc" 0)) [(VariablePattern (Ident "i" 60))]))]) (SimpleRhs (111,26) (InfixApply (Literal (String "(Intc ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "i" 60)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) [])),(Equation (112,1) (FunLhs (Ident "showFlatLit" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Floatc" 0)) [(VariablePattern (Ident "f" 62))]))]) (SimpleRhs (112,26) (InfixApply (Literal (String "(Floatc ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "f" 62)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) [])),(Equation (113,1) (FunLhs (Ident "showFlatLit" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Charc" 0)) [(VariablePattern (Ident "c" 64))]))]) (SimpleRhs (114,2) (IfThenElse (InfixApply (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 64)))) (InfixOp (QualIdent (Just "Prelude") (Ident ">=" 0))) (Literal (Int (Ident "_" 66) 32))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 64)))) (InfixOp (QualIdent (Just "Prelude") (Ident "<" 0))) (Literal (Int (Ident "_" 67) 127)))) (InfixApply (Literal (String "(Charc '")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (List [(Variable (QualIdent Nothing (Ident "c" 64)))]) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "')")))) (InfixApply (Literal (String "(Charc (chr ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 64)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "))"))))) []))]) ,(FunctionDecl (118,1) (Ident "showFlatBranch" 0) [(Equation (118,1) (FunLhs (Ident "showFlatBranch" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Branch" 0)) [(VariablePattern (Ident "p" 68)),(VariablePattern (Ident "e" 68))]))]) (SimpleRhs (118,31) (InfixApply (Literal (String "(Branch ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatPattern" 0))) (Variable (QualIdent Nothing (Ident "p" 68)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatExpr" 0))) (Variable (QualIdent Nothing (Ident "e" 68)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))) []))]) ,(FunctionDecl (121,1) (Ident "showFlatPattern" 0) [(Equation (121,1) (FunLhs (Ident "showFlatPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Pattern" 0)) [(VariablePattern (Ident "qn" 70)),(VariablePattern (Ident "xs" 70))]))]) (SimpleRhs (122,7) (InfixApply (Literal (String "(Pattern ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "qn" 70)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatList" 0))) (Variable (QualIdent (Just "Prelude") (Ident "show" 0)))) (Variable (QualIdent Nothing (Ident "xs" 70)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))) [])),(Equation (124,1) (FunLhs (Ident "showFlatPattern" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "LPattern" 0)) [(VariablePattern (Ident "lit" 72))]))]) (SimpleRhs (124,34) (InfixApply (Literal (String "(LPattern ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatLit" 0))) (Variable (QualIdent Nothing (Ident "lit" 72)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) []))]) ,(TypeSig (128,1) [(Ident "showFlatList" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ListType (VariableType (Ident "a" 0))) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (129,1) (Ident "showFlatList" 0) [(Equation (129,1) (FunLhs (Ident "showFlatList" 0) [(VariablePattern (Ident "format" 74)),(VariablePattern (Ident "elems" 74))]) (SimpleRhs (129,29) (InfixApply (Literal (String " [")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showFlatListElems" 0))) (Variable (QualIdent Nothing (Ident "format" 74)))) (Variable (QualIdent Nothing (Ident "elems" 74)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "] ")))) []))]) ,(TypeSig (131,1) [(Ident "showFlatListElems" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ListType (VariableType (Ident "a" 0))) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (132,1) (Ident "showFlatListElems" 0) [(Equation (132,1) (FunLhs (Ident "showFlatListElems" 0) [(VariablePattern (Ident "format" 76)),(VariablePattern (Ident "elems" 76))]) (SimpleRhs (132,34) (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String ","))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "format" 76)))) (Variable (QualIdent Nothing (Ident "elems" 76)))))))) []))]) ,(TypeSig (144,1) [(Ident "showCurryType" 0)] (ArrowType (ArrowType (TupleType [(ConstructorType (QualIdent Nothing (Ident "String" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])]) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "TypeExpr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (146,1) (Ident "showCurryType" 0) [(Equation (146,1) (FunLhs (Ident "showCurryType" 0) [(VariablePattern (Ident "_" 79)),(VariablePattern (Ident "_" 80)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TVar" 0)) [(VariablePattern (Ident "i" 78))]))]) (SimpleRhs (146,30) (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "i" 78))) (InfixOp (QualIdent (Just "Prelude") (Ident "<" 0))) (Literal (Int (Ident "_" 82) 5))) (List [(Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Paren (InfixApply (Literal (Int (Ident "_" 83) 97)) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Variable (QualIdent Nothing (Ident "i" 78))))))]) (InfixApply (Literal (Char 't')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "i" 78)))))) [])),(Equation (147,1) (FunLhs (Ident "showCurryType" 0) [(VariablePattern (Ident "tf" 84)),(VariablePattern (Ident "nested" 84)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)) [(VariablePattern (Ident "t1" 84)),(VariablePattern (Ident "t2" 84))]))]) (SimpleRhs (148,3) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 84)))) (Paren (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryType" 0))) (Variable (QualIdent Nothing (Ident "tf" 84)))) (Paren (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "isFuncType" 0))) (Variable (QualIdent Nothing (Ident "t1" 84)))))) (Variable (QualIdent Nothing (Ident "t1" 84)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " -> ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryType" 0))) (Variable (QualIdent Nothing (Ident "tf" 84)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "t2" 84)))))))) [])),(Equation (151,1) (FunLhs (Ident "showCurryType" 0) [(VariablePattern (Ident "tf" 86)),(VariablePattern (Ident "nested" 86)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TCons" 0)) [(VariablePattern (Ident "tc" 86)),(VariablePattern (Ident "ts" 86))]))]) (GuardedRhs [(CondExpr (152,2) (InfixApply (Variable (QualIdent Nothing (Ident "ts" 86))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [])) (Apply (Variable (QualIdent Nothing (Ident "tf" 86))) (Variable (QualIdent Nothing (Ident "tc" 86))))),(CondExpr (153,2) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "tc" 86))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Tuple [(Literal (String "prelude")),(Literal (String "[]"))])) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Paren (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "ts" 86)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "TCons" 0))) (Tuple [(Literal (String "prelude")),(Literal (String "Char"))])) (List []))))) (Literal (String "String"))),(CondExpr (155,2) (InfixApply (Variable (QualIdent Nothing (Ident "tc" 86))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Tuple [(Literal (String "prelude")),(Literal (String "[]"))])) (InfixApply (Literal (String "[")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryType" 0))) (Variable (QualIdent Nothing (Ident "tf" 86)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "ts" 86)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "]"))))),(CondExpr (157,2) (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "take" 0))) (Literal (Int (Ident "_" 88) 2))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "snd" 0))) (Variable (QualIdent Nothing (Ident "tc" 86)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "(,"))) (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 (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryType" 0))) (Variable (QualIdent Nothing (Ident "tf" 86)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))))) (Variable (QualIdent Nothing (Ident "ts" 86)))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))),(CondExpr (159,2) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 86)))) (Paren (InfixApply (Apply (Variable (QualIdent Nothing (Ident "tf" 86))) (Variable (QualIdent Nothing (Ident "tc" 86)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concatMap" 0))) (Paren (Lambda [(VariablePattern (Ident "t" 89))] (InfixApply (Literal (Char ' ')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryType" 0))) (Variable (QualIdent Nothing (Ident "tf" 86)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "t" 89)))))))) (Variable (QualIdent Nothing (Ident "ts" 86))))))))] []))]) ,(FunctionDecl (163,1) (Ident "isFuncType" 0) [(Equation (163,1) (FunLhs (Ident "isFuncType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TVar" 0)) [(VariablePattern (Ident "_" 91))]))]) (SimpleRhs (163,29) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (164,1) (FunLhs (Ident "isFuncType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "FuncType" 0)) [(VariablePattern (Ident "_" 94)),(VariablePattern (Ident "_" 95))]))]) (SimpleRhs (164,29) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Equation (165,1) (FunLhs (Ident "isFuncType" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "TCons" 0)) [(VariablePattern (Ident "_" 98)),(VariablePattern (Ident "_" 99))]))]) (SimpleRhs (165,27) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) ,(TypeSig (178,1) [(Ident "showCurryExpr" 0)] (ArrowType (ArrowType (TupleType [(ConstructorType (QualIdent Nothing (Ident "String" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])]) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))))) ,(FunctionDecl (180,1) (Ident "showCurryExpr" 0) [(Equation (180,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "_" 102)),(VariablePattern (Ident "_" 103)),(VariablePattern (Ident "_" 104)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Var" 0)) [(VariablePattern (Ident "n" 101))]))]) (SimpleRhs (180,31) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "n" 101)))) [])),(Equation (182,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "_" 107)),(VariablePattern (Ident "_" 108)),(VariablePattern (Ident "_" 109)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Lit" 0)) [(VariablePattern (Ident "l" 106))]))]) (SimpleRhs (182,31) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryLit" 0))) (Variable (QualIdent Nothing (Ident "l" 106)))) [])),(Equation (184,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 111)),(VariablePattern (Ident "_" 112)),(VariablePattern (Ident "_" 113)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 114)),(VariablePattern (Ident "cf" 111)),(ListPattern [])]))]) (SimpleRhs (184,39) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryId" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "tf" 111))) (Variable (QualIdent Nothing (Ident "cf" 111)))))) [])),(Equation (185,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 116)),(VariablePattern (Ident "nested" 116)),(VariablePattern (Ident "b" 116)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 117)),(VariablePattern (Ident "cf" 116)),(ListPattern [(VariablePattern (Ident "e" 116))])]))]) (SimpleRhs (186,3) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 116)))) (Paren (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryId" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "tf" 116))) (Variable (QualIdent Nothing (Ident "cf" 116)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 116)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 116)))) (Variable (QualIdent Nothing (Ident "e" 116)))))))) [])),(Equation (188,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 119)),(VariablePattern (Ident "nested" 119)),(VariablePattern (Ident "b" 119)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "ct" 119)),(VariablePattern (Ident "cf" 119)),(ListPattern [(VariablePattern (Ident "e1" 119)),(VariablePattern (Ident "e2" 119))])]))]) (GuardedRhs [(CondExpr (189,2) (InfixApply (Variable (QualIdent Nothing (Ident "cf" 119))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Tuple [(Literal (String "prelude")),(Literal (String "apply"))])) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 119)))) (Paren (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 119)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 119)))) (Variable (QualIdent Nothing (Ident "e1" 119)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 119)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 119)))) (Variable (QualIdent Nothing (Ident "e2" 119))))))))),(CondExpr (192,2) (Apply (Variable (QualIdent (Just "Char") (Ident "isAlpha" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "snd" 0))) (Variable (QualIdent Nothing (Ident "cf" 119)))))))) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 119)))) (Paren (InfixApply (Apply (Variable (QualIdent Nothing (Ident "tf" 119))) (Variable (QualIdent Nothing (Ident "cf" 119)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryElems" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 119)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 119)))))) (List [(Variable (QualIdent Nothing (Ident "e1" 119))),(Variable (QualIdent Nothing (Ident "e2" 119)))]))))))),(CondExpr (195,2) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "isFiniteList" 0))) (Paren (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0))) (Variable (QualIdent Nothing (Ident "ct" 119)))) (Variable (QualIdent Nothing (Ident "cf" 119)))) (List [(Variable (QualIdent Nothing (Ident "e1" 119))),(Variable (QualIdent Nothing (Ident "e2" 119)))])))) (IfThenElse (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "isStringConstant" 0))) (Paren (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0))) (Variable (QualIdent Nothing (Ident "ct" 119)))) (Variable (QualIdent Nothing (Ident "cf" 119)))) (List [(Variable (QualIdent Nothing (Ident "e1" 119))),(Variable (QualIdent Nothing (Ident "e2" 119)))])))) (InfixApply (Literal (String "\"")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryStringConstant" 0))) (Paren (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0))) (Variable (QualIdent Nothing (Ident "ct" 119)))) (Variable (QualIdent Nothing (Ident "cf" 119)))) (List [(Variable (QualIdent Nothing (Ident "e1" 119))),(Variable (QualIdent Nothing (Ident "e2" 119)))])))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\"")))) (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 (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryFiniteList" 0))) (Variable (QualIdent Nothing (Ident "tf" 119)))) (Variable (QualIdent Nothing (Ident "b" 119)))) (Paren (Apply (Apply (Apply (Constructor (QualIdent (Just "FlatCurry") (Ident "Comb" 0))) (Variable (QualIdent Nothing (Ident "ct" 119)))) (Variable (QualIdent Nothing (Ident "cf" 119)))) (List [(Variable (QualIdent Nothing (Ident "e1" 119))),(Variable (QualIdent Nothing (Ident "e2" 119)))])))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "]")))))),(CondExpr (201,2) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "snd" 0))) (Variable (QualIdent Nothing (Ident "cf" 119)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "(,)"))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 119)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "b" 119)))) (Variable (QualIdent Nothing (Ident "e1" 119)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ",")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 119)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "b" 119)))) (Variable (QualIdent Nothing (Ident "e2" 119)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))))),(CondExpr (204,2) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 119)))) (Paren (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 119)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 119)))) (Variable (QualIdent Nothing (Ident "e1" 119)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent Nothing (Ident "tf" 119))) (Variable (QualIdent Nothing (Ident "cf" 119)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 119)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 119)))) (Variable (QualIdent Nothing (Ident "e2" 119)))))))))))] [])),(Equation (208,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 121)),(VariablePattern (Ident "nested" 121)),(VariablePattern (Ident "b" 121)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 122)),(VariablePattern (Ident "cf" 121)),(ParenPattern (InfixPattern (VariablePattern (Ident "e1" 121)) (QualIdent Nothing (Ident ":" 0)) (InfixPattern (VariablePattern (Ident "e2" 121)) (QualIdent Nothing (Ident ":" 0)) (InfixPattern (VariablePattern (Ident "e3" 121)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "es" 121))))))]))]) (GuardedRhs [(CondExpr (209,2) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "cf" 121))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Tuple [(Literal (String "prelude")),(Literal (String "if_then_else"))])) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "es" 121))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List []))) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 121)))) (Paren (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 121)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " if ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 121)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "b" 121))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 124) 2))))) (Variable (QualIdent Nothing (Ident "e1" 121)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 121)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " then ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 121)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "b" 121))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 125) 2))))) (Variable (QualIdent Nothing (Ident "e2" 121)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 121)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " else ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 121)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "b" 121))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 126) 2))))) (Variable (QualIdent Nothing (Ident "e3" 121)))))))))))))))))),(CondExpr (215,2) (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "take" 0))) (Literal (Int (Ident "_" 127) 2))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "snd" 0))) (Variable (QualIdent Nothing (Ident "cf" 121)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "(,"))) (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 (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 121)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "b" 121)))))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "e1" 121))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "e2" 121))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "e3" 121))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "es" 121)))))))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))),(CondExpr (219,2) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 121)))) (Paren (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryId" 0))) (Paren (Apply (Variable (QualIdent Nothing (Ident "tf" 121))) (Variable (QualIdent Nothing (Ident "cf" 121)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryElems" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 121)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 121)))))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "e1" 121))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "e2" 121))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "e3" 121))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "es" 121)))))))))))))] [])),(Equation (224,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 128)),(VariablePattern (Ident "nested" 128)),(VariablePattern (Ident "b" 128)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Let" 0)) [(VariablePattern (Ident "bindings" 128)),(VariablePattern (Ident "exp" 128))]))]) (SimpleRhs (225,3) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 128)))) (Paren (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 128)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "let ")) (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))) (Paren (InfixApply (Literal (String "\n ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 128))))))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "x" 130)),(VariablePattern (Ident "e" 130))])] (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "x" 130)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " = ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 128)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "b" 128))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 131) 4))))) (Variable (QualIdent Nothing (Ident "e" 130))))))))) (Variable (QualIdent Nothing (Ident "bindings" 128)))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (InfixApply (Literal (String "\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 128)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String " in "))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 128)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "b" 128))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 132) 4))))) (Variable (QualIdent Nothing (Ident "exp" 128))))))))))) [])),(Equation (230,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 133)),(VariablePattern (Ident "nested" 133)),(VariablePattern (Ident "b" 133)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Free" 0)) [(ListPattern []),(VariablePattern (Ident "e" 133))]))]) (SimpleRhs (230,41) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 133)))) (Variable (QualIdent Nothing (Ident "nested" 133)))) (Variable (QualIdent Nothing (Ident "b" 133)))) (Variable (QualIdent Nothing (Ident "e" 133)))) [])),(Equation (232,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 135)),(VariablePattern (Ident "nested" 135)),(VariablePattern (Ident "b" 135)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Free" 0)) [(ParenPattern (InfixPattern (VariablePattern (Ident "x" 135)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 135)))),(VariablePattern (Ident "e" 135))]))]) (SimpleRhs (233,3) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 135)))) (Paren (InfixApply (Literal (String "let ")) (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 (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "x" 135))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "xs" 135)))))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " free in ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 135)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "b" 135)))) (Variable (QualIdent Nothing (Ident "e" 135))))))))) [])),(Equation (237,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 137)),(VariablePattern (Ident "nested" 137)),(VariablePattern (Ident "b" 137)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Or" 0)) [(VariablePattern (Ident "e1" 137)),(VariablePattern (Ident "e2" 137))]))]) (SimpleRhs (238,3) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 137)))) (Paren (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 137)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 137)))) (Variable (QualIdent Nothing (Ident "e1" 137)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ? ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 137)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 137)))) (Variable (QualIdent Nothing (Ident "e2" 137)))))))) [])),(Equation (241,1) (FunLhs (Ident "showCurryExpr" 0) [(VariablePattern (Ident "tf" 139)),(VariablePattern (Ident "nested" 139)),(VariablePattern (Ident "b" 139)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(VariablePattern (Ident "ctype" 139)),(VariablePattern (Ident "e" 139)),(VariablePattern (Ident "cs" 139))]))]) (SimpleRhs (242,3) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showBracketsIf" 0))) (Variable (QualIdent Nothing (Ident "nested" 139)))) (Paren (InfixApply (Paren (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "ctype" 139))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "FlatCurry") (Ident "Rigid" 0)))) (Literal (String "case ")) (Literal (String "fcase ")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 139)))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))) (Variable (QualIdent Nothing (Ident "b" 139)))) (Variable (QualIdent Nothing (Ident "e" 139)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " of\n ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryElems" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryCase" 0))) (Variable (QualIdent Nothing (Ident "tf" 139)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "b" 139))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 141) 2))))))) (Variable (QualIdent Nothing (Ident "cs" 139)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 139)))))))))) []))]) ,(FunctionDecl (248,1) (Ident "showCurryVar" 0) [(Equation (248,1) (FunLhs (Ident "showCurryVar" 0) [(VariablePattern (Ident "i" 142))]) (SimpleRhs (248,18) (InfixApply (Literal (String "v")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "i" 142))))) []))]) ,(FunctionDecl (251,1) (Ident "showCurryId" 0) [(Equation (251,1) (FunLhs (Ident "showCurryId" 0) [(VariablePattern (Ident "name" 144))]) (GuardedRhs [(CondExpr (251,18) (Apply (Variable (QualIdent (Just "Char") (Ident "isAlpha" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "name" 144)))))) (Variable (QualIdent Nothing (Ident "name" 144)))),(CondExpr (252,18) (InfixApply (Variable (QualIdent Nothing (Ident "name" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "[]"))) (Variable (QualIdent Nothing (Ident "name" 144)))),(CondExpr (253,18) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Paren (InfixApply (Literal (Char '(')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "name" 144))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")"))))] []))]) ,(FunctionDecl (255,1) (Ident "showCurryLit" 0) [(Equation (255,1) (FunLhs (Ident "showCurryLit" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Intc" 0)) [(VariablePattern (Ident "i" 146))]))]) (SimpleRhs (255,27) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "i" 146)))) [])),(Equation (256,1) (FunLhs (Ident "showCurryLit" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Floatc" 0)) [(VariablePattern (Ident "f" 148))]))]) (SimpleRhs (256,27) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "f" 148)))) [])),(Equation (257,1) (FunLhs (Ident "showCurryLit" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Charc" 0)) [(VariablePattern (Ident "c" 150))]))]) (SimpleRhs (257,27) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "c" 150)))) []))]) ,(FunctionDecl (259,1) (Ident "showCurryCase" 0) [(Equation (259,1) (FunLhs (Ident "showCurryCase" 0) [(VariablePattern (Ident "tf" 152)),(VariablePattern (Ident "b" 152)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Branch" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Pattern" 0)) [(VariablePattern (Ident "l" 152)),(VariablePattern (Ident "vs" 152))])),(VariablePattern (Ident "e" 152))]))]) (SimpleRhs (260,3) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 152)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Variable (QualIdent Nothing (Ident "showPattern" 153))) (Paren (Apply (Variable (QualIdent Nothing (Ident "tf" 152))) (Variable (QualIdent Nothing (Ident "l" 152)))))) (Variable (QualIdent Nothing (Ident "vs" 152)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " -> ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 152)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "b" 152)))) (Variable (QualIdent Nothing (Ident "e" 152)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\n")))))) [(FunctionDecl (263,4) (Ident "showPattern" 153) [(Equation (263,4) (FunLhs (Ident "showPattern" 153) [(VariablePattern (Ident "c" 154)),(ListPattern [])]) (SimpleRhs (263,23) (Variable (QualIdent Nothing (Ident "c" 154))) [])),(Equation (264,4) (FunLhs (Ident "showPattern" 153) [(VariablePattern (Ident "c" 156)),(ListPattern [(VariablePattern (Ident "x" 156))])]) (SimpleRhs (264,24) (InfixApply (Variable (QualIdent Nothing (Ident "c" 156))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "x" 156)))))) [])),(Equation (265,4) (FunLhs (Ident "showPattern" 153) [(VariablePattern (Ident "c" 158)),(ListPattern [(VariablePattern (Ident "x1" 158)),(VariablePattern (Ident "x2" 158))])]) (SimpleRhs (266,6) (IfThenElse (Apply (Variable (QualIdent (Just "Char") (Ident "isAlpha" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "c" 158)))))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 158))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "x1" 158)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "x2" 158)))))))) (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "c" 158))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "(,)"))) (InfixApply (Literal (String "(")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "x1" 158)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ",")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "x2" 158)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "x1" 158)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 158))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0))) (Variable (QualIdent Nothing (Ident "x2" 158)))))))))) [])),(Equation (271,4) (FunLhs (Ident "showPattern" 153) [(VariablePattern (Ident "c" 160)),(ParenPattern (InfixPattern (VariablePattern (Ident "x1" 160)) (QualIdent Nothing (Ident ":" 0)) (InfixPattern (VariablePattern (Ident "x2" 160)) (QualIdent Nothing (Ident ":" 0)) (InfixPattern (VariablePattern (Ident "x3" 160)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xs" 160))))))]) (SimpleRhs (272,6) (IfThenElse (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "take" 0))) (Literal (Int (Ident "_" 162) 2))) (Variable (QualIdent Nothing (Ident "c" 160)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "(,"))) (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 (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "x1" 160))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "x2" 160))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "x3" 160))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "xs" 160)))))))))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 160))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryElems" 0))) (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryVar" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "x1" 160))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "x2" 160))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "x3" 160))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "xs" 160))))))))))) []))])])),(Equation (276,1) (FunLhs (Ident "showCurryCase" 0) [(VariablePattern (Ident "tf" 163)),(VariablePattern (Ident "b" 163)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Branch" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "LPattern" 0)) [(VariablePattern (Ident "l" 163))])),(VariablePattern (Ident "e" 163))]))]) (SimpleRhs (277,3) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "sceBlanks" 0))) (Variable (QualIdent Nothing (Ident "b" 163)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryLit" 0))) (Variable (QualIdent Nothing (Ident "l" 163)))) (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 (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 163)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "b" 163)))) (Variable (QualIdent Nothing (Ident "e" 163)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\n"))))))) []))]) ,(FunctionDecl (280,1) (Ident "showCurryFiniteList" 0) [(Equation (280,1) (FunLhs (Ident "showCurryFiniteList" 0) [(VariablePattern (Ident "_" 166)),(VariablePattern (Ident "_" 167)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 168)),(TuplePattern [(LiteralPattern (String "prelude")),(LiteralPattern (String "[]"))]),(ListPattern [])]))]) (SimpleRhs (280,56) (List []) [])),(Equation (281,1) (FunLhs (Ident "showCurryFiniteList" 0) [(VariablePattern (Ident "tf" 170)),(VariablePattern (Ident "b" 170)),(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 171)),(TuplePattern [(LiteralPattern (String "prelude")),(LiteralPattern (String ":"))]),(ListPattern [(VariablePattern (Ident "e1" 170)),(VariablePattern (Ident "e2" 170))])]))]) (SimpleRhs (282,3) (InfixApply (Apply (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryExpr" 0))) (Variable (QualIdent Nothing (Ident "tf" 170)))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (Variable (QualIdent Nothing (Ident "b" 170)))) (Variable (QualIdent Nothing (Ident "e1" 170)))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Apply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryFiniteList" 0))) (Variable (QualIdent Nothing (Ident "tf" 170)))) (Variable (QualIdent Nothing (Ident "b" 170)))) (Variable (QualIdent Nothing (Ident "e2" 170))))) []))]) ,(FunctionDecl (285,1) (Ident "showCurryStringConstant" 0) [(Equation (285,1) (FunLhs (Ident "showCurryStringConstant" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 174)),(TuplePattern [(LiteralPattern (String "prelude")),(LiteralPattern (String "[]"))]),(ListPattern [])]))]) (SimpleRhs (285,56) (List []) [])),(Equation (286,1) (FunLhs (Ident "showCurryStringConstant" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 177)),(TuplePattern [(LiteralPattern (String "prelude")),(LiteralPattern (String ":"))]),(ListPattern [(VariablePattern (Ident "e1" 176)),(VariablePattern (Ident "e2" 176))])]))]) (SimpleRhs (287,4) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCharExpr" 0))) (Variable (QualIdent Nothing (Ident "e1" 176)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "showCurryStringConstant" 0))) (Variable (QualIdent Nothing (Ident "e2" 176))))) []))]) ,(FunctionDecl (289,1) (Ident "showCharExpr" 0) [(Equation (289,1) (FunLhs (Ident "showCharExpr" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Lit" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Charc" 0)) [(VariablePattern (Ident "c" 179))]))]))]) (GuardedRhs [(CondExpr (290,3) (InfixApply (Variable (QualIdent Nothing (Ident "c" 179))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '"'))) (Literal (String "\\\""))),(CondExpr (291,3) (InfixApply (Variable (QualIdent Nothing (Ident "c" 179))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '\''))) (Literal (String "\\'"))),(CondExpr (292,3) (InfixApply (Variable (QualIdent Nothing (Ident "c" 179))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '\n'))) (Literal (String "\\n"))),(CondExpr (293,3) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "o" 180))) (InfixOp (QualIdent (Just "Prelude") (Ident "<" 0))) (Literal (Int (Ident "_" 182) 32))) (InfixOp (QualIdent (Just "Prelude") (Ident "||" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "o" 180))) (InfixOp (QualIdent (Just "Prelude") (Ident ">" 0))) (Literal (Int (Ident "_" 183) 126)))) (List [(Literal (Char '\\')),(Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Paren (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "o" 180))) (InfixOp (QualIdent (Just "Prelude") (Ident "div" 0))) (Literal (Int (Ident "_" 184) 100))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 185) 48))))),(Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Paren (Paren (InfixApply (InfixApply (Paren (InfixApply (Variable (QualIdent Nothing (Ident "o" 180))) (InfixOp (QualIdent (Just "Prelude") (Ident "mod" 0))) (Literal (Int (Ident "_" 186) 100)))) (InfixOp (QualIdent (Just "Prelude") (Ident "div" 0))) (Literal (Int (Ident "_" 187) 10))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 188) 48)))))),(Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Paren (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "o" 180))) (InfixOp (QualIdent (Just "Prelude") (Ident "mod" 0))) (Literal (Int (Ident "_" 189) 10))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 190) 48)))))])),(CondExpr (295,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (List [(Variable (QualIdent Nothing (Ident "c" 179)))]))] [(PatternDecl (297,4) (VariablePattern (Ident "o" 180)) (SimpleRhs (297,8) (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 179)))) []))]))]) ,(TypeSig (299,1) [(Ident "showCurryElems" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ListType (VariableType (Ident "a" 0))) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (300,1) (Ident "showCurryElems" 0) [(Equation (300,1) (FunLhs (Ident "showCurryElems" 0) [(VariablePattern (Ident "format" 191)),(VariablePattern (Ident "elems" 191))]) (SimpleRhs (301,4) (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String " "))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "format" 191)))) (Variable (QualIdent Nothing (Ident "elems" 191)))))))) []))]) ,(FunctionDecl (303,1) (Ident "showBracketsIf" 0) [(Equation (303,1) (FunLhs (Ident "showBracketsIf" 0) [(VariablePattern (Ident "nested" 193)),(VariablePattern (Ident "s" 193))]) (SimpleRhs (303,27) (IfThenElse (Variable (QualIdent Nothing (Ident "nested" 193))) (InfixApply (Literal (Char '(')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "s" 193))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ")")))) (Variable (QualIdent Nothing (Ident "s" 193)))) []))]) ,(FunctionDecl (305,1) (Ident "sceBlanks" 0) [(Equation (305,1) (FunLhs (Ident "sceBlanks" 0) [(VariablePattern (Ident "b" 195))]) (SimpleRhs (305,15) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "take" 0))) (Variable (QualIdent Nothing (Ident "b" 195)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "repeat" 0))) (Literal (Char ' '))))) []))]) ,(TypeSig (308,1) [(Ident "isFiniteList" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (309,1) (Ident "isFiniteList" 0) [(Equation (309,1) (FunLhs (Ident "isFiniteList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Var" 0)) [(VariablePattern (Ident "_" 198))]))]) (SimpleRhs (309,24) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (310,1) (FunLhs (Ident "isFiniteList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Lit" 0)) [(VariablePattern (Ident "_" 201))]))]) (SimpleRhs (310,24) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (311,1) (FunLhs (Ident "isFiniteList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 204)),(VariablePattern (Ident "name" 203)),(VariablePattern (Ident "args" 203))]))]) (GuardedRhs [(CondExpr (312,3) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 203))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Tuple [(Literal (String "prelude")),(Literal (String "[]"))])) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "args" 203))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List []))) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0)))),(CondExpr (313,3) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 203))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Tuple [(Literal (String "prelude")),(Literal (String ":"))])) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "args" 203)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Int (Ident "_" 206) 2)))) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "isFiniteList" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "args" 203))) (InfixOp (QualIdent (Just "Prelude") (Ident "!!" 0))) (Literal (Int (Ident "_" 207) 1)))))),(CondExpr (314,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))))] [])),(Equation (315,1) (FunLhs (Ident "isFiniteList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Let" 0)) [(VariablePattern (Ident "_" 209)),(VariablePattern (Ident "_" 210))]))]) (SimpleRhs (315,26) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (316,1) (FunLhs (Ident "isFiniteList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Free" 0)) [(VariablePattern (Ident "_" 213)),(VariablePattern (Ident "_" 214))]))]) (SimpleRhs (316,27) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (317,1) (FunLhs (Ident "isFiniteList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Or" 0)) [(VariablePattern (Ident "_" 217)),(VariablePattern (Ident "_" 218))]))]) (SimpleRhs (317,25) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (318,1) (FunLhs (Ident "isFiniteList" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Case" 0)) [(VariablePattern (Ident "_" 221)),(VariablePattern (Ident "_" 222)),(VariablePattern (Ident "_" 223))]))]) (SimpleRhs (318,29) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) ,(TypeSig (321,1) [(Ident "isStringConstant" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (322,1) (Ident "isStringConstant" 0) [(Equation (322,1) (FunLhs (Ident "isStringConstant" 0) [(VariablePattern (Ident "e" 225))]) (SimpleRhs (322,22) (Case (Variable (QualIdent Nothing (Ident "e" 225))) [(Alt (323,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Comb" 0)) [(VariablePattern (Ident "_" 228)),(VariablePattern (Ident "name" 227)),(VariablePattern (Ident "args" 227))]) (SimpleRhs (323,23) (InfixApply (Paren (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 227))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Tuple [(Literal (String "prelude")),(Literal (String "[]"))])) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "args" 227)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "||" 0))) (Paren (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "name" 227))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Tuple [(Literal (String "prelude")),(Literal (String ":"))])) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "args" 227)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Int (Ident "_" 230) 2))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "isCharConstant" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "args" 227)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "FlatCurryTools") (Ident "isStringConstant" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "args" 227))) (InfixOp (QualIdent (Just "Prelude") (Ident "!!" 0))) (Literal (Int (Ident "_" 231) 1)))))))))) [])),(Alt (326,3) (VariablePattern (Ident "_" 233)) (SimpleRhs (326,23) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ,(TypeSig (329,1) [(Ident "isCharConstant" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Expr" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (330,1) (Ident "isCharConstant" 0) [(Equation (330,1) (FunLhs (Ident "isCharConstant" 0) [(VariablePattern (Ident "e" 235))]) (SimpleRhs (330,20) (Case (Variable (QualIdent Nothing (Ident "e" 235))) [(Alt (331,3) (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Lit" 0)) [(ParenPattern (ConstructorPattern (QualIdent (Just "FlatCurry") (Ident "Charc" 0)) [(VariablePattern (Ident "_" 238))]))]) (SimpleRhs (331,20) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Alt (332,3) (VariablePattern (Ident "_" 241)) (SimpleRhs (332,20) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) []))]) ]