CurryProg "CompactFlatCurry" ["Prelude","FlatCurry","SetRBT","TableRBT","Maybe","List","FileGoodies","Directory","Sort","XML","Distribution","Time"] [CType ("CompactFlatCurry","Option") Public [] [CCons ("CompactFlatCurry","Verbose") 0 Public [],CCons ("CompactFlatCurry","Main") 1 Public [CTCons ("Prelude","String") []],CCons ("CompactFlatCurry","Exports") 0 Public [],CCons ("CompactFlatCurry","InitFuncs") 1 Public [CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []]],CCons ("CompactFlatCurry","Required") 1 Public [CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","RequiredSpec") []]],CCons ("CompactFlatCurry","Import") 1 Public [CTCons ("Prelude","String") []]], CType ("CompactFlatCurry","RequiredSpec") Public [] [CCons ("CompactFlatCurry","AlwaysReq") 1 Private [CTCons ("FlatCurry","QName") []],CCons ("CompactFlatCurry","Requires") 2 Private [CTCons ("FlatCurry","QName") [],CTCons ("FlatCurry","QName") []]]] [CFunc ("CompactFlatCurry","addImport2Options") 1 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","Option") []]) (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","Option") []])) (CRules CFlex [CRule [CPVar (0,"options")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"options"))) (CApply (CApply (CSymbol ("Prelude","map")) (CSymbol ("CompactFlatCurry","Import"))) (CApply (CSymbol ("List","nub")) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","alwaysReqMod"))) (CApply (CSymbol ("CompactFlatCurry","getRequiredFromOptions")) (CVar (0,"options")))))))] [CLocalFunc (CFunc ("CompactFlatCurry","alwaysReqMod") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("CompactFlatCurry","AlwaysReq") [CPComb ("Prelude","(,)") [CPVar (1,"m"),CPVar (2,"_")]]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"m"))) (CSymbol ("Prelude","[]")))] [],CRule [CPComb ("CompactFlatCurry","Requires") [CPVar (3,"_"),CPVar (4,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] []]))]]), CFunc ("CompactFlatCurry","allConsOfExpr") 1 Private (CFuncType (CTCons ("FlatCurry","Expr") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Var") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("FlatCurry","Lit") [CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("FlatCurry","Comb") [CPVar (2,"ctype"),CPVar (3,"cname"),CPVar (4,"exprs")]] [(CSymbol ("Prelude","success"),CCase (CVar (2,"ctype")) [CBranch (CPComb ("FlatCurry","ConsCall") []) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (3,"cname"))) (CVar (5,"cnames"))),CBranch (CPComb ("FlatCurry","ConsPartCall") [CPVar (6,"_")]) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (3,"cname"))) (CVar (5,"cnames"))),CBranch (CPVar (7,"_")) (CVar (5,"cnames"))])] [CLocalPat (CPVar (5,"cnames")) (CApply (CApply (CSymbol ("CompactFlatCurry","unionMap")) (CSymbol ("CompactFlatCurry","allConsOfExpr"))) (CVar (4,"exprs"))) []],CRule [CPComb ("FlatCurry","Free") [CPVar (8,"_"),CPVar (9,"expr")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("CompactFlatCurry","allConsOfExpr")) (CVar (9,"expr")))] [],CRule [CPComb ("FlatCurry","Let") [CPVar (10,"bs"),CPVar (11,"expr")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("List","union")) (CApply (CApply (CSymbol ("CompactFlatCurry","unionMap")) (CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("CompactFlatCurry","allConsOfExpr"))) (CSymbol ("Prelude","snd")))) (CVar (10,"bs")))) (CApply (CSymbol ("CompactFlatCurry","allConsOfExpr")) (CVar (11,"expr"))))] [],CRule [CPComb ("FlatCurry","Or") [CPVar (12,"expr1"),CPVar (13,"expr2")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("List","union")) (CApply (CSymbol ("CompactFlatCurry","allConsOfExpr")) (CVar (12,"expr1")))) (CApply (CSymbol ("CompactFlatCurry","allConsOfExpr")) (CVar (13,"expr2"))))] [],CRule [CPComb ("FlatCurry","Case") [CPVar (14,"_"),CPVar (15,"expr"),CPVar (16,"branchExprs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("List","union")) (CApply (CSymbol ("CompactFlatCurry","allConsOfExpr")) (CVar (15,"expr")))) (CApply (CApply (CSymbol ("CompactFlatCurry","unionMap")) (CSymbol ("CompactFlatCurry","consOfBranch"))) (CVar (16,"branchExprs"))))] [CLocalFunc (CFunc ("CompactFlatCurry","consOfBranch") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("FlatCurry","Branch") [CPComb ("FlatCurry","LPattern") [CPVar (17,"_")],CPVar (18,"e")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("CompactFlatCurry","allConsOfExpr")) (CVar (18,"e")))] [],CRule [CPComb ("FlatCurry","Branch") [CPComb ("FlatCurry","Pattern") [CPVar (19,"c"),CPVar (20,"_")],CPVar (21,"e")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("List","union")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (19,"c"))) (CSymbol ("Prelude","[]")))) (CApply (CSymbol ("CompactFlatCurry","allConsOfExpr")) (CVar (21,"e"))))] []]))]]), CFunc ("CompactFlatCurry","allConstructorsOfFunc") 1 Private (CFuncType (CTCons ("FlatCurry","FuncDecl") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Func") [CPVar (0,"_"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"_"),CPComb ("FlatCurry","External") [CPVar (4,"_")]]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("FlatCurry","Func") [CPVar (5,"_"),CPVar (6,"_"),CPVar (7,"_"),CPVar (8,"_"),CPComb ("FlatCurry","Rule") [CPVar (9,"_"),CPVar (10,"expr")]]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("CompactFlatCurry","allConsOfExpr")) (CVar (10,"expr")))] []]), CFunc ("CompactFlatCurry","allFuncCalls") 1 Private (CFuncType (CTCons ("FlatCurry","FuncDecl") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Func") [CPVar (0,"_"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"_"),CPComb ("FlatCurry","External") [CPVar (4,"_")]]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("FlatCurry","Func") [CPVar (5,"_"),CPVar (6,"_"),CPVar (7,"_"),CPVar (8,"_"),CPComb ("FlatCurry","Rule") [CPVar (9,"_"),CPVar (10,"expr")]]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("List","nub")) (CApply (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr")) (CVar (10,"expr"))))] []]), CFunc ("CompactFlatCurry","allFuncCallsOfBranchExpr") 1 Private (CFuncType (CTCons ("FlatCurry","BranchExpr") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Branch") [CPVar (0,"_"),CPVar (1,"expr")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr")) (CVar (1,"expr")))] []]), CFunc ("CompactFlatCurry","allFuncCallsOfExpr") 1 Private (CFuncType (CTCons ("FlatCurry","Expr") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Var") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("FlatCurry","Lit") [CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("FlatCurry","Comb") [CPVar (2,"ctype"),CPVar (3,"fname"),CPVar (4,"exprs")]] [(CSymbol ("Prelude","success"),CCase (CVar (2,"ctype")) [CBranch (CPComb ("FlatCurry","FuncCall") []) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (3,"fname"))) (CVar (5,"fnames"))),CBranch (CPComb ("FlatCurry","FuncPartCall") [CPVar (6,"_")]) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (3,"fname"))) (CVar (5,"fnames"))),CBranch (CPVar (7,"_")) (CVar (5,"fnames"))])] [CLocalPat (CPVar (5,"fnames")) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr"))) (CVar (4,"exprs"))) []],CRule [CPComb ("FlatCurry","Free") [CPVar (8,"_"),CPVar (9,"expr")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr")) (CVar (9,"expr")))] [],CRule [CPComb ("FlatCurry","Let") [CPVar (10,"bs"),CPVar (11,"expr")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","++")) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr"))) (CSymbol ("Prelude","snd")))) (CVar (10,"bs")))) (CApply (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr")) (CVar (11,"expr"))))] [],CRule [CPComb ("FlatCurry","Or") [CPVar (12,"expr1"),CPVar (13,"expr2")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","++")) (CApply (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr")) (CVar (12,"expr1")))) (CApply (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr")) (CVar (13,"expr2"))))] [],CRule [CPComb ("FlatCurry","Case") [CPVar (14,"_"),CPVar (15,"expr"),CPVar (16,"branchExprs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","++")) (CApply (CSymbol ("CompactFlatCurry","allFuncCallsOfExpr")) (CVar (15,"expr")))) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","allFuncCallsOfBranchExpr"))) (CVar (16,"branchExprs"))))] []]), CFunc ("CompactFlatCurry","allTypesOfFunc") 1 Private (CFuncType (CTCons ("FlatCurry","FuncDecl") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Func") [CPVar (0,"_"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"texp"),CPVar (4,"_")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("CompactFlatCurry","allTypesOfTExpr")) (CVar (3,"texp")))] []]), CFunc ("CompactFlatCurry","allTypesOfTExpr") 1 Private (CFuncType (CTCons ("FlatCurry","TypeExpr") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","TVar") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("FlatCurry","FuncType") [CPVar (1,"texp1"),CPVar (2,"texp2")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("List","union")) (CApply (CSymbol ("CompactFlatCurry","allTypesOfTExpr")) (CVar (1,"texp1")))) (CApply (CSymbol ("CompactFlatCurry","allTypesOfTExpr")) (CVar (2,"texp2"))))] [],CRule [CPComb ("FlatCurry","TCons") [CPVar (3,"tcons"),CPVar (4,"args")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("List","union")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (3,"tcons"))) (CSymbol ("Prelude","[]")))) (CApply (CApply (CSymbol ("CompactFlatCurry","unionMap")) (CSymbol ("CompactFlatCurry","allTypesOfTExpr"))) (CVar (4,"args"))))] []]), CFunc ("CompactFlatCurry","alwaysRequired") 1 Public (CFuncType (CTCons ("FlatCurry","QName") []) (CTCons ("CompactFlatCurry","RequiredSpec") [])) (CRules CFlex [CRule [CPVar (0,"fun")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("CompactFlatCurry","AlwaysReq")) (CVar (0,"fun")))] []]), CFunc ("CompactFlatCurry","computeCompactFlatCurry") 2 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","Option") []]) (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("FlatCurry","Prog") []]))) (CRules CFlex [CRule [CPVar (0,"orgoptions"),CPVar (1,"progname")] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPVar (2,"options")) (CApply (CSymbol ("CompactFlatCurry","addImport2Options")) (CVar (0,"orgoptions"))) []] (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","&&")) (CApply (CApply (CSymbol ("Prelude","elem")) (CSymbol ("CompactFlatCurry","Exports"))) (CVar (2,"options")))) (CApply (CApply (CSymbol ("Prelude","any")) (CSymbol ("CompactFlatCurry","isMainOption"))) (CVar (2,"options"))))) (CApply (CSymbol ("Prelude","error")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'O'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\''))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'M'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\''))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\''))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'E'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'x'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\''))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\''))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'g'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'h'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '!'))) (CSymbol ("Prelude","[]")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (CDoExpr [CSExpr (CApply (CSymbol ("Prelude","putStr")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'h'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'g'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'v'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CSymbol ("Prelude","[]"))))))))))))))))))))))))))))))))))))))))))))))))))))))),CSPat (CPVar (3,"prog")) (CApply (CSymbol ("CompactFlatCurry","readCurrentFlatCurry")) (CVar (1,"progname"))),CSPat (CPVar (4,"resultprog")) (CApply (CApply (CSymbol ("CompactFlatCurry","makeCompactFlatCurry")) (CVar (3,"prog"))) (CVar (2,"options"))),CSExpr (CApply (CSymbol ("Prelude","putStrLn")) (CApply (CApply (CSymbol ("Prelude","++")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'N'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'z'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CSymbol ("Prelude","[]")))))))))))))))))))))))))))))))))))))))))))))))))))))))) (CApply (CSymbol ("Prelude","show")) (CApply (CSymbol ("Prelude","length")) (CApply (CSymbol ("CompactFlatCurry","moduleFuns")) (CVar (4,"resultprog"))))))),CSExpr (CApply (CSymbol ("Prelude","return")) (CVar (4,"resultprog")))])))] []]), CFunc ("CompactFlatCurry","consName") 1 Private (CFuncType (CTCons ("FlatCurry","ConsDecl") []) (CTCons ("FlatCurry","QName") [])) (CRules CFlex [CRule [CPComb ("FlatCurry","Cons") [CPVar (0,"name"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"_")]] [(CSymbol ("Prelude","success"),CVar (0,"name"))] []]), CFunc ("CompactFlatCurry","defaultRequired") 0 Public (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","RequiredSpec") []]) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CApply (CSymbol ("CompactFlatCurry","alwaysRequired")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]")))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CSymbol ("CompactFlatCurry","alwaysRequired")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CSymbol ("Prelude","[]"))))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CSymbol ("CompactFlatCurry","alwaysRequired")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CSymbol ("Prelude","[]"))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CSymbol ("CompactFlatCurry","alwaysRequired")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]")))))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CSymbol ("Prelude","[]")))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '&'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '&'))) (CSymbol ("Prelude","[]"))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CSymbol ("Prelude","[]"))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '&'))) (CSymbol ("Prelude","[]")))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '<'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'V'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CSymbol ("Prelude","[]")))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '<'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '<'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '&'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '>'))) (CSymbol ("Prelude","[]"))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '<'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '<'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '='))) (CSymbol ("Prelude","[]"))))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '&'))) (CSymbol ("Prelude","[]")))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '$'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '#'))) (CSymbol ("Prelude","[]")))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'N'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]")))))))))))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]")))))))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '_'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]")))))))))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '_'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'O'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'k'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CSymbol ("Prelude","[]"))))))))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'v'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'L'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CSymbol ("Prelude","[]")))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '_'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'O'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CSymbol ("Prelude","[]")))))))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'v'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'L'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CSymbol ("Prelude","[]")))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '_'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'h'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'E'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CSymbol ("Prelude","[]"))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'v'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'L'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CSymbol ("Prelude","[]")))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("CompactFlatCurry","requires")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'D'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CSymbol ("Prelude","[]")))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'g'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'D'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'K'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'w'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'g'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]"))))))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'D'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CSymbol ("Prelude","[]")))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'K'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'w'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'A'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'T'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]")))))))))))))))))) (CSymbol ("Prelude","[]"))))))))))))))))))] []]), CFunc ("CompactFlatCurry","defaultRequiredTypes") 0 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '('))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ')'))) (CSymbol ("Prelude","[]")))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'I'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CSymbol ("Prelude","[]"))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CSymbol ("Prelude","[]"))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'h'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CSymbol ("Prelude","[]")))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'S'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]"))))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("CompactFlatCurry","prelude"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'I'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'O'))) (CSymbol ("Prelude","[]")))))) (CSymbol ("Prelude","[]"))))))))] []]), CFunc ("CompactFlatCurry","exportedFuncNames") 1 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("FlatCurry","FuncDecl") []]) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []])) (CRules CFlex [CRule [CPVar (0,"funs")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","map")) (CLambda [CPComb ("FlatCurry","Func") [CPVar (1,"name"),CPVar (2,"_"),CPVar (3,"_"),CPVar (4,"_"),CPVar (5,"_")]] (CVar (1,"name")))) (CApply (CApply (CSymbol ("Prelude","filter")) (CLambda [CPComb ("FlatCurry","Func") [CPVar (6,"_"),CPVar (7,"_"),CPVar (8,"vis"),CPVar (9,"_"),CPVar (10,"_")]] (CApply (CApply (CSymbol ("Prelude","==")) (CVar (8,"vis"))) (CSymbol ("FlatCurry","Public"))))) (CVar (0,"funs"))))] []]), CFunc ("CompactFlatCurry","extendFuncTable") 2 Private (CFuncType (CTCons ("TableRBT","TableRBT") [CTCons ("FlatCurry","QName") [],CTCons ("FlatCurry","FuncDecl") []]) (CFuncType (CTCons ("Prelude","[]") [CTCons ("FlatCurry","FuncDecl") []]) (CTCons ("TableRBT","TableRBT") [CTCons ("FlatCurry","QName") [],CTCons ("FlatCurry","FuncDecl") []]))) (CRules CFlex [CRule [CPVar (0,"ftable"),CPVar (1,"fdecls")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CLambda [CPVar (2,"f"),CPVar (3,"t")] (CApply (CApply (CApply (CSymbol ("TableRBT","updateRBT")) (CApply (CSymbol ("CompactFlatCurry","functionName")) (CVar (2,"f")))) (CVar (2,"f"))) (CVar (3,"t"))))) (CVar (0,"ftable"))) (CVar (1,"fdecls")))] []]), CFunc ("CompactFlatCurry","extendTConsWithConsType") 3 Private (CFuncType (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]) (CFuncType (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]) (CFuncType (CTCons ("Prelude","[]") [CTCons ("FlatCurry","TypeDecl") []]) (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []])))) (CRules CFlex [CRule [CPVar (0,"_"),CPVar (1,"tcons"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CVar (1,"tcons"))] [],CRule [CPVar (2,"cnames"),CPVar (3,"tcons"),CPComb ("Prelude",":") [CPComb ("FlatCurry","TypeSyn") [CPVar (4,"tname"),CPVar (5,"_"),CPVar (6,"_"),CPVar (7,"_")],CPVar (8,"tds")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("CompactFlatCurry","extendTConsWithConsType")) (CVar (2,"cnames"))) (CApply (CApply (CSymbol ("SetRBT","insertRBT")) (CVar (4,"tname"))) (CVar (3,"tcons")))) (CVar (8,"tds")))] [],CRule [CPVar (9,"cnames"),CPVar (10,"tcons"),CPComb ("Prelude",":") [CPComb ("FlatCurry","Type") [CPVar (11,"tname"),CPVar (12,"_"),CPVar (13,"_"),CPVar (14,"cdecls")],CPVar (15,"tds")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","||")) (CApply (CApply (CSymbol ("Prelude","elem")) (CVar (11,"tname"))) (CSymbol ("CompactFlatCurry","defaultRequiredTypes")))) (CApply (CApply (CSymbol ("Prelude","any")) (CLambda [CPVar (16,"cdecl")] (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CApply (CSymbol ("CompactFlatCurry","consName")) (CVar (16,"cdecl")))) (CVar (9,"cnames"))))) (CVar (14,"cdecls"))))) (CApply (CApply (CApply (CSymbol ("CompactFlatCurry","extendTConsWithConsType")) (CVar (9,"cnames"))) (CApply (CApply (CSymbol ("SetRBT","insertRBT")) (CVar (11,"tname"))) (CVar (10,"tcons")))) (CVar (15,"tds")))) (CApply (CApply (CApply (CSymbol ("CompactFlatCurry","extendTConsWithConsType")) (CVar (9,"cnames"))) (CVar (10,"tcons"))) (CVar (15,"tds"))))] []]), CFunc ("CompactFlatCurry","findSourceFileInLoadPath") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"modname")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (1,"loadpath")) (CApply (CSymbol ("Distribution","getLoadPathForFile")) (CVar (0,"modname"))),CSPat (CPVar (2,"mbfname")) (CApply (CApply (CApply (CSymbol ("FileGoodies","lookupFileInPath")) (CApply (CSymbol ("FileGoodies","baseName")) (CVar (0,"modname")))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]")))))))))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]"))))))))) (CSymbol ("Prelude","[]"))))) (CVar (1,"loadpath"))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","maybe")) (CApply (CSymbol ("Prelude","error")) (CApply (CApply (CSymbol ("Prelude","++")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '"'))) (CSymbol ("Prelude","[]")))))))))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"modname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '"'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '!'))) (CSymbol ("Prelude","[]")))))))))))))))))) (CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","return"))) (CSymbol ("FileGoodies","stripSuffix")))) (CVar (2,"mbfname")))])] []]), CFunc ("CompactFlatCurry","functionName") 1 Private (CFuncType (CTCons ("FlatCurry","FuncDecl") []) (CTCons ("FlatCurry","QName") [])) (CRules CFlex [CRule [CPComb ("FlatCurry","Func") [CPVar (0,"name"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"_"),CPVar (4,"_")]] [(CSymbol ("Prelude","success"),CVar (0,"name"))] []]), CFunc ("CompactFlatCurry","generateCompactFlatCurryFile") 3 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","Option") []]) (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])))) (CRules CFlex [CRule [CPVar (0,"options"),CPVar (1,"progname"),CPVar (2,"target")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (3,"optprog")) (CApply (CApply (CSymbol ("CompactFlatCurry","computeCompactFlatCurry")) (CVar (0,"options"))) (CVar (1,"progname"))),CSExpr (CApply (CApply (CSymbol ("FlatCurry","writeFCY")) (CVar (2,"target"))) (CVar (3,"optprog"))),CSExpr (CSymbol ("Prelude","done"))])] []]), CFunc ("CompactFlatCurry","getCalledFuncs") 8 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","RequiredSpec") []]) (CFuncType (CTCons ("SetRBT","SetRBT") [CTCons ("Prelude","String") []]) (CFuncType (CTCons ("Prelude","[]") [CTCons ("FlatCurry","Prog") []]) (CFuncType (CTCons ("TableRBT","TableRBT") [CTCons ("FlatCurry","QName") [],CTCons ("FlatCurry","FuncDecl") []]) (CFuncType (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]) (CFuncType (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]) (CFuncType (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]) (CFuncType (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []]) (CTCons ("Prelude","IO") [CTCons ("Prelude","(,,,)") [CTCons ("Prelude","[]") [CTCons ("FlatCurry","Prog") []],CTCons ("Prelude","[]") [CTCons ("FlatCurry","FuncDecl") []],CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []],CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]]]))))))))) (CRules CFlex [CRule [CPVar (0,"_"),CPVar (1,"_"),CPVar (2,"progs"),CPVar (3,"_"),CPVar (4,"_"),CPVar (5,"dcs"),CPVar (6,"ts"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","return")) (CApply (CApply (CApply (CApply (CSymbol ("Prelude","(,,,)")) (CVar (2,"progs"))) (CSymbol ("Prelude","[]"))) (CVar (5,"dcs"))) (CVar (6,"ts"))))] [],CRule [CPVar (7,"required"),CPVar (8,"loadedmnames"),CPVar (9,"progs"),CPVar (10,"functable"),CPVar (11,"loadedfnames"),CPVar (12,"loadedcnames"),CPVar (13,"loadedtnames"),CPComb ("Prelude",":") [CPComb ("Prelude","(,)") [CPVar (14,"m"),CPVar (15,"f")],CPVar (16,"fs")]] [(CApply (CSymbol ("Prelude","not")) (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CVar (14,"m"))) (CVar (8,"loadedmnames"))),CDoExpr [CSPat (CPVar (17,"newmod")) (CApply (CSymbol ("CompactFlatCurry","readCurrentFlatCurry")) (CVar (14,"m"))),CSLet [CLocalPat (CPVar (18,"reqnewfun")) (CApply (CApply (CSymbol ("CompactFlatCurry","getRequiredInModule")) (CVar (7,"required"))) (CVar (14,"m"))) []],CSExpr (CApply (CApply (CApply (CApply (CApply (CApply (CApply (CApply (CSymbol ("CompactFlatCurry","getCalledFuncs")) (CVar (7,"required"))) (CApply (CApply (CSymbol ("SetRBT","insertRBT")) (CVar (14,"m"))) (CVar (8,"loadedmnames")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (17,"newmod"))) (CVar (9,"progs")))) (CApply (CApply (CSymbol ("CompactFlatCurry","extendFuncTable")) (CVar (10,"functable"))) (CApply (CSymbol ("CompactFlatCurry","moduleFuns")) (CVar (17,"newmod"))))) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("SetRBT","insertRBT"))) (CVar (11,"loadedfnames"))) (CVar (18,"reqnewfun")))) (CVar (12,"loadedcnames"))) (CVar (13,"loadedtnames"))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (14,"m"))) (CVar (15,"f")))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (16,"fs"))) (CVar (18,"reqnewfun")))))]),(CApply (CApply (CSymbol ("Prelude","==")) (CApply (CApply (CSymbol ("TableRBT","lookupRBT")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (14,"m"))) (CVar (15,"f")))) (CVar (10,"functable")))) (CSymbol ("Prelude","Nothing")),CApply (CApply (CApply (CApply (CApply (CApply (CApply (CApply (CSymbol ("CompactFlatCurry","getCalledFuncs")) (CVar (7,"required"))) (CVar (8,"loadedmnames"))) (CVar (9,"progs"))) (CVar (10,"functable"))) (CVar (11,"loadedfnames"))) (CVar (12,"loadedcnames"))) (CVar (13,"loadedtnames"))) (CVar (16,"fs"))),(CSymbol ("Prelude","otherwise"),CDoExpr [CSLet [CLocalPat (CPVar (19,"fdecl")) (CApply (CSymbol ("Maybe","fromJust")) (CApply (CApply (CSymbol ("TableRBT","lookupRBT")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (14,"m"))) (CVar (15,"f")))) (CVar (10,"functable")))) [],CLocalPat (CPVar (20,"funcCalls")) (CApply (CSymbol ("CompactFlatCurry","allFuncCalls")) (CVar (19,"fdecl"))) [],CLocalPat (CPVar (21,"newFuncCalls")) (CApply (CApply (CSymbol ("Prelude","filter")) (CLambda [CPVar (26,"qn")] (CApply (CSymbol ("Prelude","not")) (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CVar (26,"qn"))) (CVar (11,"loadedfnames")))))) (CVar (20,"funcCalls"))) [],CLocalPat (CPVar (22,"newReqs")) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CApply (CSymbol ("CompactFlatCurry","getImplicitlyRequired")) (CVar (7,"required")))) (CVar (21,"newFuncCalls"))) [],CLocalPat (CPVar (23,"consCalls")) (CApply (CSymbol ("CompactFlatCurry","allConstructorsOfFunc")) (CVar (19,"fdecl"))) [],CLocalPat (CPVar (24,"newConsCalls")) (CApply (CApply (CSymbol ("Prelude","filter")) (CLambda [CPVar (27,"qn")] (CApply (CSymbol ("Prelude","not")) (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CVar (27,"qn"))) (CVar (12,"loadedcnames")))))) (CVar (23,"consCalls"))) [],CLocalPat (CPVar (25,"newtcons")) (CApply (CSymbol ("CompactFlatCurry","allTypesOfFunc")) (CVar (19,"fdecl"))) []],CSPat (CPComb ("Prelude","(,,,)") [CPVar (28,"newprogs"),CPVar (29,"newfuns"),CPVar (30,"newcons"),CPVar (31,"newtypes")]) (CApply (CApply (CApply (CApply (CApply (CApply (CApply (CApply (CSymbol ("CompactFlatCurry","getCalledFuncs")) (CVar (7,"required"))) (CVar (8,"loadedmnames"))) (CVar (9,"progs"))) (CVar (10,"functable"))) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("SetRBT","insertRBT"))) (CVar (11,"loadedfnames"))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (21,"newFuncCalls"))) (CVar (22,"newReqs"))))) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("SetRBT","insertRBT"))) (CVar (12,"loadedcnames"))) (CVar (23,"consCalls")))) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("SetRBT","insertRBT"))) (CVar (13,"loadedtnames"))) (CVar (25,"newtcons")))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (16,"fs"))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (21,"newFuncCalls"))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (22,"newReqs"))) (CVar (24,"newConsCalls")))))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CApply (CApply (CSymbol ("Prelude","(,,,)")) (CVar (28,"newprogs"))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (19,"fdecl"))) (CVar (29,"newfuns")))) (CVar (30,"newcons"))) (CVar (31,"newtypes"))))])] []]), CFunc ("CompactFlatCurry","getImplicitlyRequired") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"reqspecs"),CPVar (1,"fun")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","getImpReq"))) (CVar (0,"reqspecs")))] [CLocalFunc (CFunc ("CompactFlatCurry","getImpReq") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("CompactFlatCurry","AlwaysReq") [CPVar (2,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("CompactFlatCurry","Requires") [CPVar (3,"f"),CPVar (4,"reqf")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (3,"f"))) (CVar (1,"fun")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (4,"reqf"))) (CSymbol ("Prelude","[]")))) (CSymbol ("Prelude","[]")))] []]))]]), CFunc ("CompactFlatCurry","getMainFuncFromOptions") 1 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","Option") []]) (CTCons ("Prelude","String") [])) (CRules CFlex [CRule [CPComb ("Prelude",":") [CPVar (0,"o"),CPVar (1,"os")]] [(CSymbol ("Prelude","success"),CCase (CVar (0,"o")) [CBranch (CPComb ("CompactFlatCurry","Main") [CPVar (2,"f")]) (CVar (2,"f")),CBranch (CPVar (3,"_")) (CApply (CSymbol ("CompactFlatCurry","getMainFuncFromOptions")) (CVar (1,"os")))])] []]), CFunc ("CompactFlatCurry","getRequiredFromOptions") 1 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","Option") []]) (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","RequiredSpec") []])) (CRules CFlex [CRule [CPVar (0,"options")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","concat")) (CListComp (CVar (1,"fs")) [CSPat (CPComb ("CompactFlatCurry","Required") [CPVar (1,"fs")]) (CVar (0,"options"))]))] []]), CFunc ("CompactFlatCurry","getRequiredInModule") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"reqspecs"),CPVar (1,"mod")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","getImpReq"))) (CVar (0,"reqspecs")))] [CLocalFunc (CFunc ("CompactFlatCurry","getImpReq") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("CompactFlatCurry","AlwaysReq") [CPComb ("Prelude","(,)") [CPVar (2,"mf"),CPVar (3,"f")]]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (2,"mf"))) (CVar (1,"mod")))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (2,"mf"))) (CVar (3,"f")))) (CSymbol ("Prelude","[]")))) (CSymbol ("Prelude","[]")))] [],CRule [CPComb ("CompactFlatCurry","Requires") [CPVar (4,"_"),CPVar (5,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] []]))]]), CFunc ("CompactFlatCurry","getSourceModificationTime") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"progname")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (1,"lexists")) (CApply (CSymbol ("Directory","doesFileExist")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]"))))))))))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CVar (1,"lexists"))) (CApply (CSymbol ("Directory","getModificationTime")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]")))))))))))) (CApply (CSymbol ("Directory","getModificationTime")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CSymbol ("Prelude","[]")))))))))))])] []]), CFunc ("CompactFlatCurry","isMainOption") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"o")] [(CSymbol ("Prelude","success"),CCase (CVar (0,"o")) [CBranch (CPComb ("CompactFlatCurry","Main") [CPVar (1,"_")]) (CSymbol ("Prelude","True")),CBranch (CPVar (2,"_")) (CSymbol ("Prelude","False"))])] []]), CFunc ("CompactFlatCurry","leqQName") 2 Private (CFuncType (CTCons ("FlatCurry","QName") []) (CFuncType (CTCons ("FlatCurry","QName") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPComb ("Prelude","(,)") [CPVar (0,"m1"),CPVar (1,"n1")],CPComb ("Prelude","(,)") [CPVar (2,"m2"),CPVar (3,"n2")]] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPVar (4,"cm")) (CApply (CApply (CSymbol ("Sort","cmpString")) (CVar (0,"m1"))) (CVar (2,"m2"))) []] (CApply (CApply (CSymbol ("Prelude","||")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (4,"cm"))) (CSymbol ("Prelude","LT")))) (CApply (CApply (CSymbol ("Prelude","&&")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (4,"cm"))) (CSymbol ("Prelude","EQ")))) (CApply (CApply (CSymbol ("Sort","leqString")) (CVar (1,"n1"))) (CVar (3,"n2"))))))] []]), CFunc ("CompactFlatCurry","makeCompactFlatCurry") 2 Private (CFuncType (CTCons ("FlatCurry","Prog") []) (CFuncType (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","Option") []]) (CTCons ("Prelude","IO") [CTCons ("FlatCurry","Prog") []]))) (CRules CFlex [CRule [CPVar (0,"mainmod"),CPVar (1,"options")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPComb ("Prelude","(,,)") [CPVar (2,"initfuncs"),CPVar (3,"loadedmnames"),CPVar (4,"loadedmods")]) (CApply (CApply (CSymbol ("CompactFlatCurry","requiredInCompactProg")) (CVar (0,"mainmod"))) (CVar (1,"options"))),CSLet [CLocalPat (CPVar (5,"initFuncTable")) (CApply (CApply (CSymbol ("CompactFlatCurry","extendFuncTable")) (CApply (CSymbol ("TableRBT","emptyTableRBT")) (CSymbol ("CompactFlatCurry","leqQName")))) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","moduleFuns"))) (CVar (4,"loadedmods")))) [],CLocalPat (CPVar (6,"required")) (CApply (CSymbol ("CompactFlatCurry","getRequiredFromOptions")) (CVar (1,"options"))) [],CLocalPat (CPVar (7,"loadedreqfuns")) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CApply (CSymbol ("CompactFlatCurry","getRequiredInModule")) (CVar (6,"required")))) (CApply (CApply (CSymbol ("Prelude","map")) (CSymbol ("CompactFlatCurry","moduleName"))) (CVar (4,"loadedmods")))) [],CLocalPat (CPVar (8,"initreqfuncs")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (2,"initfuncs"))) (CVar (7,"loadedreqfuns"))) []],CSPat (CPComb ("Prelude","(,,,)") [CPVar (9,"finalmods"),CPVar (10,"finalfuncs"),CPVar (11,"finalcons"),CPVar (12,"finaltcons")]) (CApply (CApply (CApply (CApply (CApply (CApply (CApply (CApply (CSymbol ("CompactFlatCurry","getCalledFuncs")) (CVar (6,"required"))) (CVar (3,"loadedmnames"))) (CVar (4,"loadedmods"))) (CVar (5,"initFuncTable"))) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("SetRBT","insertRBT"))) (CApply (CSymbol ("SetRBT","emptySetRBT")) (CSymbol ("CompactFlatCurry","leqQName")))) (CVar (8,"initreqfuncs")))) (CApply (CSymbol ("SetRBT","emptySetRBT")) (CSymbol ("CompactFlatCurry","leqQName")))) (CApply (CSymbol ("SetRBT","emptySetRBT")) (CSymbol ("CompactFlatCurry","leqQName")))) (CVar (8,"initreqfuncs"))),CSExpr (CApply (CSymbol ("Prelude","putStrLn")) (CApply (CApply (CSymbol ("Prelude","++")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'T'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '('))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'w'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'h'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ')'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CSymbol ("Prelude","[]"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (CApply (CSymbol ("Prelude","show")) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("Prelude","+"))) (CLit (CIntc 0))) (CApply (CApply (CSymbol ("Prelude","map")) (CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","length"))) (CSymbol ("CompactFlatCurry","moduleFuns")))) (CVar (9,"finalmods"))))))),CSLet [CLocalPat (CPVar (13,"finalfnames")) (CApply (CApply (CSymbol ("Prelude","map")) (CSymbol ("CompactFlatCurry","functionName"))) (CVar (10,"finalfuncs"))) []],CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CApply (CApply (CApply (CSymbol ("FlatCurry","Prog")) (CApply (CSymbol ("CompactFlatCurry","moduleName")) (CVar (0,"mainmod")))) (CSymbol ("Prelude","[]"))) (CLetDecl [CLocalPat (CPVar (14,"allTDecls")) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","moduleTypes"))) (CVar (9,"finalmods"))) [],CLocalPat (CPVar (15,"reqTCons")) (CApply (CApply (CApply (CSymbol ("CompactFlatCurry","extendTConsWithConsType")) (CVar (11,"finalcons"))) (CVar (12,"finaltcons"))) (CVar (14,"allTDecls"))) [],CLocalPat (CPVar (16,"allReqTCons")) (CApply (CApply (CSymbol ("CompactFlatCurry","requiredDatatypes")) (CVar (15,"reqTCons"))) (CVar (14,"allTDecls"))) []] (CApply (CApply (CSymbol ("Prelude","filter")) (CLambda [CPVar (17,"tdecl")] (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CApply (CSymbol ("CompactFlatCurry","tconsName")) (CVar (17,"tdecl")))) (CVar (16,"allReqTCons"))))) (CVar (14,"allTDecls"))))) (CVar (10,"finalfuncs"))) (CApply (CApply (CSymbol ("Prelude","filter")) (CLambda [CPComb ("FlatCurry","Op") [CPVar (18,"oname"),CPVar (19,"_"),CPVar (20,"_")]] (CApply (CApply (CSymbol ("Prelude","elem")) (CVar (18,"oname"))) (CVar (13,"finalfnames"))))) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","moduleOps"))) (CVar (9,"finalmods"))))))])] []]), CFunc ("CompactFlatCurry","mergePrimSpecIntoFunc") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"trans"),CPComb ("FlatCurry","Func") [CPVar (1,"name"),CPVar (2,"ar"),CPVar (3,"vis"),CPVar (4,"tp"),CPVar (5,"rule")]] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPVar (6,"fname")) (CApply (CApply (CSymbol ("Prelude","lookup")) (CVar (1,"name"))) (CVar (0,"trans"))) []] (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (6,"fname"))) (CSymbol ("Prelude","Nothing")))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CApply (CApply (CApply (CSymbol ("FlatCurry","Func")) (CVar (1,"name"))) (CVar (2,"ar"))) (CVar (3,"vis"))) (CVar (4,"tp"))) (CVar (5,"rule")))) (CSymbol ("Prelude","[]")))) (CLetDecl [CLocalPat (CPComb ("Prelude","Just") [CPComb ("Prelude","(,)") [CPVar (7,"lib"),CPVar (8,"entry")]]) (CVar (6,"fname")) []] (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CSymbol ("Prelude","null")) (CVar (8,"entry")))) (CSymbol ("Prelude","[]"))) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CApply (CApply (CApply (CSymbol ("FlatCurry","Func")) (CVar (1,"name"))) (CVar (2,"ar"))) (CVar (3,"vis"))) (CVar (4,"tp"))) (CApply (CSymbol ("FlatCurry","External")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (7,"lib"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CVar (8,"entry"))))))) (CSymbol ("Prelude","[]")))))))] []]), CFunc ("CompactFlatCurry","mergePrimSpecIntoModule") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"trans"),CPComb ("FlatCurry","Prog") [CPVar (1,"name"),CPVar (2,"imps"),CPVar (3,"types"),CPVar (4,"funcs"),CPVar (5,"ops")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CApply (CApply (CSymbol ("FlatCurry","Prog")) (CVar (1,"name"))) (CVar (2,"imps"))) (CVar (3,"types"))) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CApply (CSymbol ("CompactFlatCurry","mergePrimSpecIntoFunc")) (CVar (0,"trans")))) (CVar (4,"funcs")))) (CVar (5,"ops")))] []]), CFunc ("CompactFlatCurry","moduleFuns") 1 Private (CFuncType (CTCons ("FlatCurry","Prog") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","FuncDecl") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Prog") [CPVar (0,"_"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"funs"),CPVar (4,"_")]] [(CSymbol ("Prelude","success"),CVar (3,"funs"))] []]), CFunc ("CompactFlatCurry","moduleImports") 1 Private (CFuncType (CTCons ("FlatCurry","Prog") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","String") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Prog") [CPVar (0,"_"),CPVar (1,"imports"),CPVar (2,"_"),CPVar (3,"_"),CPVar (4,"_")]] [(CSymbol ("Prelude","success"),CVar (1,"imports"))] []]), CFunc ("CompactFlatCurry","moduleName") 1 Private (CFuncType (CTCons ("FlatCurry","Prog") []) (CTCons ("Prelude","String") [])) (CRules CFlex [CRule [CPComb ("FlatCurry","Prog") [CPVar (0,"name"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"_"),CPVar (4,"_")]] [(CSymbol ("Prelude","success"),CVar (0,"name"))] []]), CFunc ("CompactFlatCurry","moduleOps") 1 Private (CFuncType (CTCons ("FlatCurry","Prog") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","OpDecl") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Prog") [CPVar (0,"_"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"_"),CPVar (4,"ops")]] [(CSymbol ("Prelude","success"),CVar (4,"ops"))] []]), CFunc ("CompactFlatCurry","moduleTypes") 1 Private (CFuncType (CTCons ("FlatCurry","Prog") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","TypeDecl") []])) (CRules CFlex [CRule [CPComb ("FlatCurry","Prog") [CPVar (0,"_"),CPVar (1,"_"),CPVar (2,"types"),CPVar (3,"_"),CPVar (4,"_")]] [(CSymbol ("Prelude","success"),CVar (2,"types"))] []]), CFunc ("CompactFlatCurry","newTypeConsOfTDecl") 2 Private (CFuncType (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]) (CFuncType (CTCons ("FlatCurry","TypeDecl") []) (CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []]))) (CRules CFlex [CRule [CPVar (0,"tcnames"),CPComb ("FlatCurry","TypeSyn") [CPVar (1,"tcons"),CPVar (2,"_"),CPVar (3,"_"),CPVar (4,"texp")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CVar (1,"tcons"))) (CVar (0,"tcnames")))) (CApply (CApply (CSymbol ("Prelude","filter")) (CLambda [CPVar (5,"tc")] (CApply (CSymbol ("Prelude","not")) (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CVar (5,"tc"))) (CVar (0,"tcnames")))))) (CApply (CSymbol ("CompactFlatCurry","allTypesOfTExpr")) (CVar (4,"texp"))))) (CSymbol ("Prelude","[]")))] [],CRule [CPVar (6,"tcnames"),CPComb ("FlatCurry","Type") [CPVar (7,"tcons"),CPVar (8,"_"),CPVar (9,"_"),CPVar (10,"cdecls")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CVar (7,"tcons"))) (CVar (6,"tcnames")))) (CApply (CApply (CSymbol ("Prelude","filter")) (CLambda [CPVar (11,"tc")] (CApply (CSymbol ("Prelude","not")) (CApply (CApply (CSymbol ("SetRBT","elemRBT")) (CVar (11,"tc"))) (CVar (6,"tcnames")))))) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CLambda [CPComb ("FlatCurry","Cons") [CPVar (12,"_"),CPVar (13,"_"),CPVar (14,"_"),CPVar (15,"texps")]] (CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("CompactFlatCurry","allTypesOfTExpr"))) (CVar (15,"texps"))))) (CVar (10,"cdecls"))))) (CSymbol ("Prelude","[]")))] []]), CFunc ("CompactFlatCurry","prelude") 0 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'P'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]")))))))))] []]), CFunc ("CompactFlatCurry","processPrimitives") 2 Private (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("FlatCurry","Prog") []) (CTCons ("Prelude","IO") [CTCons ("FlatCurry","Prog") []]))) (CRules CFlex [CRule [CPVar (0,"progname"),CPVar (1,"prog")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (2,"pspecs")) (CApply (CApply (CSymbol ("CompactFlatCurry","readPrimSpec")) (CApply (CSymbol ("CompactFlatCurry","moduleName")) (CVar (1,"prog")))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"progname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '_'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '2'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CSymbol ("Prelude","[]"))))))))))))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CSymbol ("CompactFlatCurry","mergePrimSpecIntoModule")) (CVar (2,"pspecs"))) (CVar (1,"prog"))))])] []]), CFunc ("CompactFlatCurry","readCurrentFlatCurry") 1 Private (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("FlatCurry","Prog") []])) (CRules CFlex [CRule [CPVar (0,"modname")] [(CSymbol ("Prelude","success"),CDoExpr [CSExpr (CApply (CSymbol ("Prelude","putStr")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (0,"modname"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CSymbol ("Prelude","[]"))))))),CSPat (CPVar (1,"progname")) (CApply (CSymbol ("CompactFlatCurry","findSourceFileInLoadPath")) (CVar (0,"modname"))),CSPat (CPVar (2,"fcyexists")) (CApply (CSymbol ("Directory","doesFileExist")) (CApply (CSymbol ("FlatCurry","flatCurryFileName")) (CVar (1,"progname")))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CSymbol ("Prelude","not")) (CVar (2,"fcyexists")))) (CApply (CApply (CSymbol ("Prelude",">>=")) (CApply (CSymbol ("FlatCurry","readFlatCurry")) (CVar (1,"progname")))) (CApply (CSymbol ("CompactFlatCurry","processPrimitives")) (CVar (1,"progname"))))) (CDoExpr [CSPat (CPVar (3,"ctime")) (CApply (CSymbol ("CompactFlatCurry","getSourceModificationTime")) (CVar (1,"progname"))),CSPat (CPVar (4,"ftime")) (CApply (CSymbol ("Directory","getModificationTime")) (CApply (CSymbol ("FlatCurry","flatCurryFileName")) (CVar (1,"progname")))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude",">")) (CApply (CSymbol ("Time","clockTimeToInt")) (CVar (3,"ctime")))) (CApply (CSymbol ("Time","clockTimeToInt")) (CVar (4,"ftime"))))) (CApply (CApply (CSymbol ("Prelude",">>=")) (CApply (CSymbol ("FlatCurry","readFlatCurry")) (CVar (1,"progname")))) (CApply (CSymbol ("CompactFlatCurry","processPrimitives")) (CVar (1,"progname"))))) (CApply (CApply (CSymbol ("Prelude",">>=")) (CApply (CSymbol ("FlatCurry","readFlatCurryFile")) (CApply (CSymbol ("FlatCurry","flatCurryFileName")) (CVar (1,"progname"))))) (CApply (CSymbol ("CompactFlatCurry","processPrimitives")) (CVar (1,"progname")))))]))])] []]), CFunc ("CompactFlatCurry","readPrimSpec") 2 Private (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","[]") [CTCons ("Prelude","(,)") [CTCons ("FlatCurry","QName") [],CTCons ("FlatCurry","QName") []]]]))) (CRules CFlex [CRule [CPVar (0,"mod"),CPVar (1,"xmlfilename")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (2,"existsXml")) (CApply (CSymbol ("Directory","doesFileExist")) (CVar (1,"xmlfilename"))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CVar (2,"existsXml"))) (CDoExpr [CSPat (CPVar (3,"xmldoc")) (CApply (CSymbol ("XML","readXmlFile")) (CVar (1,"xmlfilename"))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CSymbol ("CompactFlatCurry","xml2primtrans")) (CVar (0,"mod"))) (CVar (3,"xmldoc"))))])) (CApply (CSymbol ("Prelude","return")) (CSymbol ("Prelude","[]"))))])] []]), CFunc ("CompactFlatCurry","requiredDatatypes") 2 Private (CFuncType (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]) (CFuncType (CTCons ("Prelude","[]") [CTCons ("FlatCurry","TypeDecl") []]) (CTCons ("SetRBT","SetRBT") [CTCons ("FlatCurry","QName") []]))) (CRules CFlex [CRule [CPVar (0,"tcnames"),CPVar (1,"tdecls")] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPVar (2,"newtcons")) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CApply (CSymbol ("CompactFlatCurry","newTypeConsOfTDecl")) (CVar (0,"tcnames")))) (CVar (1,"tdecls"))) []] (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CSymbol ("Prelude","null")) (CVar (2,"newtcons")))) (CVar (0,"tcnames"))) (CApply (CApply (CSymbol ("CompactFlatCurry","requiredDatatypes")) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("SetRBT","insertRBT"))) (CVar (0,"tcnames"))) (CVar (2,"newtcons")))) (CVar (1,"tdecls")))))] []]), CFunc ("CompactFlatCurry","requiredInCompactProg") 2 Private (CFuncType (CTCons ("FlatCurry","Prog") []) (CFuncType (CTCons ("Prelude","[]") [CTCons ("CompactFlatCurry","Option") []]) (CTCons ("Prelude","IO") [CTCons ("Prelude","(,,)") [CTCons ("Prelude","[]") [CTCons ("FlatCurry","QName") []],CTCons ("SetRBT","SetRBT") [CTCons ("Prelude","String") []],CTCons ("Prelude","[]") [CTCons ("FlatCurry","Prog") []]]]))) (CRules CFlex [CRule [CPVar (0,"mainmod"),CPVar (1,"options")] [(CApply (CSymbol ("Prelude","not")) (CApply (CSymbol ("Prelude","null")) (CVar (4,"initfuncs"))),CDoExpr [CSPat (CPVar (9,"impprogs")) (CApply (CApply (CSymbol ("Prelude","mapIO")) (CSymbol ("CompactFlatCurry","readCurrentFlatCurry"))) (CVar (2,"imports"))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CApply (CSymbol ("Prelude","(,,)")) (CApply (CSymbol ("Prelude","concat")) (CVar (4,"initfuncs")))) (CApply (CSymbol ("CompactFlatCurry","add2mainmodset")) (CVar (2,"imports")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"mainmod"))) (CVar (9,"impprogs")))))]),(CApply (CApply (CSymbol ("Prelude","elem")) (CSymbol ("CompactFlatCurry","Exports"))) (CVar (1,"options")),CDoExpr [CSPat (CPVar (10,"impprogs")) (CApply (CApply (CSymbol ("Prelude","mapIO")) (CSymbol ("CompactFlatCurry","readCurrentFlatCurry"))) (CVar (2,"imports"))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CApply (CSymbol ("Prelude","(,,)")) (CApply (CSymbol ("List","nub")) (CVar (5,"mainexports")))) (CApply (CSymbol ("CompactFlatCurry","add2mainmodset")) (CVar (2,"imports")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"mainmod"))) (CVar (10,"impprogs")))))]),(CApply (CApply (CSymbol ("Prelude","any")) (CSymbol ("CompactFlatCurry","isMainOption"))) (CVar (1,"options")),CLetDecl [CLocalPat (CPVar (11,"func")) (CApply (CSymbol ("CompactFlatCurry","getMainFuncFromOptions")) (CVar (1,"options"))) []] (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","elem")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (3,"mainmodname"))) (CVar (11,"func")))) (CApply (CApply (CSymbol ("Prelude","map")) (CSymbol ("CompactFlatCurry","functionName"))) (CApply (CSymbol ("CompactFlatCurry","moduleFuns")) (CVar (0,"mainmod")))))) (CDoExpr [CSPat (CPVar (12,"impprogs")) (CApply (CApply (CSymbol ("Prelude","mapIO")) (CSymbol ("CompactFlatCurry","readCurrentFlatCurry"))) (CVar (2,"imports"))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CApply (CSymbol ("Prelude","(,,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (3,"mainmodname"))) (CVar (11,"func")))) (CSymbol ("Prelude","[]")))) (CApply (CSymbol ("CompactFlatCurry","add2mainmodset")) (CVar (2,"imports")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"mainmod"))) (CVar (12,"impprogs")))))])) (CApply (CApply (CSymbol ("Prelude","$")) (CSymbol ("Prelude","error"))) (CApply (CApply (CSymbol ("Prelude","++")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'F'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ':'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'C'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'm'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '"'))) (CSymbol ("Prelude","[]"))))))))))))))))))))))))))))))))))))))))))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (11,"func"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '"'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '!'))) (CSymbol ("Prelude","[]"))))))))),(CSymbol ("Prelude","otherwise"),CDoExpr [CSPat (CPVar (13,"impprogs")) (CApply (CApply (CSymbol ("Prelude","mapIO")) (CSymbol ("CompactFlatCurry","readCurrentFlatCurry"))) (CApply (CSymbol ("List","nub")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (2,"imports"))) (CApply (CSymbol ("CompactFlatCurry","moduleImports")) (CVar (0,"mainmod")))))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CApply (CSymbol ("Prelude","(,,)")) (CApply (CSymbol ("List","nub")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (5,"mainexports"))) (CApply (CApply (CSymbol ("Prelude","concatMap")) (CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("CompactFlatCurry","exportedFuncNames"))) (CSymbol ("CompactFlatCurry","moduleFuns")))) (CVar (13,"impprogs")))))) (CApply (CSymbol ("CompactFlatCurry","add2mainmodset")) (CApply (CApply (CSymbol ("Prelude","map")) (CSymbol ("CompactFlatCurry","moduleName"))) (CVar (13,"impprogs"))))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"mainmod"))) (CVar (13,"impprogs")))))])] [CLocalPat (CPVar (2,"imports")) (CApply (CSymbol ("List","nub")) (CListComp (CVar (7,"mname")) [CSPat (CPComb ("CompactFlatCurry","Import") [CPVar (7,"mname")]) (CVar (1,"options"))])) [],CLocalPat (CPVar (3,"mainmodname")) (CApply (CSymbol ("CompactFlatCurry","moduleName")) (CVar (0,"mainmod"))) [],CLocalPat (CPVar (4,"initfuncs")) (CListComp (CVar (8,"fs")) [CSPat (CPComb ("CompactFlatCurry","InitFuncs") [CPVar (8,"fs")]) (CVar (1,"options"))]) [],CLocalPat (CPVar (5,"mainexports")) (CApply (CSymbol ("CompactFlatCurry","exportedFuncNames")) (CApply (CSymbol ("CompactFlatCurry","moduleFuns")) (CVar (0,"mainmod")))) [],CLocalPat (CPVar (6,"mainmodset")) (CApply (CApply (CSymbol ("SetRBT","insertRBT")) (CVar (3,"mainmodname"))) (CApply (CSymbol ("SetRBT","emptySetRBT")) (CSymbol ("Sort","leqString")))) [],CLocalFunc (CFunc ("CompactFlatCurry","add2mainmodset") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (9,"mnames")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("SetRBT","insertRBT"))) (CVar (6,"mainmodset"))) (CVar (9,"mnames")))] []]))]]), CFunc ("CompactFlatCurry","requires") 2 Public (CFuncType (CTCons ("FlatCurry","QName") []) (CFuncType (CTCons ("FlatCurry","QName") []) (CTCons ("CompactFlatCurry","RequiredSpec") []))) (CRules CFlex [CRule [CPVar (0,"fun"),CPVar (1,"reqfun")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("CompactFlatCurry","Requires")) (CVar (0,"fun"))) (CVar (1,"reqfun")))] []]), CFunc ("CompactFlatCurry","tconsName") 1 Private (CFuncType (CTCons ("FlatCurry","TypeDecl") []) (CTCons ("FlatCurry","QName") [])) (CRules CFlex [CRule [CPComb ("FlatCurry","Type") [CPVar (0,"name"),CPVar (1,"_"),CPVar (2,"_"),CPVar (3,"_")]] [(CSymbol ("Prelude","success"),CVar (0,"name"))] [],CRule [CPComb ("FlatCurry","TypeSyn") [CPVar (4,"name"),CPVar (5,"_"),CPVar (6,"_"),CPVar (7,"_")]] [(CSymbol ("Prelude","success"),CVar (4,"name"))] []]), CFunc ("CompactFlatCurry","unionMap") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("List","union"))) (CSymbol ("Prelude","[]")))) (CApply (CSymbol ("Prelude","map")) (CVar (0,"f"))))] []]), CFunc ("CompactFlatCurry","xml2primtrans") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (0,"mod"),CPComb ("XML","XElem") [CPComb ("Prelude",":") [CPLit (CCharc 'p'),CPComb ("Prelude",":") [CPLit (CCharc 'r'),CPComb ("Prelude",":") [CPLit (CCharc 'i'),CPComb ("Prelude",":") [CPLit (CCharc 'm'),CPComb ("Prelude",":") [CPLit (CCharc 'i'),CPComb ("Prelude",":") [CPLit (CCharc 't'),CPComb ("Prelude",":") [CPLit (CCharc 'i'),CPComb ("Prelude",":") [CPLit (CCharc 'v'),CPComb ("Prelude",":") [CPLit (CCharc 'e'),CPComb ("Prelude",":") [CPLit (CCharc 's'),CPComb ("Prelude","[]") []]]]]]]]]]],CPComb ("Prelude","[]") [],CPVar (1,"primitives")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","map")) (CSymbol ("CompactFlatCurry","xml2prim"))) (CVar (1,"primitives")))] [CLocalFunc (CFunc ("CompactFlatCurry","xml2prim") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("XML","XElem") [CPComb ("Prelude",":") [CPLit (CCharc 'p'),CPComb ("Prelude",":") [CPLit (CCharc 'r'),CPComb ("Prelude",":") [CPLit (CCharc 'i'),CPComb ("Prelude",":") [CPLit (CCharc 'm'),CPComb ("Prelude",":") [CPLit (CCharc 'i'),CPComb ("Prelude",":") [CPLit (CCharc 't'),CPComb ("Prelude",":") [CPLit (CCharc 'i'),CPComb ("Prelude",":") [CPLit (CCharc 'v'),CPComb ("Prelude",":") [CPLit (CCharc 'e'),CPComb ("Prelude","[]") []]]]]]]]]],CPComb ("Prelude",":") [CPComb ("Prelude","(,)") [CPComb ("Prelude",":") [CPLit (CCharc 'n'),CPComb ("Prelude",":") [CPLit (CCharc 'a'),CPComb ("Prelude",":") [CPLit (CCharc 'm'),CPComb ("Prelude",":") [CPLit (CCharc 'e'),CPComb ("Prelude","[]") []]]]],CPVar (2,"fname")],CPVar (3,"_")],CPComb ("Prelude",":") [CPComb ("XML","XElem") [CPComb ("Prelude",":") [CPLit (CCharc 'l'),CPComb ("Prelude",":") [CPLit (CCharc 'i'),CPComb ("Prelude",":") [CPLit (CCharc 'b'),CPComb ("Prelude",":") [CPLit (CCharc 'r'),CPComb ("Prelude",":") [CPLit (CCharc 'a'),CPComb ("Prelude",":") [CPLit (CCharc 'r'),CPComb ("Prelude",":") [CPLit (CCharc 'y'),CPComb ("Prelude","[]") []]]]]]]],CPComb ("Prelude","[]") [],CPVar (4,"xlib")],CPComb ("Prelude",":") [CPComb ("XML","XElem") [CPComb ("Prelude",":") [CPLit (CCharc 'e'),CPComb ("Prelude",":") [CPLit (CCharc 'n'),CPComb ("Prelude",":") [CPLit (CCharc 't'),CPComb ("Prelude",":") [CPLit (CCharc 'r'),CPComb ("Prelude",":") [CPLit (CCharc 'y'),CPComb ("Prelude","[]") []]]]]],CPComb ("Prelude","[]") [],CPVar (5,"xfun")],CPComb ("Prelude","[]") []]]]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (0,"mod"))) (CVar (2,"fname")))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("XML","textOfXml")) (CVar (4,"xlib")))) (CApply (CSymbol ("XML","textOfXml")) (CVar (5,"xfun")))))] [],CRule [CPComb ("XML","XElem") [CPComb ("Prelude",":") [CPLit (CCharc 'i'),CPComb ("Prelude",":") [CPLit (CCharc 'g'),CPComb ("Prelude",":") [CPLit (CCharc 'n'),CPComb ("Prelude",":") [CPLit (CCharc 'o'),CPComb ("Prelude",":") [CPLit (CCharc 'r'),CPComb ("Prelude",":") [CPLit (CCharc 'e'),CPComb ("Prelude","[]") []]]]]]],CPComb ("Prelude",":") [CPComb ("Prelude","(,)") [CPComb ("Prelude",":") [CPLit (CCharc 'n'),CPComb ("Prelude",":") [CPLit (CCharc 'a'),CPComb ("Prelude",":") [CPLit (CCharc 'm'),CPComb ("Prelude",":") [CPLit (CCharc 'e'),CPComb ("Prelude","[]") []]]]],CPVar (6,"fname")],CPVar (7,"_")],CPComb ("Prelude","[]") []]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (0,"mod"))) (CVar (6,"fname")))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CSymbol ("Prelude","[]"))))] []]))]])] [COp ("CompactFlatCurry","requires") CInfixOp 0]