Prog "OracleParser" ["CEventOracle","Oracle","IOExts","Parser","Prelude","OraclePrelude"] [] [Func ("OracleParser","<|>") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])))))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Or (Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleParser","<|>._#lambda2") [Var 2]]) (Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleParser","<|>._#lambda3") [Var 3]])])),Func ("OracleParser","<|>._#lambda2") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 2]) (TCons ("Prelude","[]") [TVar 2]))) (FuncType (TCons ("Prelude","[]") [TVar 2]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 2])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 2,Var 3,Var 1]])),Func ("OracleParser","<|>._#lambda3") 3 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 2]) (TCons ("Prelude","[]") [TVar 2]))) (FuncType (TCons ("Prelude","[]") [TVar 2]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 2])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","apply") [Var 2,Var 3,Var 1]])),Func ("OracleParser","<||>") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TVar 1]))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TVar 1]))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TVar 1])))))))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleParser","<||>._#lambda4") [Var 2,Var 3]]])),Func ("OracleParser","<||>._#lambda4") 4 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 17) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 18]) (TCons ("Prelude","[]") [TVar 18]))))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 17) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 18]) (TCons ("Prelude","[]") [TVar 18]))))) (FuncType (TVar 17) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 18]) (TCons ("Prelude","[]") [TVar 18]))))))) (Rule [2,3,4,1] (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 ("OracleParser","<|>") [Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Comb FuncCall ("Oracle","apply") [Var 3,Var 4,Var 5],Var 6]]))),Func ("OracleParser","<*>") 3 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0])))))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleParser","<*>.seq.14") [Var 2,Var 3]]])),Func ("OracleParser","<*>.seq.14") 4 Private (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 23]) (TCons ("Prelude","[]") [TVar 23]))) (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 23]) (TCons ("Prelude","[]") [TVar 23]))) (FuncType (TCons ("Prelude","[]") [TVar 23]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 23]))))) (Rule [2,3,4,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$!!") [Var 3,Comb FuncCall ("Oracle","apply") [Var 2,Var 4,Var 1],Var 5]]))),Func ("OracleParser",">>>") 5 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (TCons ("Prelude","[]") [TVar 0]))) (FuncType (TVar 1) (FuncType (TVar 1) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 0])))))) (Rule [2,3,4,5,1] (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$!!") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleParser",">>>.attach.18") [Var 4,Var 3]],Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 1],Var 6]]))),Func ("OracleParser",">>>.attach.18") 4 Private (FuncType (TVar 36) (FuncType (TVar 36) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (TVar 0))))) (Rule [2,3,4,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","cond") [Comb FuncCall ("OraclePrelude","=:=") [Var 3,Var 2,Var 1],Var 4,Var 5]]))),Func ("OracleParser","empty") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 0]))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2])),Func ("OracleParser","terminal") 3 Public (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 0])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleParser","_case_1") [Var 2,Var 3,Var 1]])),Func ("OracleParser","satisfy") 4 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (TCons ("Prelude","Bool") []))) (FuncType (TVar 0) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TVar 0]))))) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleParser","_case_0") [Var 2,Var 3,Var 4,Var 1]])),Func ("OracleParser","star") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TVar 1]))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TVar 1]))))))) (Rule [2,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,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",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]]]]]],Let [(3,Comb FuncCall ("Oracle","unknown") [Var 1]),(4,Comb FuncCall ("Oracle","unknown") [Var 5])] (Comb FuncCall ("OracleParser","<||>") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleParser",">>>") [Comb FuncCall ("OracleParser","<*>") [Comb FuncCall ("Oracle","apply") [Var 2,Var 3,Var 6],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleParser","star") [Var 2,Var 7],Var 4,Var 8],Var 9],Comb ConsCall ("Prelude",":") [Var 3,Var 4]]],Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleParser",">>>") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleParser","empty") []],Comb ConsCall ("Prelude","[]") []]],Var 10])]))),Func ("OracleParser","some") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TVar 1]))))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","[]") [TVar 1]) (TCons ("Prelude","[]") [TVar 1]))))))) (Rule [2,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,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",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude","[]") []]]]]],Let [(3,Comb FuncCall ("Oracle","unknown") [Var 1]),(4,Comb FuncCall ("Oracle","unknown") [Var 5])] (Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleParser",">>>") [Comb FuncCall ("OracleParser","<*>") [Comb FuncCall ("Oracle","apply") [Var 2,Var 3,Var 6],Comb FuncCall ("Oracle","apply") [Comb FuncCall ("OracleParser","star") [Var 2,Var 7],Var 4,Var 8],Var 9],Comb ConsCall ("Prelude",":") [Var 3,Var 4]]])]))),Func ("OracleParser","_case_0") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 4) [Branch (Pattern ("Prelude",":") [5,6]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("OraclePrelude","cond") [Comb FuncCall ("OraclePrelude","&") [Comb FuncCall ("OraclePrelude","=:=") [Comb FuncCall ("Oracle","apply") [Var 2,Var 5,Var 1],Comb ConsCall ("Prelude","True") [],Var 7],Comb FuncCall ("OraclePrelude","=:=") [Var 3,Var 5,Var 8],Var 9],Var 6,Var 10]]))]])),Func ("OracleParser","_case_1") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 3) [Branch (Pattern ("Prelude",":") [4,5]) (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","cond") [Comb FuncCall ("OraclePrelude","=:=") [Var 2,Var 4,Var 1],Var 5,Var 6]]))]]))] [Op ("OracleParser","<*>") InfixrOp 4,Op ("OracleParser",">>>") InfixrOp 3,Op ("OracleParser","<|>") InfixrOp 2,Op ("OracleParser","<||>") InfixrOp 2]