Prog "OracleMeta" ["CEventOracle","Oracle","IOExts","Meta","Prelude","OraclePrelude"] [] [Func ("OracleMeta","isFree") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Either") [TVar 0,TVar 0]]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","headNormalFormIO") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMeta","prim_isFree") []],Var 2,Var 1]])),Func ("OracleMeta","throw") 2 Public (FuncType (TCons ("Meta","Exception") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMeta","prim_throw") []],Var 2,Var 1]])),Func ("OracleMeta","list") 2 Private (FuncType (TCons ("Meta","Seq") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMeta","_case_4") [Var 2,Var 1]])),Func ("OracleMeta","interleave") 3 Private (FuncType (TCons ("Meta","Seq") [TVar 0]) (FuncType (TCons ("Meta","Seq") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Meta","Seq") [TVar 0])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMeta","_case_3") [Var 3,Var 2,Var 1]])),Func ("OracleMeta","seq") 2 Private (FuncType (TCons ("Prelude","SearchTree") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Meta","Seq") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMeta","_case_1") [Var 2,Var 1]])),Func ("OracleMeta","isValOrChoice") 2 Private (FuncType (TCons ("Prelude","SearchTree") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMeta","_case_0") [Var 2,Var 1]])),Func ("OracleMeta","allValuesI") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","SearchTree") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])))) (Rule [1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude",".") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMeta","list") []],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMeta","seq") []],Var 1]])),Func ("OracleMeta","_case_0") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","Fail") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []]),Branch (Pattern ("Prelude","Value") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("Prelude","Choice") [4]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","True") []]),Branch (Pattern ("Prelude","Suspend") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","False") []])]])),Func ("OracleMeta","_case_1") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","Fail") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Meta","Nil") []]),Branch (Pattern ("Prelude","Value") [3]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Meta","Cons") [Var 3,Comb ConsCall ("Meta","Nil") []]]),Branch (Pattern ("Prelude","Choice") [4]) (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude","foldr1") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleMeta","interleave") []],Comb ConsCall ("Prelude",":") [Comb ConsCall ("Meta","Nil") [],Comb FuncCall ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMeta","seq") []],Comb FuncCall ("OraclePrelude","filter") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleMeta","isValOrChoice") []],Var 4,Var 1],Var 5]],Var 6]])),Branch (Pattern ("Prelude","Suspend") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Meta","Nil") []])]])),Func ("OracleMeta","_case_3") 3 Private (TVar (-42)) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Meta","Nil") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Meta","Continued") [Var 3]]),Branch (Pattern ("Meta","Cons") [4,5]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Meta","Cons") [Var 4,Comb FuncCall ("OracleMeta","interleave") [Var 3,Var 5,Var 1]]]),Branch (Pattern ("Meta","Continued") [6]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMeta","_case_2") [Var 2,Var 6,Var 3,Var 1]])]])),Func ("OracleMeta","_case_2") 4 Private (TVar (-42)) (Rule [2,6,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("Meta","Nil") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2]),Branch (Pattern ("Meta","Cons") [7,8]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Meta","Cons") [Var 7,Comb FuncCall ("OracleMeta","interleave") [Var 6,Var 8,Var 1]]]),Branch (Pattern ("Meta","Continued") [9]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Meta","Continued") [Comb FuncCall ("OracleMeta","interleave") [Var 6,Var 9,Var 1]]])]])),Func ("OracleMeta","_case_4") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Meta","Nil") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb ConsCall ("Prelude","[]") []]),Branch (Pattern ("Meta","Cons") [3,4]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb FuncCall ("OracleMeta","list") [Var 4,Var 1]]]),Branch (Pattern ("Meta","Continued") [5]) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleMeta","list") [Var 5,Var 1]])]])),Func ("OracleMeta","prim_isFree") 2 Private (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Either") [TVar 0,TVar 0]]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Meta","prim_isFree") [Var 2]]]])),Func ("OracleMeta","searchTree") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","SearchTree") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Meta","searchTree") [Var 2]])),Func ("OracleMeta","gnfIO") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Meta","gnfIO") [Var 2]]]])),Func ("OracleMeta","ghnfIO") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Meta","ghnfIO") [Var 2]]]])),Func ("OracleMeta","nfIO") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Meta","nfIO") [Var 2]]]])),Func ("OracleMeta","hnfIO") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Meta","hnfIO") [Var 2]]]])),Func ("OracleMeta","getRichSearchTree") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Meta","RichSearchTree") [TVar 0]]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Meta","getRichSearchTree") [Var 2]]]])),Func ("OracleMeta","richSearchTree") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Meta","RichSearchTree") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Meta","richSearchTree") [Var 2]])),Func ("OracleMeta","parallelSearch") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TVar 0]]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Meta","parallelSearch") [Var 2]]]])),Func ("OracleMeta","cover") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Meta","cover") [Var 2]])),Func ("OracleMeta","st") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","SearchTree") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Meta","st") [Var 2]])),Func ("OracleMeta","richST") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Meta","RichSearchTree") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Meta","richST") [Var 2]])),Func ("OracleMeta","ors") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Meta","ors") [Var 2]])),Func ("OracleMeta","prim_throw") 2 Private (FuncType (TCons ("Meta","Exception") []) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Meta","prim_throw") [Var 2]]))] []