CurryProg "Prelude" [] [CType ("Prelude","Float") Public [] [], CType ("Prelude","Char") Public [] [], CTypeSyn ("Prelude","String") Public [] (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]), CType ("Prelude","Bool") Public [] [CCons ("Prelude","False") 0 Public [],CCons ("Prelude","True") 0 Public []], CType ("Prelude","Ordering") Public [] [CCons ("Prelude","LT") 0 Public [],CCons ("Prelude","EQ") 0 Public [],CCons ("Prelude","GT") 0 Public []], CType ("Prelude","Nat") Public [] [CCons ("Prelude","IHi") 0 Public [],CCons ("Prelude","O") 1 Public [CTCons ("Prelude","Nat") []],CCons ("Prelude","I") 1 Public [CTCons ("Prelude","Nat") []]], CType ("Prelude","Int") Public [] [CCons ("Prelude","Neg") 1 Public [CTCons ("Prelude","Nat") []],CCons ("Prelude","Zero") 0 Public [],CCons ("Prelude","Pos") 1 Public [CTCons ("Prelude","Nat") []]], CType ("Prelude","Success") Public [] [CCons ("Prelude","Success") 0 Public []], CType ("Prelude","Maybe") Public [(0,"a")] [CCons ("Prelude","Nothing") 0 Public [],CCons ("Prelude","Just") 1 Public [CTVar (0,"a")]], CType ("Prelude","Either") Public [(0,"a"),(1,"b")] [CCons ("Prelude","Left") 1 Public [CTVar (0,"a")],CCons ("Prelude","Right") 1 Public [CTVar (1,"b")]], CType ("Prelude","IO") Public [(0,"_")] [], CType ("Prelude","SearchTree") Public [(0,"a")] [CCons ("Prelude","Fail") 0 Public [],CCons ("Prelude","Value") 1 Public [CTVar (0,"a")],CCons ("Prelude","Choice") 1 Public [CTCons ("Prelude","[]") [CTCons ("Prelude","SearchTree") [CTVar (0,"a")]]],CCons ("Prelude","Suspend") 0 Public []]] [CFunc ("Prelude","!!") 2 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","Int") []) (CTVar (0,"a")))) (CRules CFlex [CRule [CPComb ("Prelude",":") [CPVar (0,"x"),CPVar (1,"xs")],CPVar (2,"n")] [(CApply (CApply (CSymbol ("Prelude","==")) (CVar (2,"n"))) (CLit (CIntc 0)),CVar (0,"x")),(CApply (CApply (CSymbol ("Prelude",">")) (CVar (2,"n"))) (CLit (CIntc 0)),CApply (CApply (CSymbol ("Prelude","!!")) (CVar (1,"xs"))) (CApply (CApply (CSymbol ("Prelude","-")) (CVar (2,"n"))) (CLit (CIntc 1))))] []]), CFunc ("Prelude","$") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CRules CFlex [CRule [CPVar (0,"f"),CPVar (1,"x")] [(CSymbol ("Prelude","success"),CApply (CVar (0,"f")) (CVar (1,"x")))] []]), CFunc ("Prelude","$!") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CExternal "$!"), CFunc ("Prelude","$!!") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CExternal "$!!"), CFunc ("Prelude","$#") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CExternal "$#"), CFunc ("Prelude","$##") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CExternal "$##"), CFunc ("Prelude","&") 2 Public (CFuncType (CTCons ("Prelude","Success") []) (CFuncType (CTCons ("Prelude","Success") []) (CTCons ("Prelude","Success") []))) (CExternal "&"), CFunc ("Prelude","&&") 2 Public (CFuncType (CTCons ("Prelude","Bool") []) (CFuncType (CTCons ("Prelude","Bool") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPComb ("Prelude","True") [],CPVar (0,"x")] [(CSymbol ("Prelude","success"),CVar (0,"x"))] [],CRule [CPComb ("Prelude","False") [],CPVar (1,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] []]), CFunc ("Prelude","&>") 2 Public (CFuncType (CTCons ("Prelude","Success") []) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))) (CRules CFlex [CRule [CPVar (0,"c"),CPVar (1,"x")] [(CVar (0,"c"),CVar (1,"x"))] []]), CFunc ("Prelude","*") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPComb ("Prelude","Pos") [CPVar (0,"x")],CPComb ("Prelude","Pos") [CPVar (1,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CApply (CSymbol ("Prelude","*^")) (CVar (0,"x"))) (CVar (1,"y"))))] [],CRule [CPComb ("Prelude","Pos") [CPVar (2,"x")],CPComb ("Prelude","Neg") [CPVar (3,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CApply (CApply (CSymbol ("Prelude","*^")) (CVar (2,"x"))) (CVar (3,"y"))))] [],CRule [CPComb ("Prelude","Neg") [CPVar (4,"x")],CPComb ("Prelude","Neg") [CPVar (5,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CApply (CSymbol ("Prelude","*^")) (CVar (4,"x"))) (CVar (5,"y"))))] [],CRule [CPComb ("Prelude","Neg") [CPVar (6,"x")],CPComb ("Prelude","Pos") [CPVar (7,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CApply (CApply (CSymbol ("Prelude","*^")) (CVar (6,"x"))) (CVar (7,"y"))))] [],CRule [CPComb ("Prelude","Zero") [],CPVar (8,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Zero"))] [],CRule [CPComb ("Prelude","Pos") [CPVar (9,"_")],CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Zero"))] [],CRule [CPComb ("Prelude","Neg") [CPVar (10,"_")],CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Zero"))] []]), CFunc ("Prelude","*^") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Nat") []))) (CRules CFlex [CRule [CPComb ("Prelude","IHi") [],CPVar (0,"y")] [(CSymbol ("Prelude","success"),CVar (0,"y"))] [],CRule [CPComb ("Prelude","I") [CPVar (1,"x")],CPVar (2,"y")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","+^")) (CApply (CSymbol ("Prelude","O")) (CApply (CApply (CSymbol ("Prelude","*^")) (CVar (2,"y"))) (CVar (1,"x"))))) (CVar (2,"y")))] [],CRule [CPComb ("Prelude","O") [CPVar (3,"x")],CPVar (4,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","O")) (CApply (CApply (CSymbol ("Prelude","*^")) (CVar (3,"x"))) (CVar (4,"y"))))] []]), CFunc ("Prelude","+") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPComb ("Prelude","Pos") [CPVar (0,"x")],CPComb ("Prelude","Pos") [CPVar (1,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CApply (CSymbol ("Prelude","+^")) (CVar (0,"x"))) (CVar (1,"y"))))] [],CRule [CPComb ("Prelude","Neg") [CPVar (2,"x")],CPComb ("Prelude","Neg") [CPVar (3,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CApply (CApply (CSymbol ("Prelude","+^")) (CVar (2,"x"))) (CVar (3,"y"))))] [],CRule [CPComb ("Prelude","Pos") [CPVar (4,"x")],CPComb ("Prelude","Neg") [CPVar (5,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","-^")) (CVar (4,"x"))) (CVar (5,"y")))] [],CRule [CPComb ("Prelude","Neg") [CPVar (6,"x")],CPComb ("Prelude","Pos") [CPVar (7,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","-^")) (CVar (7,"y"))) (CVar (6,"x")))] [],CRule [CPComb ("Prelude","Zero") [],CPVar (8,"x")] [(CSymbol ("Prelude","success"),CVar (8,"x"))] [],CRule [CPAs (10,"x") (CPComb ("Prelude","Pos") [CPVar (9,"_")]),CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CVar (10,"x"))] [],CRule [CPAs (12,"x") (CPComb ("Prelude","Neg") [CPVar (11,"_")]),CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CVar (12,"x"))] []]), CFunc ("Prelude","++") 2 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPComb ("Prelude","[]") [],CPVar (0,"ys")] [(CSymbol ("Prelude","success"),CVar (0,"ys"))] [],CRule [CPComb ("Prelude",":") [CPVar (1,"x"),CPVar (2,"xs")],CPVar (3,"ys")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"x"))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (2,"xs"))) (CVar (3,"ys"))))] []]), CFunc ("Prelude","+^") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Nat") []))) (CRules CFlex [CRule [CPComb ("Prelude","O") [CPVar (0,"x")],CPComb ("Prelude","O") [CPVar (1,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","O")) (CApply (CApply (CSymbol ("Prelude","+^")) (CVar (0,"x"))) (CVar (1,"y"))))] [],CRule [CPComb ("Prelude","O") [CPVar (2,"x")],CPComb ("Prelude","I") [CPVar (3,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","I")) (CApply (CApply (CSymbol ("Prelude","+^")) (CVar (2,"x"))) (CVar (3,"y"))))] [],CRule [CPComb ("Prelude","O") [CPVar (4,"x")],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","I")) (CVar (4,"x")))] [],CRule [CPComb ("Prelude","I") [CPVar (5,"x")],CPComb ("Prelude","O") [CPVar (6,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","I")) (CApply (CApply (CSymbol ("Prelude","+^")) (CVar (5,"x"))) (CVar (6,"y"))))] [],CRule [CPComb ("Prelude","I") [CPVar (7,"x")],CPComb ("Prelude","I") [CPVar (8,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","O")) (CApply (CApply (CSymbol ("Prelude","+^")) (CApply (CSymbol ("Prelude","succ")) (CVar (7,"x")))) (CVar (8,"y"))))] [],CRule [CPComb ("Prelude","I") [CPVar (9,"x")],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","O")) (CApply (CSymbol ("Prelude","succ")) (CVar (9,"x"))))] [],CRule [CPComb ("Prelude","IHi") [],CPVar (10,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","succ")) (CVar (10,"y")))] []]), CFunc ("Prelude","-") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPComb ("Prelude","Neg") [CPVar (1,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","+")) (CVar (0,"x"))) (CApply (CSymbol ("Prelude","Pos")) (CVar (1,"y"))))] [],CRule [CPVar (2,"x"),CPComb ("Prelude","Pos") [CPVar (3,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","+")) (CVar (2,"x"))) (CApply (CSymbol ("Prelude","Neg")) (CVar (3,"y"))))] [],CRule [CPVar (4,"x"),CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CVar (4,"x"))] []]), CFunc ("Prelude","-^") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPComb ("Prelude","IHi") [],CPVar (0,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","inc")) (CApply (CSymbol ("Prelude","Neg")) (CVar (0,"y"))))] [],CRule [CPComb ("Prelude","O") [CPVar (1,"x")],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CSymbol ("Prelude","pred")) (CApply (CSymbol ("Prelude","O")) (CVar (1,"x")))))] [],CRule [CPComb ("Prelude","O") [CPVar (2,"x")],CPComb ("Prelude","O") [CPVar (3,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","mult2")) (CApply (CApply (CSymbol ("Prelude","-^")) (CVar (2,"x"))) (CVar (3,"y"))))] [],CRule [CPComb ("Prelude","O") [CPVar (4,"x")],CPComb ("Prelude","I") [CPVar (5,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","dec")) (CApply (CSymbol ("Prelude","mult2")) (CApply (CApply (CSymbol ("Prelude","-^")) (CVar (4,"x"))) (CVar (5,"y")))))] [],CRule [CPComb ("Prelude","I") [CPVar (6,"x")],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CSymbol ("Prelude","O")) (CVar (6,"x"))))] [],CRule [CPComb ("Prelude","I") [CPVar (7,"x")],CPComb ("Prelude","O") [CPVar (8,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","inc")) (CApply (CSymbol ("Prelude","mult2")) (CApply (CApply (CSymbol ("Prelude","-^")) (CVar (7,"x"))) (CVar (8,"y")))))] [],CRule [CPComb ("Prelude","I") [CPVar (9,"x")],CPComb ("Prelude","I") [CPVar (10,"y")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","mult2")) (CApply (CApply (CSymbol ("Prelude","-^")) (CVar (9,"x"))) (CVar (10,"y"))))] []]), CFunc ("Prelude",".") 2 Public (CFuncType (CFuncType (CTVar (0,"b")) (CTVar (1,"c"))) (CFuncType (CFuncType (CTVar (2,"a")) (CTVar (0,"b"))) (CFuncType (CTVar (2,"a")) (CTVar (1,"c"))))) (CRules CFlex [CRule [CPVar (0,"f"),CPVar (1,"g")] [(CSymbol ("Prelude","success"),CLambda [CPVar (2,"x")] (CApply (CVar (0,"f")) (CApply (CVar (1,"g")) (CVar (2,"x")))))] []]), CFunc ("Prelude","/=") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","not")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (0,"x"))) (CVar (1,"y"))))] []]), CFunc ("Prelude","<") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","==")) (CApply (CApply (CSymbol ("Prelude","compare")) (CVar (0,"x"))) (CVar (1,"y")))) (CSymbol ("Prelude","LT")))] []]), CFunc ("Prelude","<=") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","/=")) (CApply (CApply (CSymbol ("Prelude","compare")) (CVar (0,"x"))) (CVar (1,"y")))) (CSymbol ("Prelude","GT")))] []]), CFunc ("Prelude","<=^") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","not")) (CApply (CSymbol ("Prelude","isGT")) (CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (0,"x"))) (CVar (1,"y")))))] []]), CFunc ("Prelude","<^") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","isLT")) (CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (0,"x"))) (CVar (1,"y"))))] []]), CFunc ("Prelude","=:<=") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Success") []))) (CExternal "=:<="), CFunc ("Prelude","=:=") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Success") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CApply (CApply (CSymbol ("Prelude","===")) (CVar (0,"x"))) (CVar (1,"y")),CSymbol ("Prelude","success"))] []]), CFunc ("Prelude","==") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") []))) (CExternal "=="), CFunc ("Prelude","===") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") []))) (CExternal "==="), CFunc ("Prelude",">") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","==")) (CApply (CApply (CSymbol ("Prelude","compare")) (CVar (0,"x"))) (CVar (1,"y")))) (CSymbol ("Prelude","GT")))] []]), CFunc ("Prelude",">=") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","/=")) (CApply (CApply (CSymbol ("Prelude","compare")) (CVar (0,"x"))) (CVar (1,"y")))) (CSymbol ("Prelude","LT")))] []]), CFunc ("Prelude",">=^") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","not")) (CApply (CSymbol ("Prelude","isLT")) (CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (0,"x"))) (CVar (1,"y")))))] []]), CFunc ("Prelude",">>") 2 Public (CFuncType (CTCons ("Prelude","IO") [CTVar (0,"_")]) (CFuncType (CTCons ("Prelude","IO") [CTVar (1,"b")]) (CTCons ("Prelude","IO") [CTVar (1,"b")]))) (CRules CFlex [CRule [CPVar (0,"a"),CPVar (1,"b")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",">>=")) (CVar (0,"a"))) (CApply (CSymbol ("Prelude","const")) (CVar (1,"b"))))] []]), CFunc ("Prelude",">>=") 2 Public (CFuncType (CTCons ("Prelude","IO") [CTVar (0,"a")]) (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (1,"b")])) (CTCons ("Prelude","IO") [CTVar (1,"b")]))) (CExternal ">>="), CFunc ("Prelude",">^") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","isGT")) (CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (0,"x"))) (CVar (1,"y"))))] []]), CFunc ("Prelude","?") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"_")] [(CSymbol ("Prelude","success"),CVar (0,"x"))] [],CRule [CPVar (2,"_"),CPVar (3,"y")] [(CSymbol ("Prelude","success"),CVar (3,"y"))] []]), CFunc ("Prelude","PEVAL") 1 Public (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))) (CRules CFlex [CRule [CPVar (0,"x")] [(CSymbol ("Prelude","success"),CVar (0,"x"))] []]), CFunc ("Prelude","all") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"p")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","and"))) (CApply (CSymbol ("Prelude","map")) (CVar (0,"p"))))] []]), CFunc ("Prelude","allValuesB") 1 Public (CFuncType (CTCons ("Prelude","SearchTree") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPVar (0,"st")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","unfoldOrs")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"st"))) (CSymbol ("Prelude","[]"))))] [CLocalFunc (CFunc ("Prelude","partition") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("Prelude","Value") [CPVar (1,"x")],CPVar (2,"y")] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (3,"vs"),CPVar (4,"ors")]) (CVar (2,"y")) []] (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"x"))) (CVar (3,"vs")))) (CVar (4,"ors"))))] [],CRule [CPComb ("Prelude","Choice") [CPVar (5,"xs")],CPVar (6,"y")] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (7,"vs"),CPVar (8,"ors")]) (CVar (6,"y")) []] (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (7,"vs"))) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (5,"xs"))) (CVar (8,"ors")))))] [],CRule [CPComb ("Prelude","Fail") [],CPVar (9,"y")] [(CSymbol ("Prelude","success"),CVar (9,"y"))] [],CRule [CPComb ("Prelude","Suspend") [],CPVar (10,"y")] [(CSymbol ("Prelude","success"),CVar (10,"y"))] []])),CLocalFunc (CFunc ("Prelude","unfoldOrs") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude",":") [CPVar (1,"x"),CPVar (2,"xs")]] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (3,"vals"),CPVar (4,"ors")]) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("Prelude","partition"))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CSymbol ("Prelude","[]")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"x"))) (CVar (2,"xs")))) []] (CApply (CApply (CSymbol ("Prelude","++")) (CVar (3,"vals"))) (CApply (CSymbol ("Prelude","unfoldOrs")) (CVar (4,"ors")))))] []]))]]), CFunc ("Prelude","allValuesD") 1 Public (CFuncType (CTCons ("Prelude","SearchTree") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPComb ("Prelude","Value") [CPVar (0,"x")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"x"))) (CSymbol ("Prelude","[]")))] [],CRule [CPComb ("Prelude","Fail") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude","Suspend") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude","Choice") [CPVar (1,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","concatMap")) (CSymbol ("Prelude","allValuesD"))) (CVar (1,"xs")))] []]), CFunc ("Prelude","and") 0 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Bool") []]) (CTCons ("Prelude","Bool") [])) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("Prelude","&&"))) (CSymbol ("Prelude","True")))] []]), CFunc ("Prelude","any") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"p")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","or"))) (CApply (CSymbol ("Prelude","map")) (CVar (0,"p"))))] []]), CFunc ("Prelude","appendFile") 2 Public (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CRules CFlex [CRule [CPVar (0,"fn"),CPVar (1,"s")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Prelude","prim_appendFile"))) (CVar (0,"fn")))) (CVar (1,"s")))] []]), CFunc ("Prelude","apply") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CExternal "apply"), CFunc ("Prelude","break") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CTCons ("Prelude","[]") [CTVar (0,"a")]]))) (CRules CFlex [CRule [CPVar (0,"p")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","span")) (CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","not"))) (CVar (0,"p"))))] []]), CFunc ("Prelude","catchFail") 2 Public (CFuncType (CTCons ("Prelude","IO") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","IO") [CTVar (0,"a")]) (CTCons ("Prelude","IO") [CTVar (0,"a")]))) (CExternal "catchFail"), CFunc ("Prelude","chr") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Char") [])) (CRules CFlex [CRule [CPVar (0,"i")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Prelude","prim_chr"))) (CVar (0,"i")))] []]), CFunc ("Prelude","cmpNat") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Ordering") []))) (CRules CFlex [CRule [CPComb ("Prelude","IHi") [],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","EQ"))] [],CRule [CPComb ("Prelude","IHi") [],CPComb ("Prelude","O") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","LT"))] [],CRule [CPComb ("Prelude","IHi") [],CPComb ("Prelude","I") [CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","LT"))] [],CRule [CPComb ("Prelude","O") [CPVar (2,"_")],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","GT"))] [],CRule [CPComb ("Prelude","I") [CPVar (3,"_")],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","GT"))] [],CRule [CPComb ("Prelude","O") [CPVar (4,"x")],CPComb ("Prelude","O") [CPVar (5,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (4,"x"))) (CVar (5,"y")))] [],CRule [CPComb ("Prelude","I") [CPVar (6,"x")],CPComb ("Prelude","I") [CPVar (7,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (6,"x"))) (CVar (7,"y")))] [],CRule [CPComb ("Prelude","O") [CPVar (8,"x")],CPComb ("Prelude","I") [CPVar (9,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatLT")) (CVar (8,"x"))) (CVar (9,"y")))] [],CRule [CPComb ("Prelude","I") [CPVar (10,"x")],CPComb ("Prelude","O") [CPVar (11,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatGT")) (CVar (10,"x"))) (CVar (11,"y")))] []]), CFunc ("Prelude","cmpNatGT") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Ordering") []))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","GT"))] [],CRule [CPComb ("Prelude","IHi") [],CPComb ("Prelude","O") [CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","LT"))] [],CRule [CPComb ("Prelude","IHi") [],CPComb ("Prelude","I") [CPVar (2,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","LT"))] [],CRule [CPComb ("Prelude","O") [CPVar (3,"x")],CPComb ("Prelude","O") [CPVar (4,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatGT")) (CVar (3,"x"))) (CVar (4,"y")))] [],CRule [CPComb ("Prelude","I") [CPVar (5,"x")],CPComb ("Prelude","I") [CPVar (6,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatGT")) (CVar (5,"x"))) (CVar (6,"y")))] [],CRule [CPComb ("Prelude","O") [CPVar (7,"x")],CPComb ("Prelude","I") [CPVar (8,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatLT")) (CVar (7,"x"))) (CVar (8,"y")))] [],CRule [CPComb ("Prelude","I") [CPVar (9,"x")],CPComb ("Prelude","O") [CPVar (10,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatGT")) (CVar (9,"x"))) (CVar (10,"y")))] []]), CFunc ("Prelude","cmpNatLT") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Ordering") []))) (CRules CFlex [CRule [CPComb ("Prelude","IHi") [],CPVar (0,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","LT"))] [],CRule [CPComb ("Prelude","O") [CPVar (1,"_")],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","GT"))] [],CRule [CPComb ("Prelude","I") [CPVar (2,"_")],CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","GT"))] [],CRule [CPComb ("Prelude","O") [CPVar (3,"x")],CPComb ("Prelude","O") [CPVar (4,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatLT")) (CVar (3,"x"))) (CVar (4,"y")))] [],CRule [CPComb ("Prelude","I") [CPVar (5,"x")],CPComb ("Prelude","I") [CPVar (6,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatLT")) (CVar (5,"x"))) (CVar (6,"y")))] [],CRule [CPComb ("Prelude","O") [CPVar (7,"x")],CPComb ("Prelude","I") [CPVar (8,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatLT")) (CVar (7,"x"))) (CVar (8,"y")))] [],CRule [CPComb ("Prelude","I") [CPVar (9,"x")],CPComb ("Prelude","O") [CPVar (10,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNatGT")) (CVar (9,"x"))) (CVar (10,"y")))] []]), CFunc ("Prelude","compare") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Ordering") []))) (CRules CFlex [CRule [CPComb ("Prelude","Zero") [],CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","EQ"))] [],CRule [CPComb ("Prelude","Zero") [],CPComb ("Prelude","Pos") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","LT"))] [],CRule [CPComb ("Prelude","Zero") [],CPComb ("Prelude","Neg") [CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","GT"))] [],CRule [CPComb ("Prelude","Pos") [CPVar (2,"_")],CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","GT"))] [],CRule [CPComb ("Prelude","Pos") [CPVar (3,"x")],CPComb ("Prelude","Pos") [CPVar (4,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (3,"x"))) (CVar (4,"y")))] [],CRule [CPComb ("Prelude","Pos") [CPVar (5,"_")],CPComb ("Prelude","Neg") [CPVar (6,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","GT"))] [],CRule [CPComb ("Prelude","Neg") [CPVar (7,"_")],CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","LT"))] [],CRule [CPComb ("Prelude","Neg") [CPVar (8,"_")],CPComb ("Prelude","Pos") [CPVar (9,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","LT"))] [],CRule [CPComb ("Prelude","Neg") [CPVar (10,"x")],CPComb ("Prelude","Neg") [CPVar (11,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (11,"y"))) (CVar (10,"x")))] []]), CFunc ("Prelude","concat") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","[]") [CTVar (0,"a")]]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPVar (0,"l")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("Prelude","++"))) (CSymbol ("Prelude","[]"))) (CVar (0,"l")))] []]), CFunc ("Prelude","concatMap") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","[]") [CTVar (1,"b")])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))) (CRules CFlex [CRule [CPVar (0,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","concat"))) (CApply (CSymbol ("Prelude","map")) (CVar (0,"f"))))] []]), CFunc ("Prelude","cond") 2 Public (CFuncType (CTCons ("Prelude","Success") []) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))) (CExternal "cond"), CFunc ("Prelude","const") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (1,"_")) (CTVar (0,"a")))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"_")] [(CSymbol ("Prelude","success"),CVar (0,"x"))] []]), CFunc ("Prelude","curry") 3 Public (CFuncType (CFuncType (CTCons ("Prelude","(,)") [CTVar (0,"a"),CTVar (1,"b")]) (CTVar (2,"c"))) (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (1,"b")) (CTVar (2,"c"))))) (CRules CFlex [CRule [CPVar (0,"f"),CPVar (1,"a"),CPVar (2,"b")] [(CSymbol ("Prelude","success"),CApply (CVar (0,"f")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (1,"a"))) (CVar (2,"b"))))] []]), CFunc ("Prelude","dec") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CSymbol ("Prelude","IHi")))] [],CRule [CPComb ("Prelude","Neg") [CPVar (0,"n")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CApply (CSymbol ("Prelude","succ")) (CVar (0,"n"))))] [],CRule [CPComb ("Prelude","Pos") [CPComb ("Prelude","IHi") []]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Zero"))] [],CRule [CPComb ("Prelude","Pos") [CPComb ("Prelude","O") [CPVar (1,"n")]]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CSymbol ("Prelude","pred")) (CApply (CSymbol ("Prelude","O")) (CVar (1,"n")))))] [],CRule [CPComb ("Prelude","Pos") [CPComb ("Prelude","I") [CPVar (2,"n")]]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CSymbol ("Prelude","O")) (CVar (2,"n"))))] []]), CFunc ("Prelude","div") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","fst")) (CApply (CApply (CSymbol ("Prelude","divmod")) (CVar (0,"x"))) (CVar (1,"y"))))] []]), CFunc ("Prelude","div2") 1 Public (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Nat") [])) (CRules CFlex [CRule [CPComb ("Prelude","O") [CPVar (0,"x")]] [(CSymbol ("Prelude","success"),CVar (0,"x"))] [],CRule [CPComb ("Prelude","I") [CPVar (1,"x")]] [(CSymbol ("Prelude","success"),CVar (1,"x"))] []]), CFunc ("Prelude","divmod") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","(,)") [CTCons ("Prelude","Int") [],CTCons ("Prelude","Int") []]))) (CRules CFlex [CRule [CPComb ("Prelude","Zero") [],CPVar (0,"_")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","Zero"))) (CSymbol ("Prelude","Zero")))] [],CRule [CPComb ("Prelude","Pos") [CPVar (1,"_")],CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","error")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'v'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (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 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '0'))) (CSymbol ("Prelude","[]"))))))))))))))))] [],CRule [CPComb ("Prelude","Pos") [CPVar (2,"x")],CPComb ("Prelude","Pos") [CPVar (3,"y")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","divmodNat")) (CVar (2,"x"))) (CVar (3,"y")))] [],CRule [CPComb ("Prelude","Pos") [CPVar (4,"x")],CPComb ("Prelude","Neg") [CPVar (5,"y")]] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (6,"d"),CPVar (7,"m")]) (CApply (CApply (CSymbol ("Prelude","divmodNat")) (CVar (4,"x"))) (CVar (5,"y"))) []] (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("Prelude","negate")) (CVar (6,"d")))) (CVar (7,"m"))))] [],CRule [CPComb ("Prelude","Neg") [CPVar (8,"_")],CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","error")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'v'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (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 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'y'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '0'))) (CSymbol ("Prelude","[]"))))))))))))))))] [],CRule [CPComb ("Prelude","Neg") [CPVar (9,"x")],CPComb ("Prelude","Pos") [CPVar (10,"y")]] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (11,"d"),CPVar (12,"m")]) (CApply (CApply (CSymbol ("Prelude","divmodNat")) (CVar (9,"x"))) (CVar (10,"y"))) []] (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("Prelude","negate")) (CVar (11,"d")))) (CApply (CSymbol ("Prelude","negate")) (CVar (12,"m")))))] [],CRule [CPComb ("Prelude","Neg") [CPVar (13,"x")],CPComb ("Prelude","Neg") [CPVar (14,"y")]] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (15,"d"),CPVar (16,"m")]) (CApply (CApply (CSymbol ("Prelude","divmodNat")) (CVar (13,"x"))) (CVar (14,"y"))) []] (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (15,"d"))) (CApply (CSymbol ("Prelude","negate")) (CVar (16,"m")))))] []]), CFunc ("Prelude","divmodNat") 2 Public (CFuncType (CTCons ("Prelude","Nat") []) (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","(,)") [CTCons ("Prelude","Int") [],CTCons ("Prelude","Int") []]))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"y"))) (CSymbol ("Prelude","IHi")),CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("Prelude","Pos")) (CVar (0,"x")))) (CSymbol ("Prelude","Zero"))),(CSymbol ("Prelude","otherwise"),CCase (CApply (CApply (CSymbol ("Prelude","cmpNat")) (CVar (0,"x"))) (CVar (1,"y"))) [CBranch (CPComb ("Prelude","EQ") []) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("Prelude","Pos")) (CSymbol ("Prelude","IHi")))) (CSymbol ("Prelude","Zero"))),CBranch (CPComb ("Prelude","LT") []) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","Zero"))) (CApply (CSymbol ("Prelude","Pos")) (CVar (0,"x")))),CBranch (CPComb ("Prelude","GT") []) (CCase (CApply (CApply (CSymbol ("Prelude","divmodNat")) (CApply (CSymbol ("Prelude","div2")) (CVar (0,"x")))) (CVar (1,"y"))) [CBranch (CPComb ("Prelude","(,)") [CPComb ("Prelude","Zero") [],CPVar (2,"_")]) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("Prelude","Pos")) (CSymbol ("Prelude","IHi")))) (CApply (CApply (CSymbol ("Prelude","-^")) (CVar (0,"x"))) (CVar (1,"y")))),CBranch (CPComb ("Prelude","(,)") [CPComb ("Prelude","Pos") [CPVar (3,"d")],CPComb ("Prelude","Zero") []]) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("Prelude","Pos")) (CApply (CSymbol ("Prelude","O")) (CVar (3,"d"))))) (CApply (CSymbol ("Prelude","mod2")) (CVar (0,"x")))),CBranch (CPComb ("Prelude","(,)") [CPComb ("Prelude","Pos") [CPVar (4,"d")],CPComb ("Prelude","Pos") [CPVar (5,"m")]]) (CCase (CApply (CApply (CSymbol ("Prelude","divmodNat")) (CApply (CApply (CSymbol ("Prelude","shift")) (CVar (0,"x"))) (CVar (5,"m")))) (CVar (1,"y"))) [CBranch (CPComb ("Prelude","(,)") [CPComb ("Prelude","Zero") [],CPVar (6,"m'")]) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("Prelude","Pos")) (CApply (CSymbol ("Prelude","O")) (CVar (4,"d"))))) (CVar (6,"m'"))),CBranch (CPComb ("Prelude","(,)") [CPComb ("Prelude","Pos") [CPVar (7,"d'")],CPVar (8,"m'")]) (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CSymbol ("Prelude","Pos")) (CApply (CApply (CSymbol ("Prelude","+^")) (CApply (CSymbol ("Prelude","O")) (CVar (4,"d")))) (CVar (7,"d'"))))) (CVar (8,"m'")))])])])] [CLocalFunc (CFunc ("Prelude","shift") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("Prelude","O") [CPVar (2,"_")],CPVar (3,"n")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","O")) (CVar (3,"n")))] [],CRule [CPComb ("Prelude","I") [CPVar (4,"_")],CPVar (5,"n")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","I")) (CVar (5,"n")))] []]))]]), CFunc ("Prelude","doSolve") 1 Public (CFuncType (CTCons ("Prelude","Success") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [CPVar (0,"constraint")] [(CVar (0,"constraint"),CSymbol ("Prelude","done"))] []]), CFunc ("Prelude","done") 0 Public (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","return")) (CSymbol ("Prelude","()")))] []]), CFunc ("Prelude","drop") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPVar (0,"n"),CPVar (1,"l")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","<=")) (CVar (0,"n"))) (CLit (CIntc 0)))) (CVar (1,"l"))) (CApply (CApply (CSymbol ("Prelude","dropp")) (CVar (0,"n"))) (CVar (1,"l"))))] [CLocalFunc (CFunc ("Prelude","dropp") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (2,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (3,"m"),CPComb ("Prelude",":") [CPVar (4,"_"),CPVar (5,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","drop")) (CApply (CApply (CSymbol ("Prelude","-")) (CVar (3,"m"))) (CLit (CIntc 1)))) (CVar (5,"xs")))] []]))]]), CFunc ("Prelude","dropWhile") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (1,"p"),CPComb ("Prelude",":") [CPVar (2,"x"),CPVar (3,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CVar (1,"p")) (CVar (2,"x")))) (CApply (CApply (CSymbol ("Prelude","dropWhile")) (CVar (1,"p"))) (CVar (3,"xs")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"x"))) (CVar (3,"xs"))))] []]), CFunc ("Prelude","either") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"c"))) (CFuncType (CFuncType (CTVar (2,"b")) (CTVar (1,"c"))) (CFuncType (CTCons ("Prelude","Either") [CTVar (0,"a"),CTVar (2,"b")]) (CTVar (1,"c"))))) (CRules CFlex [CRule [CPVar (0,"f"),CPVar (1,"_"),CPComb ("Prelude","Left") [CPVar (2,"x")]] [(CSymbol ("Prelude","success"),CApply (CVar (0,"f")) (CVar (2,"x")))] [],CRule [CPVar (3,"_"),CPVar (4,"g"),CPComb ("Prelude","Right") [CPVar (5,"x")]] [(CSymbol ("Prelude","success"),CApply (CVar (4,"g")) (CVar (5,"x")))] []]), CFunc ("Prelude","elem") 1 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","any")) (CLambda [CPVar (1,"x0")] (CApply (CApply (CSymbol ("Prelude","==")) (CVar (0,"x"))) (CVar (1,"x0")))))] []]), CFunc ("Prelude","ensureSpine") 0 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CLambda [CPVar (0,"x0")] (CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("Prelude","ensureList"))) (CVar (0,"x0"))))] [CLocalFunc (CFunc ("Prelude","ensureList") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude",":") [CPVar (0,"x"),CPVar (1,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"x"))) (CApply (CSymbol ("Prelude","ensureSpine")) (CVar (1,"xs"))))] []]))]]), CFunc ("Prelude","enumFrom") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []])) (CRules CFlex [CRule [CPVar (0,"n")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"n"))) (CApply (CSymbol ("Prelude","enumFrom")) (CApply (CApply (CSymbol ("Prelude","+")) (CVar (0,"n"))) (CLit (CIntc 1)))))] []]), CFunc ("Prelude","enumFromThen") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []]))) (CRules CFlex [CRule [CPVar (0,"n1"),CPVar (1,"n2")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","iterate")) (CLambda [CPVar (2,"x0")] (CApply (CApply (CSymbol ("Prelude","+")) (CApply (CApply (CSymbol ("Prelude","-")) (CVar (1,"n2"))) (CVar (0,"n1")))) (CVar (2,"x0"))))) (CVar (0,"n1")))] []]), CFunc ("Prelude","enumFromThenTo") 3 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []])))) (CRules CFlex [CRule [CPVar (0,"n1"),CPVar (1,"n2"),CPVar (2,"m")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","takeWhile")) (CSymbol ("Prelude","p"))) (CApply (CApply (CSymbol ("Prelude","enumFromThen")) (CVar (0,"n1"))) (CVar (1,"n2"))))] [CLocalFunc (CFunc ("Prelude","p") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (3,"x")] [(CApply (CApply (CSymbol ("Prelude",">=")) (CVar (1,"n2"))) (CVar (0,"n1")),CApply (CApply (CSymbol ("Prelude","<=")) (CVar (3,"x"))) (CVar (2,"m"))),(CSymbol ("Prelude","otherwise"),CApply (CApply (CSymbol ("Prelude",">=")) (CVar (3,"x"))) (CVar (2,"m")))] []]))]]), CFunc ("Prelude","enumFromTo") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","Int") []]))) (CRules CFlex [CRule [CPVar (0,"n"),CPVar (1,"m")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude",">")) (CVar (0,"n"))) (CVar (1,"m")))) (CSymbol ("Prelude","[]"))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"n"))) (CApply (CApply (CSymbol ("Prelude","enumFromTo")) (CApply (CApply (CSymbol ("Prelude","+")) (CVar (0,"n"))) (CLit (CIntc 1)))) (CVar (1,"m")))))] []]), CFunc ("Prelude","error") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTVar (0,"_"))) (CRules CFlex [CRule [CPVar (0,"s")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Prelude","prim_error"))) (CVar (0,"s")))] []]), CFunc ("Prelude","failed") 0 Public (CTVar (0,"_")) (CExternal "failed"), CFunc ("Prelude","filter") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (1,"p"),CPComb ("Prelude",":") [CPVar (2,"x"),CPVar (3,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CVar (1,"p")) (CVar (2,"x")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"x"))) (CApply (CApply (CSymbol ("Prelude","filter")) (CVar (1,"p"))) (CVar (3,"xs"))))) (CApply (CApply (CSymbol ("Prelude","filter")) (CVar (1,"p"))) (CVar (3,"xs"))))] []]), CFunc ("Prelude","flip") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (1,"b")) (CTVar (2,"c")))) (CFuncType (CTVar (1,"b")) (CFuncType (CTVar (0,"a")) (CTVar (2,"c"))))) (CRules CFlex [CRule [CPVar (0,"f"),CPVar (1,"x"),CPVar (2,"y")] [(CSymbol ("Prelude","success"),CApply (CApply (CVar (0,"f")) (CVar (2,"y"))) (CVar (1,"x")))] []]), CFunc ("Prelude","foldl") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (1,"b")) (CTVar (0,"a")))) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTVar (0,"a"))))) (CRules CFlex [CRule [CPVar (0,"_"),CPVar (1,"z"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CVar (1,"z"))] [],CRule [CPVar (2,"f"),CPVar (3,"z"),CPComb ("Prelude",":") [CPVar (4,"x"),CPVar (5,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","foldl")) (CVar (2,"f"))) (CApply (CApply (CVar (2,"f")) (CVar (3,"z"))) (CVar (4,"x")))) (CVar (5,"xs")))] []]), CFunc ("Prelude","foldl1") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a")))) (CRules CFlex [CRule [CPVar (0,"f"),CPComb ("Prelude",":") [CPVar (1,"x"),CPVar (2,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","foldl")) (CVar (0,"f"))) (CVar (1,"x"))) (CVar (2,"xs")))] []]), CFunc ("Prelude","foldr") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (1,"b")) (CTVar (1,"b")))) (CFuncType (CTVar (1,"b")) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (1,"b"))))) (CRules CFlex [CRule [CPVar (0,"_"),CPVar (1,"z"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CVar (1,"z"))] [],CRule [CPVar (2,"f"),CPVar (3,"z"),CPComb ("Prelude",":") [CPVar (4,"x"),CPVar (5,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CVar (2,"f")) (CVar (4,"x"))) (CApply (CApply (CApply (CSymbol ("Prelude","foldr")) (CVar (2,"f"))) (CVar (3,"z"))) (CVar (5,"xs"))))] []]), CFunc ("Prelude","foldr1") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a")))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude",":") [CPVar (1,"x"),CPComb ("Prelude","[]") []]] [(CSymbol ("Prelude","success"),CVar (1,"x"))] [],CRule [CPVar (2,"f"),CPComb ("Prelude",":") [CPVar (3,"x1"),CPComb ("Prelude",":") [CPVar (4,"x2"),CPVar (5,"xs")]]] [(CSymbol ("Prelude","success"),CApply (CApply (CVar (2,"f")) (CVar (3,"x1"))) (CApply (CApply (CSymbol ("Prelude","foldr1")) (CVar (2,"f"))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (4,"x2"))) (CVar (5,"xs")))))] []]), CFunc ("Prelude","fst") 1 Public (CFuncType (CTCons ("Prelude","(,)") [CTVar (0,"a"),CTVar (1,"_")]) (CTVar (0,"a"))) (CRules CFlex [CRule [CPComb ("Prelude","(,)") [CPVar (0,"x"),CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CVar (0,"x"))] []]), CFunc ("Prelude","getChar") 0 Public (CTCons ("Prelude","IO") [CTCons ("Prelude","Char") []]) (CExternal "getChar"), CFunc ("Prelude","getLine") 0 Public (CTCons ("Prelude","IO") [CTCons ("Prelude","String") []]) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (0,"c")) (CSymbol ("Prelude","getChar")),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (0,"c"))) (CLit (CCharc '\n')))) (CApply (CSymbol ("Prelude","return")) (CSymbol ("Prelude","[]")))) (CDoExpr [CSPat (CPVar (1,"cs")) (CSymbol ("Prelude","getLine")),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"c"))) (CVar (1,"cs"))))]))])] []]), CFunc ("Prelude","getSearchTree") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTCons ("Prelude","SearchTree") [CTVar (0,"a")]])) (CExternal "getSearchTree"), CFunc ("Prelude","head") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))) (CRules CFlex [CRule [CPComb ("Prelude",":") [CPVar (0,"x"),CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CVar (0,"x"))] []]), CFunc ("Prelude","id") 1 Public (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))) (CRules CFlex [CRule [CPVar (0,"x")] [(CSymbol ("Prelude","success"),CVar (0,"x"))] []]), CFunc ("Prelude","if_then_else") 3 Public (CFuncType (CTCons ("Prelude","Bool") []) (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))))) (CRules CFlex [CRule [CPVar (0,"b"),CPVar (1,"t"),CPVar (2,"f")] [(CSymbol ("Prelude","success"),CCase (CVar (0,"b")) [CBranch (CPComb ("Prelude","True") []) (CVar (1,"t")),CBranch (CPComb ("Prelude","False") []) (CVar (2,"f"))])] []]), CFunc ("Prelude","inc") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CSymbol ("Prelude","IHi")))] [],CRule [CPComb ("Prelude","Pos") [CPVar (0,"n")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CSymbol ("Prelude","succ")) (CVar (0,"n"))))] [],CRule [CPComb ("Prelude","Neg") [CPComb ("Prelude","IHi") []]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Zero"))] [],CRule [CPComb ("Prelude","Neg") [CPComb ("Prelude","O") [CPVar (1,"n")]]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CApply (CSymbol ("Prelude","pred")) (CApply (CSymbol ("Prelude","O")) (CVar (1,"n")))))] [],CRule [CPComb ("Prelude","Neg") [CPComb ("Prelude","I") [CPVar (2,"n")]]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CApply (CSymbol ("Prelude","O")) (CVar (2,"n"))))] []]), CFunc ("Prelude","inject") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Success") [])) (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Success") [])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Success") [])))) (CRules CFlex [CRule [CPVar (0,"g"),CPVar (1,"p")] [(CSymbol ("Prelude","success"),CLambda [CPVar (2,"x")] (CApply (CApply (CSymbol ("Prelude","&")) (CApply (CVar (1,"p")) (CVar (2,"x")))) (CApply (CVar (0,"g")) (CVar (2,"x")))))] []]), CFunc ("Prelude","isEQ") 1 Public (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("Prelude","LT") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] [],CRule [CPComb ("Prelude","GT") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] [],CRule [CPComb ("Prelude","EQ") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] []]), CFunc ("Prelude","isGT") 1 Public (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("Prelude","LT") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] [],CRule [CPComb ("Prelude","GT") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] [],CRule [CPComb ("Prelude","EQ") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] []]), CFunc ("Prelude","isLT") 1 Public (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("Prelude","LT") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] [],CRule [CPComb ("Prelude","GT") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] [],CRule [CPComb ("Prelude","EQ") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] []]), CFunc ("Prelude","iterate") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPVar (0,"f"),CPVar (1,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"x"))) (CApply (CApply (CSymbol ("Prelude","iterate")) (CVar (0,"f"))) (CApply (CVar (0,"f")) (CVar (1,"x")))))] []]), CFunc ("Prelude","length") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"_")]) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CLit (CIntc 0))] [],CRule [CPComb ("Prelude",":") [CPVar (0,"_"),CPVar (1,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","+")) (CLit (CIntc 1))) (CApply (CSymbol ("Prelude","length")) (CVar (1,"xs"))))] []]), CFunc ("Prelude","lines") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","String") []])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude",":") [CPVar (0,"x"),CPVar (1,"xs")]] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (2,"l"),CPVar (3,"xs_l")]) (CApply (CSymbol ("Prelude","splitline")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"x"))) (CVar (1,"xs")))) []] (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"l"))) (CApply (CSymbol ("Prelude","lines")) (CVar (3,"xs_l")))))] [CLocalFunc (CFunc ("Prelude","splitline") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CSymbol ("Prelude","[]")))] [],CRule [CPComb ("Prelude",":") [CPVar (2,"c"),CPVar (3,"cs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (2,"c"))) (CLit (CCharc '\n')))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CVar (3,"cs")))) (CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (4,"ds"),CPVar (5,"es")]) (CApply (CSymbol ("Prelude","splitline")) (CVar (3,"cs"))) []] (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"c"))) (CVar (4,"ds")))) (CVar (5,"es")))))] []]))]]), CFunc ("Prelude","lookup") 2 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","(,)") [CTVar (0,"a"),CTVar (1,"b")]]) (CTCons ("Prelude","Maybe") [CTVar (1,"b")]))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Nothing"))] [],CRule [CPVar (1,"k"),CPComb ("Prelude",":") [CPComb ("Prelude","(,)") [CPVar (2,"x"),CPVar (3,"y")],CPVar (4,"xys")]] [(CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"k"))) (CVar (2,"x")),CApply (CSymbol ("Prelude","Just")) (CVar (3,"y"))),(CSymbol ("Prelude","otherwise"),CApply (CApply (CSymbol ("Prelude","lookup")) (CVar (1,"k"))) (CVar (4,"xys")))] []]), CFunc ("Prelude","map") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (1,"b"))) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (1,"b")]))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (1,"f"),CPComb ("Prelude",":") [CPVar (2,"x"),CPVar (3,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CApply (CVar (1,"f")) (CVar (2,"x")))) (CApply (CApply (CSymbol ("Prelude","map")) (CVar (1,"f"))) (CVar (3,"xs"))))] []]), CFunc ("Prelude","mapIO") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (1,"b")])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","IO") [CTCons ("Prelude","[]") [CTVar (1,"b")]]))) (CRules CFlex [CRule [CPVar (0,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","sequenceIO"))) (CApply (CSymbol ("Prelude","map")) (CVar (0,"f"))))] []]), CFunc ("Prelude","mapIO_") 1 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (1,"_")])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CRules CFlex [CRule [CPVar (0,"f")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Prelude","sequenceIO_"))) (CApply (CSymbol ("Prelude","map")) (CVar (0,"f"))))] []]), CFunc ("Prelude","max") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CCase (CApply (CApply (CSymbol ("Prelude","compare")) (CVar (0,"x"))) (CVar (1,"y"))) [CBranch (CPComb ("Prelude","LT") []) (CVar (1,"y")),CBranch (CPVar (2,"_")) (CVar (0,"x"))])] []]), CFunc ("Prelude","maybe") 3 Public (CFuncType (CTVar (0,"b")) (CFuncType (CFuncType (CTVar (1,"a")) (CTVar (0,"b"))) (CFuncType (CTCons ("Prelude","Maybe") [CTVar (1,"a")]) (CTVar (0,"b"))))) (CRules CFlex [CRule [CPVar (0,"n"),CPVar (1,"_"),CPComb ("Prelude","Nothing") []] [(CSymbol ("Prelude","success"),CVar (0,"n"))] [],CRule [CPVar (2,"_"),CPVar (3,"f"),CPComb ("Prelude","Just") [CPVar (4,"x")]] [(CSymbol ("Prelude","success"),CApply (CVar (3,"f")) (CVar (4,"x")))] []]), CFunc ("Prelude","min") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CCase (CApply (CApply (CSymbol ("Prelude","compare")) (CVar (0,"x"))) (CVar (1,"y"))) [CBranch (CPComb ("Prelude","GT") []) (CVar (1,"y")),CBranch (CPVar (2,"_")) (CVar (0,"x"))])] []]), CFunc ("Prelude","mod") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") []))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","snd")) (CApply (CApply (CSymbol ("Prelude","divmod")) (CVar (0,"x"))) (CVar (1,"y"))))] []]), CFunc ("Prelude","mod2") 1 Public (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CSymbol ("Prelude","IHi")))] [],CRule [CPComb ("Prelude","O") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Zero"))] [],CRule [CPComb ("Prelude","I") [CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CSymbol ("Prelude","IHi")))] []]), CFunc ("Prelude","mult2") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPComb ("Prelude","Pos") [CPVar (0,"n")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CApply (CSymbol ("Prelude","O")) (CVar (0,"n"))))] [],CRule [CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Zero"))] [],CRule [CPComb ("Prelude","Neg") [CPVar (1,"n")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CApply (CSymbol ("Prelude","O")) (CVar (1,"n"))))] []]), CFunc ("Prelude","negate") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPComb ("Prelude","Zero") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Zero"))] [],CRule [CPComb ("Prelude","Pos") [CPVar (0,"x")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Neg")) (CVar (0,"x")))] [],CRule [CPComb ("Prelude","Neg") [CPVar (1,"x")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","Pos")) (CVar (1,"x")))] []]), CFunc ("Prelude","negateFloat") 1 Public (CFuncType (CTCons ("Prelude","Float") []) (CTCons ("Prelude","Float") [])) (CRules CFlex [CRule [CPVar (0,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("Prelude","prim_negateFloat"))) (CVar (0,"x")))] []]), CFunc ("Prelude","not") 1 Public (CFuncType (CTCons ("Prelude","Bool") []) (CTCons ("Prelude","Bool") [])) (CRules CFlex [CRule [CPComb ("Prelude","True") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] [],CRule [CPComb ("Prelude","False") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] []]), CFunc ("Prelude","notElem") 1 Public (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPVar (0,"x")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","all")) (CLambda [CPVar (1,"x0")] (CApply (CApply (CSymbol ("Prelude","/=")) (CVar (0,"x"))) (CVar (1,"x0")))))] []]), CFunc ("Prelude","null") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"_")]) (CTCons ("Prelude","Bool") [])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] [],CRule [CPComb ("Prelude",":") [CPVar (0,"_"),CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] []]), CFunc ("Prelude","or") 0 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Bool") []]) (CTCons ("Prelude","Bool") [])) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("Prelude","||"))) (CSymbol ("Prelude","False")))] []]), CFunc ("Prelude","ord") 1 Public (CFuncType (CTCons ("Prelude","Char") []) (CTCons ("Prelude","Int") [])) (CRules CFlex [CRule [CPVar (0,"c")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Prelude","prim_ord"))) (CVar (0,"c")))] []]), CFunc ("Prelude","otherwise") 0 Public (CTCons ("Prelude","Bool") []) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] []]), CFunc ("Prelude","pred") 1 Public (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Nat") [])) (CRules CFlex [CRule [CPComb ("Prelude","O") [CPComb ("Prelude","IHi") []]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","IHi"))] [],CRule [CPComb ("Prelude","O") [CPAs (1,"x") (CPComb ("Prelude","O") [CPVar (0,"_")])]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","I")) (CApply (CSymbol ("Prelude","pred")) (CVar (1,"x"))))] [],CRule [CPComb ("Prelude","O") [CPComb ("Prelude","I") [CPVar (2,"x")]]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","I")) (CApply (CSymbol ("Prelude","O")) (CVar (2,"x"))))] [],CRule [CPComb ("Prelude","I") [CPVar (3,"x")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","O")) (CVar (3,"x")))] []]), CFunc ("Prelude","prim_appendFile") 2 Public (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CExternal "prim_appendFile"), CFunc ("Prelude","prim_chr") 1 Public (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","Char") [])) (CExternal "prim_chr"), CFunc ("Prelude","prim_error") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTVar (0,"_"))) (CExternal "prim_error"), CFunc ("Prelude","prim_negateFloat") 1 Public (CFuncType (CTCons ("Prelude","Float") []) (CTCons ("Prelude","Float") [])) (CExternal "prim_negateFloat"), CFunc ("Prelude","prim_ord") 1 Public (CFuncType (CTCons ("Prelude","Char") []) (CTCons ("Prelude","Int") [])) (CExternal "prim_ord"), CFunc ("Prelude","prim_putChar") 1 Public (CFuncType (CTCons ("Prelude","Char") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CExternal "prim_putChar"), CFunc ("Prelude","prim_readFile") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","String") []])) (CExternal "prim_readFile"), CFunc ("Prelude","prim_show") 1 Public (CFuncType (CTVar (0,"_")) (CTCons ("Prelude","String") [])) (CExternal "prim_show"), CFunc ("Prelude","prim_writeFile") 2 Public (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CExternal "prim_writeFile"), CFunc ("Prelude","print") 1 Public (CFuncType (CTVar (0,"_")) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [CPVar (0,"t")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","putStrLn")) (CApply (CSymbol ("Prelude","show")) (CVar (0,"t"))))] []]), CFunc ("Prelude","putChar") 1 Public (CFuncType (CTCons ("Prelude","Char") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [CPVar (0,"c")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Prelude","prim_putChar"))) (CVar (0,"c")))] []]), CFunc ("Prelude","putStr") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","done"))] [],CRule [CPComb ("Prelude",":") [CPVar (0,"c"),CPVar (1,"cs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",">>")) (CApply (CSymbol ("Prelude","putChar")) (CVar (0,"c")))) (CApply (CSymbol ("Prelude","putStr")) (CVar (1,"cs"))))] []]), CFunc ("Prelude","putStrLn") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [CPVar (0,"cs")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",">>")) (CApply (CSymbol ("Prelude","putStr")) (CVar (0,"cs")))) (CApply (CSymbol ("Prelude","putChar")) (CLit (CCharc '\n'))))] []]), CFunc ("Prelude","readFile") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","String") []])) (CRules CFlex [CRule [CPVar (0,"s")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Prelude","prim_readFile"))) (CVar (0,"s")))] []]), CFunc ("Prelude","repeat") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPVar (0,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"x"))) (CApply (CSymbol ("Prelude","repeat")) (CVar (0,"x"))))] []]), CFunc ("Prelude","replicate") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPVar (0,"n"),CPVar (1,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","take")) (CVar (0,"n"))) (CApply (CSymbol ("Prelude","repeat")) (CVar (1,"x"))))] []]), CFunc ("Prelude","return") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])) (CExternal "return"), CFunc ("Prelude","reverse") 0 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","foldl")) (CApply (CSymbol ("Prelude","flip")) (CSymbol ("Prelude",":")))) (CSymbol ("Prelude","[]")))] []]), CFunc ("Prelude","seq") 2 Public (CFuncType (CTVar (0,"_")) (CFuncType (CTVar (1,"a")) (CTVar (1,"a")))) (CRules CFlex [CRule [CPVar (0,"x"),CPVar (1,"y")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$!")) (CApply (CSymbol ("Prelude","const")) (CVar (1,"y")))) (CVar (0,"x")))] []]), CFunc ("Prelude","sequenceIO") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","IO") [CTVar (0,"a")]]) (CTCons ("Prelude","IO") [CTCons ("Prelude","[]") [CTVar (0,"a")]])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","return")) (CSymbol ("Prelude","[]")))] [],CRule [CPComb ("Prelude",":") [CPVar (0,"c"),CPVar (1,"cs")]] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (2,"x")) (CVar (0,"c")),CSPat (CPVar (3,"xs")) (CApply (CSymbol ("Prelude","sequenceIO")) (CVar (1,"cs"))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"x"))) (CVar (3,"xs"))))])] []]), CFunc ("Prelude","sequenceIO_") 0 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","IO") [CTVar (0,"_")]]) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","foldr")) (CSymbol ("Prelude",">>"))) (CSymbol ("Prelude","done")))] []]), CFunc ("Prelude","show") 1 Public (CFuncType (CTVar (0,"_")) (CTCons ("Prelude","String") [])) (CRules CFlex [CRule [CPVar (0,"s")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Prelude","prim_show"))) (CVar (0,"s")))] []]), CFunc ("Prelude","snd") 1 Public (CFuncType (CTCons ("Prelude","(,)") [CTVar (0,"_"),CTVar (1,"b")]) (CTVar (1,"b"))) (CRules CFlex [CRule [CPComb ("Prelude","(,)") [CPVar (0,"_"),CPVar (1,"y")]] [(CSymbol ("Prelude","success"),CVar (1,"y"))] []]), CFunc ("Prelude","span") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CTCons ("Prelude","[]") [CTVar (0,"a")]]))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CSymbol ("Prelude","[]")))] [],CRule [CPVar (1,"p"),CPComb ("Prelude",":") [CPVar (2,"x"),CPVar (3,"xs")]] [(CApply (CVar (1,"p")) (CVar (2,"x")),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (4,"ys"),CPVar (5,"zs")]) (CApply (CApply (CSymbol ("Prelude","span")) (CVar (1,"p"))) (CVar (3,"xs"))) []] (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"x"))) (CVar (4,"ys")))) (CVar (5,"zs")))),(CSymbol ("Prelude","otherwise"),CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"x"))) (CVar (3,"xs"))))] []]), CFunc ("Prelude","splitAt") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CTCons ("Prelude","[]") [CTVar (0,"a")]]))) (CRules CFlex [CRule [CPVar (0,"n"),CPVar (1,"l")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","<=")) (CVar (0,"n"))) (CLit (CIntc 0)))) (CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CVar (1,"l")))) (CApply (CApply (CSymbol ("Prelude","splitAtp")) (CVar (0,"n"))) (CVar (1,"l"))))] [CLocalFunc (CFunc ("Prelude","splitAtp") 2 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (2,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CSymbol ("Prelude","[]")))] [],CRule [CPVar (3,"m"),CPComb ("Prelude",":") [CPVar (4,"x"),CPVar (5,"xs")]] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (6,"ys"),CPVar (7,"zs")]) (CApply (CApply (CSymbol ("Prelude","splitAt")) (CApply (CApply (CSymbol ("Prelude","-")) (CVar (3,"m"))) (CLit (CIntc 1)))) (CVar (5,"xs"))) []] (CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (4,"x"))) (CVar (6,"ys")))) (CVar (7,"zs"))))] []]))]]), CFunc ("Prelude","succ") 1 Public (CFuncType (CTCons ("Prelude","Nat") []) (CTCons ("Prelude","Nat") [])) (CRules CFlex [CRule [CPComb ("Prelude","O") [CPVar (0,"bs")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","I")) (CVar (0,"bs")))] [],CRule [CPComb ("Prelude","I") [CPVar (1,"bs")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","O")) (CApply (CSymbol ("Prelude","succ")) (CVar (1,"bs"))))] [],CRule [CPComb ("Prelude","IHi") []] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Prelude","O")) (CSymbol ("Prelude","IHi")))] []]), CFunc ("Prelude","success") 0 Public (CTCons ("Prelude","Success") []) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","Success"))] []]), CFunc ("Prelude","tail") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPComb ("Prelude",":") [CPVar (0,"_"),CPVar (1,"xs")]] [(CSymbol ("Prelude","success"),CVar (1,"xs"))] []]), CFunc ("Prelude","take") 2 Public (CFuncType (CTCons ("Prelude","Int") []) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPComb ("Prelude","Neg") [CPVar (0,"_")],CPVar (1,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude","Zero") [],CPVar (2,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude","Pos") [CPVar (3,"_")],CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude","Pos") [CPVar (4,"n")],CPComb ("Prelude",":") [CPVar (5,"x"),CPVar (6,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (5,"x"))) (CApply (CApply (CSymbol ("Prelude","take")) (CApply (CApply (CSymbol ("Prelude","-")) (CApply (CSymbol ("Prelude","Pos")) (CVar (4,"n")))) (CLit (CIntc 1)))) (CVar (6,"xs"))))] []]), CFunc ("Prelude","takeWhile") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (1,"p"),CPComb ("Prelude",":") [CPVar (2,"x"),CPVar (3,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CVar (1,"p")) (CVar (2,"x")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"x"))) (CApply (CApply (CSymbol ("Prelude","takeWhile")) (CVar (1,"p"))) (CVar (3,"xs"))))) (CSymbol ("Prelude","[]")))] []]), CFunc ("Prelude","uncurry") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (1,"b")) (CTVar (2,"c")))) (CFuncType (CTCons ("Prelude","(,)") [CTVar (0,"a"),CTVar (1,"b")]) (CTVar (2,"c")))) (CRules CFlex [CRule [CPVar (0,"f"),CPComb ("Prelude","(,)") [CPVar (1,"a"),CPVar (2,"b")]] [(CSymbol ("Prelude","success"),CApply (CApply (CVar (0,"f")) (CVar (1,"a"))) (CVar (2,"b")))] []]), CFunc ("Prelude","unknown") 0 Public (CTVar (0,"a")) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CLetDecl [CLocalVar (0,"x")] (CVar (0,"x")))] []]), CFunc ("Prelude","unlines") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","String") []]) (CTCons ("Prelude","String") [])) (CRules CFlex [CRule [CPVar (0,"ls")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","concatMap")) (CLambda [CPVar (1,"x0")] (CApply (CApply (CSymbol ("Prelude","++")) (CVar (1,"x0"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '\n'))) (CSymbol ("Prelude","[]")))))) (CVar (0,"ls")))] []]), CFunc ("Prelude","until") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","Bool") [])) (CFuncType (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))) (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))))) (CRules CFlex [CRule [CPVar (0,"p"),CPVar (1,"f"),CPVar (2,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CVar (0,"p")) (CVar (2,"x")))) (CVar (2,"x"))) (CApply (CApply (CApply (CSymbol ("Prelude","until")) (CVar (0,"p"))) (CVar (1,"f"))) (CApply (CVar (1,"f")) (CVar (2,"x")))))] []]), CFunc ("Prelude","unwords") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","String") []]) (CTCons ("Prelude","String") [])) (CRules CFlex [CRule [CPVar (0,"ws")] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (0,"ws"))) (CSymbol ("Prelude","[]")))) (CSymbol ("Prelude","[]"))) (CApply (CApply (CSymbol ("Prelude","foldr1")) (CLambda [CPVar (1,"w"),CPVar (2,"s")] (CApply (CApply (CSymbol ("Prelude","++")) (CVar (1,"w"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CVar (2,"s")))))) (CVar (0,"ws"))))] []]), CFunc ("Prelude","unzip") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","(,)") [CTVar (0,"a"),CTVar (1,"b")]]) (CTCons ("Prelude","(,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CTCons ("Prelude","[]") [CTVar (1,"b")]])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CSymbol ("Prelude","[]"))) (CSymbol ("Prelude","[]")))] [],CRule [CPComb ("Prelude",":") [CPComb ("Prelude","(,)") [CPVar (0,"x"),CPVar (1,"y")],CPVar (2,"ps")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","(,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"x"))) (CVar (3,"xs")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"y"))) (CVar (4,"ys"))))] [CLocalPat (CPComb ("Prelude","(,)") [CPVar (3,"xs"),CPVar (4,"ys")]) (CApply (CSymbol ("Prelude","unzip")) (CVar (2,"ps"))) []]]), CFunc ("Prelude","unzip3") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","(,,)") [CTVar (0,"a"),CTVar (1,"b"),CTVar (2,"c")]]) (CTCons ("Prelude","(,,)") [CTCons ("Prelude","[]") [CTVar (0,"a")],CTCons ("Prelude","[]") [CTVar (1,"b")],CTCons ("Prelude","[]") [CTVar (2,"c")]])) (CRules CFlex [CRule [CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","(,,)")) (CSymbol ("Prelude","[]"))) (CSymbol ("Prelude","[]"))) (CSymbol ("Prelude","[]")))] [],CRule [CPComb ("Prelude",":") [CPComb ("Prelude","(,,)") [CPVar (0,"x"),CPVar (1,"y"),CPVar (2,"z")],CPVar (3,"ts")]] [(CSymbol ("Prelude","success"),CApply (CApply (CApply (CSymbol ("Prelude","(,,)")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"x"))) (CVar (4,"xs")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"y"))) (CVar (5,"ys")))) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"z"))) (CVar (6,"zs"))))] [CLocalPat (CPComb ("Prelude","(,,)") [CPVar (4,"xs"),CPVar (5,"ys"),CPVar (6,"zs")]) (CApply (CSymbol ("Prelude","unzip3")) (CVar (3,"ts"))) []]]), CFunc ("Prelude","words") 1 Public (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","[]") [CTCons ("Prelude","String") []])) (CRules CFlex [CRule [CPVar (0,"s")] [(CSymbol ("Prelude","success"),CLetDecl [CLocalPat (CPVar (1,"s1")) (CApply (CApply (CSymbol ("Prelude","dropWhile")) (CSymbol ("Prelude","isSpace"))) (CVar (0,"s"))) []] (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"s1"))) (CSymbol ("Prelude","[]")))) (CSymbol ("Prelude","[]"))) (CLetDecl [CLocalPat (CPComb ("Prelude","(,)") [CPVar (2,"w"),CPVar (3,"s2")]) (CApply (CApply (CSymbol ("Prelude","break")) (CSymbol ("Prelude","isSpace"))) (CVar (1,"s1"))) []] (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"w"))) (CApply (CSymbol ("Prelude","words")) (CVar (3,"s2")))))))] [CLocalFunc (CFunc ("Prelude","isSpace") 1 Private (CTCons ("Prelude","untyped") []) (CRules CFlex [CRule [CPVar (1,"c")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","||")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc ' ')))) (CApply (CApply (CSymbol ("Prelude","||")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc '\t')))) (CApply (CApply (CSymbol ("Prelude","||")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc '\n')))) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc '\r'))))))] []]))]]), CFunc ("Prelude","writeFile") 2 Public (CFuncType (CTCons ("Prelude","String") []) (CFuncType (CTCons ("Prelude","String") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CRules CFlex [CRule [CPVar (0,"fn"),CPVar (1,"s")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Prelude","prim_writeFile"))) (CVar (0,"fn")))) (CVar (1,"s")))] []]), CFunc ("Prelude","zip") 2 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTCons ("Prelude","(,)") [CTVar (0,"a"),CTVar (1,"b")]]))) (CRules CFlex [CRule [CPComb ("Prelude","[]") [],CPVar (0,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude",":") [CPVar (1,"_"),CPVar (2,"_")],CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude",":") [CPVar (3,"x"),CPVar (4,"xs")],CPComb ("Prelude",":") [CPVar (5,"y"),CPVar (6,"ys")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CSymbol ("Prelude","(,)")) (CVar (3,"x"))) (CVar (5,"y")))) (CApply (CApply (CSymbol ("Prelude","zip")) (CVar (4,"xs"))) (CVar (6,"ys"))))] []]), CFunc ("Prelude","zip3") 3 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (2,"c")]) (CTCons ("Prelude","[]") [CTCons ("Prelude","(,,)") [CTVar (0,"a"),CTVar (1,"b"),CTVar (2,"c")]])))) (CRules CFlex [CRule [CPComb ("Prelude","[]") [],CPVar (0,"_"),CPVar (1,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude",":") [CPVar (2,"_"),CPVar (3,"_")],CPComb ("Prelude","[]") [],CPVar (4,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude",":") [CPVar (5,"_"),CPVar (6,"_")],CPComb ("Prelude",":") [CPVar (7,"_"),CPVar (8,"_")],CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Prelude",":") [CPVar (9,"x"),CPVar (10,"xs")],CPComb ("Prelude",":") [CPVar (11,"y"),CPVar (12,"ys")],CPComb ("Prelude",":") [CPVar (13,"z"),CPVar (14,"zs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CApply (CSymbol ("Prelude","(,,)")) (CVar (9,"x"))) (CVar (11,"y"))) (CVar (13,"z")))) (CApply (CApply (CApply (CSymbol ("Prelude","zip3")) (CVar (10,"xs"))) (CVar (12,"ys"))) (CVar (14,"zs"))))] []]), CFunc ("Prelude","zipWith") 3 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (1,"b")) (CTVar (2,"c")))) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CTCons ("Prelude","[]") [CTVar (2,"c")])))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") [],CPVar (1,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (2,"_"),CPComb ("Prelude",":") [CPVar (3,"_"),CPVar (4,"_")],CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (5,"f"),CPComb ("Prelude",":") [CPVar (6,"x"),CPVar (7,"xs")],CPComb ("Prelude",":") [CPVar (8,"y"),CPVar (9,"ys")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CVar (5,"f")) (CVar (6,"x"))) (CVar (8,"y")))) (CApply (CApply (CApply (CSymbol ("Prelude","zipWith")) (CVar (5,"f"))) (CVar (7,"xs"))) (CVar (9,"ys"))))] []]), CFunc ("Prelude","zipWith3") 4 Public (CFuncType (CFuncType (CTVar (0,"a")) (CFuncType (CTVar (1,"b")) (CFuncType (CTVar (2,"c")) (CTVar (3,"d"))))) (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (1,"b")]) (CFuncType (CTCons ("Prelude","[]") [CTVar (2,"c")]) (CTCons ("Prelude","[]") [CTVar (3,"d")]))))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") [],CPVar (1,"_"),CPVar (2,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (3,"_"),CPComb ("Prelude",":") [CPVar (4,"_"),CPVar (5,"_")],CPComb ("Prelude","[]") [],CPVar (6,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (7,"_"),CPComb ("Prelude",":") [CPVar (8,"_"),CPVar (9,"_")],CPComb ("Prelude",":") [CPVar (10,"_"),CPVar (11,"_")],CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPVar (12,"f"),CPComb ("Prelude",":") [CPVar (13,"x"),CPVar (14,"xs")],CPComb ("Prelude",":") [CPVar (15,"y"),CPVar (16,"ys")],CPComb ("Prelude",":") [CPVar (17,"z"),CPVar (18,"zs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CApply (CApply (CApply (CVar (12,"f")) (CVar (13,"x"))) (CVar (15,"y"))) (CVar (17,"z")))) (CApply (CApply (CApply (CApply (CSymbol ("Prelude","zipWith3")) (CVar (12,"f"))) (CVar (14,"xs"))) (CVar (16,"ys"))) (CVar (18,"zs"))))] []]), CFunc ("Prelude","||") 2 Public (CFuncType (CTCons ("Prelude","Bool") []) (CFuncType (CTCons ("Prelude","Bool") []) (CTCons ("Prelude","Bool") []))) (CRules CFlex [CRule [CPComb ("Prelude","True") [],CPVar (0,"_")] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] [],CRule [CPComb ("Prelude","False") [],CPVar (1,"x")] [(CSymbol ("Prelude","success"),CVar (1,"x"))] []])] [COp ("Prelude","!!") CInfixlOp 9,COp ("Prelude",".") CInfixrOp 9,COp ("Prelude","mod") CInfixlOp 7,COp ("Prelude","div") CInfixlOp 7,COp ("Prelude","*^") CInfixlOp 7,COp ("Prelude","*") CInfixlOp 7,COp ("Prelude","-^") CInfixlOp 6,COp ("Prelude","-") CInfixlOp 6,COp ("Prelude","+^") CInfixlOp 6,COp ("Prelude","+") CInfixlOp 6,COp ("Prelude","++") CInfixrOp 5,COp ("Prelude",">=^") CInfixOp 4,COp ("Prelude",">^") CInfixOp 4,COp ("Prelude","<=^") CInfixOp 4,COp ("Prelude","<^") CInfixOp 4,COp ("Prelude","=:<=") CInfixOp 4,COp ("Prelude",">=") CInfixOp 4,COp ("Prelude","<=") CInfixOp 4,COp ("Prelude",">") CInfixOp 4,COp ("Prelude","<") CInfixOp 4,COp ("Prelude","/=") CInfixOp 4,COp ("Prelude","===") CInfixOp 4,COp ("Prelude","==") CInfixOp 4,COp ("Prelude","=:=") CInfixOp 4,COp ("Prelude","notElem") CInfixOp 4,COp ("Prelude","elem") CInfixOp 4,COp ("Prelude","&&") CInfixrOp 3,COp ("Prelude","||") CInfixrOp 2,COp ("Prelude",">>=") CInfixlOp 1,COp ("Prelude",">>") CInfixlOp 1,COp ("Prelude","?") CInfixrOp 0,COp ("Prelude","&>") CInfixrOp 0,COp ("Prelude","&") CInfixrOp 0,COp ("Prelude","seq") CInfixrOp 0,COp ("Prelude","$##") CInfixrOp 0,COp ("Prelude","$#") CInfixrOp 0,COp ("Prelude","$!!") CInfixrOp 0,COp ("Prelude","$!") CInfixrOp 0,COp ("Prelude","$") CInfixrOp 0]