CurryProg "Meta" ["Prelude"] [CType ("Meta","RichSearchTree") Public [(0,"a")] [CCons ("Meta","RichFail") 1 Public [CTCons ("Meta","Exception") []],CCons ("Meta","RichValue") 1 Public [CTVar (0,"a")],CCons ("Meta","RichChoice") 2 Public [CTCons ("Meta","OrRef") [],CTCons ("Prelude","[]") [CTCons ("Meta","RichSearchTree") [CTVar (0,"a")]]],CCons ("Meta","RichSuspend") 0 Public []], CType ("Meta","Exception") Public [] [CCons ("Meta","ErrorCall") 1 Public [CTCons ("Prelude","String") []],CCons ("Meta","PatternMatchFail") 1 Public [CTCons ("Prelude","String") []],CCons ("Meta","AssertionFailed") 1 Public [CTCons ("Prelude","String") []],CCons ("Meta","IOException") 1 Public [CTCons ("Prelude","String") []],CCons ("Meta","PreludeFailed") 0 Public []], CType ("Meta","OrRef") Public [] [], CType ("Meta","Seq") Private [(0,"a")] [CCons ("Meta","Nil") 0 Private [],CCons ("Meta","Cons") 2 Private [CTVar (0,"a"),CTCons ("Meta","Seq") [CTVar (0,"a")]],CCons ("Meta","Continued") 1 Private [CTCons ("Meta","Seq") [CTVar (0,"a")]]]] [CFunc ("Meta","allValuesI") 0 Public (CFuncType (CTCons ("Prelude","SearchTree") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CSymbol ("Meta","list"))) (CSymbol ("Prelude","seq")))] []]), CFunc ("Meta","cover") 1 Public (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))) (CExternal "cover"), CFunc ("Meta","getRichSearchTree") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTCons ("Meta","RichSearchTree") [CTVar (0,"a")]])) (CExternal "getRichSearchTree"), CFunc ("Meta","ghnfIO") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])) (CExternal "ghnfIO"), CFunc ("Meta","gnfIO") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])) (CExternal "gnfIO"), CFunc ("Meta","headNormalFormIO") 2 Public (CFuncType (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (1,"b")])) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (1,"b")]))) (CExternal "headNormalFormIO"), CFunc ("Meta","hnfIO") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])) (CExternal "hnfIO"), CFunc ("Meta","interleave") 2 Private (CFuncType (CTCons ("Meta","Seq") [CTVar (0,"a")]) (CFuncType (CTCons ("Meta","Seq") [CTVar (0,"a")]) (CTCons ("Meta","Seq") [CTVar (0,"a")]))) (CRules CFlex [CRule [CPComb ("Meta","Nil") [],CPVar (0,"ys")] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Meta","Continued")) (CVar (0,"ys")))] [],CRule [CPComb ("Meta","Cons") [CPVar (1,"x"),CPVar (2,"xs")],CPVar (3,"ys")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Meta","Cons")) (CVar (1,"x"))) (CApply (CApply (CSymbol ("Meta","interleave")) (CVar (3,"ys"))) (CVar (2,"xs"))))] [],CRule [CPAs (5,"xs") (CPComb ("Meta","Continued") [CPVar (4,"_")]),CPComb ("Meta","Nil") []] [(CSymbol ("Prelude","success"),CVar (5,"xs"))] [],CRule [CPComb ("Meta","Continued") [CPVar (6,"xs")],CPComb ("Meta","Cons") [CPVar (7,"x"),CPVar (8,"ys")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Meta","Cons")) (CVar (7,"x"))) (CApply (CApply (CSymbol ("Meta","interleave")) (CVar (6,"xs"))) (CVar (8,"ys"))))] [],CRule [CPComb ("Meta","Continued") [CPVar (9,"xs")],CPComb ("Meta","Continued") [CPVar (10,"ys")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Meta","Continued")) (CApply (CApply (CSymbol ("Meta","interleave")) (CVar (9,"xs"))) (CVar (10,"ys"))))] []]), CFunc ("Meta","isFree") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTCons ("Prelude","Either") [CTVar (0,"a"),CTVar (0,"a")]])) (CRules CFlex [CRule [CPVar (0,"x")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Meta","headNormalFormIO")) (CSymbol ("Meta","prim_isFree"))) (CVar (0,"x")))] []]), CFunc ("Meta","isValOrChoice") 1 Private (CFuncType (CTCons ("Prelude","SearchTree") [CTVar (0,"_")]) (CTCons ("Prelude","Bool") [])) (CRules CFlex [CRule [CPComb ("Prelude","Fail") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] [],CRule [CPComb ("Prelude","Value") [CPVar (0,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] [],CRule [CPComb ("Prelude","Choice") [CPVar (1,"_")]] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","True"))] [],CRule [CPComb ("Prelude","Suspend") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","False"))] []]), CFunc ("Meta","list") 1 Private (CFuncType (CTCons ("Meta","Seq") [CTVar (0,"a")]) (CTCons ("Prelude","[]") [CTVar (0,"a")])) (CRules CFlex [CRule [CPComb ("Meta","Nil") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","[]"))] [],CRule [CPComb ("Meta","Cons") [CPVar (0,"x"),CPVar (1,"xs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",":")) (CVar (0,"x"))) (CApply (CSymbol ("Meta","list")) (CVar (1,"xs"))))] [],CRule [CPComb ("Meta","Continued") [CPVar (2,"xs")]] [(CSymbol ("Prelude","success"),CApply (CSymbol ("Meta","list")) (CVar (2,"xs")))] []]), CFunc ("Meta","nfIO") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTVar (0,"a")])) (CExternal "nfIO"), CFunc ("Meta","ors") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTVar (0,"a")]) (CTVar (0,"a"))) (CExternal "ors"), CFunc ("Meta","parallelSearch") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTCons ("Prelude","[]") [CTVar (0,"a")]])) (CExternal "parallelSearch"), CFunc ("Meta","prim_isFree") 1 Private (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTCons ("Prelude","Either") [CTVar (0,"a"),CTVar (0,"a")]])) (CExternal "prim_isFree"), CFunc ("Meta","prim_throw") 1 Private (CFuncType (CTCons ("Meta","Exception") []) (CTVar (0,"a"))) (CExternal "prim_throw"), CFunc ("Meta","richST") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Meta","RichSearchTree") [CTVar (0,"a")])) (CExternal "richST"), CFunc ("Meta","richSearchTree") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Meta","RichSearchTree") [CTVar (0,"a")])) (CExternal "richSearchTree"), CFunc ("Meta","searchTree") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","SearchTree") [CTVar (0,"a")])) (CExternal "searchTree"), CFunc ("Meta","seq") 1 Private (CFuncType (CTCons ("Prelude","SearchTree") [CTVar (0,"a")]) (CTCons ("Meta","Seq") [CTVar (0,"a")])) (CRules CFlex [CRule [CPComb ("Prelude","Fail") []] [(CSymbol ("Prelude","success"),CSymbol ("Meta","Nil"))] [],CRule [CPComb ("Prelude","Value") [CPVar (0,"x")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Meta","Cons")) (CVar (0,"x"))) (CSymbol ("Meta","Nil")))] [],CRule [CPComb ("Prelude","Choice") [CPVar (1,"ts")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","foldr1")) (CSymbol ("Meta","interleave"))) (CApply (CApply (CSymbol ("Prelude",":")) (CSymbol ("Meta","Nil"))) (CApply (CApply (CSymbol ("Prelude","map")) (CSymbol ("Prelude","seq"))) (CApply (CApply (CSymbol ("Prelude","filter")) (CSymbol ("Meta","isValOrChoice"))) (CVar (1,"ts"))))))] [],CRule [CPComb ("Prelude","Suspend") []] [(CSymbol ("Prelude","success"),CSymbol ("Meta","Nil"))] []]), CFunc ("Meta","st") 1 Public (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","SearchTree") [CTVar (0,"a")])) (CExternal "st"), CFunc ("Meta","throw") 1 Public (CFuncType (CTCons ("Meta","Exception") []) (CTVar (0,"a"))) (CRules CFlex [CRule [CPVar (0,"e")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("Meta","prim_throw"))) (CVar (0,"e")))] []])] []