Prog "OracleInteractive" ["CEventOracle","Oracle","IOExts","Interactive","Prelude","OraclePrelude"] [] [Func ("OracleInteractive","interactiveSols") 2 Public (FuncType (TCons ("Prelude","[]") [TVar 0]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteractive","_case_3") [Var 2,Var 1]])),Func ("OracleInteractive","interactiveSols._#lambda2") 3 Private (FuncType (TCons ("Prelude","[]") [TVar 5]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteractive","_case_2") [Var 2,Var 3,Var 1]])),Func ("OracleInteractive","printIO") 2 Public (FuncType (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TVar 0]))) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle",">>=") [Var 2,Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleInteractive","printIO._#lambda4") []],Var 1]])),Func ("OracleInteractive","printIO._#lambda4") 2 Private (FuncType (TVar 25) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude",">>") [Comb FuncCall ("OraclePrelude","putStr") [Comb ConsCall ("Prelude",":") [Lit (Charc 'I'),Comb ConsCall ("Prelude",":") [Lit (Charc 'O'),Comb ConsCall ("Prelude",":") [Lit (Charc ':'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude","[]") []]]]],Var 1],Comb FuncCall ("Oracle","$!!") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleInteractive","printTerm") []],Var 2,Var 3],Var 4]]))),Func ("OracleInteractive","_case_2") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (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 ("OracleInteractive","_case_1") [Var 2,Var 4,Comb FuncCall ("OraclePrelude","==") [Var 4,Lit (Charc 'n'),Var 1],Var 6]])),Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteractive","interactiveSols") [Var 2,Var 1]])]])),Func ("OracleInteractive","_case_1") 4 Private (TVar (-42)) (Rule [2,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","return") [Comb ConsCall ("Prelude","()") [],Var 1]]),Branch (Pattern ("Prelude","False") []) (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 ("OracleInteractive","_case_0") [Var 2,Var 4,Comb FuncCall ("OraclePrelude","==") [Var 4,Lit (Charc 'N'),Var 1],Var 6]]))]])),Func ("OracleInteractive","_case_0") 4 Private (TVar (-42)) (Rule [2,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","return") [Comb ConsCall ("Prelude","()") [],Var 1]]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleInteractive","interactiveSols") [Var 2,Var 1]])]])),Func ("OracleInteractive","_case_3") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 'N'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'm'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc ' '),Comb ConsCall ("Prelude",":") [Lit (Charc 'S'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'l'),Comb ConsCall ("Prelude",":") [Lit (Charc 'u'),Comb ConsCall ("Prelude",":") [Lit (Charc 't'),Comb ConsCall ("Prelude",":") [Lit (Charc 'i'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'n'),Comb ConsCall ("Prelude",":") [Lit (Charc 's'),Comb ConsCall ("Prelude","[]") []]]]]]]]]]]]]]]]]],Var 1]]),Branch (Pattern ("Prelude",":") [3,4]) (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","[]") []]]]]],Comb FuncCall ("OraclePrelude",">>") [Comb FuncCall ("OracleInteractive","printTerm") [Var 3,Var 1],Comb FuncCall ("OraclePrelude",">>") [Comb FuncCall ("OraclePrelude","putStrLn") [Comb ConsCall ("Prelude",":") [Lit (Charc 'M'),Comb ConsCall ("Prelude",":") [Lit (Charc 'o'),Comb ConsCall ("Prelude",":") [Lit (Charc 'r'),Comb ConsCall ("Prelude",":") [Lit (Charc 'e'),Comb ConsCall ("Prelude",":") [Lit (Charc '?'),Comb ConsCall ("Prelude","[]") []]]]]],Var 5],Comb FuncCall ("Oracle",">>=") [Comb FuncCall ("OraclePrelude","getLine") [Var 6],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleInteractive","interactiveSols._#lambda2") [Var 4]],Var 7],Var 8],Var 9]]))]])),Func ("OracleInteractive","printTerm") 2 Public (FuncType (TVar 0) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Interactive","printTerm") [Var 2]]]))] []