CurryProg "CEventOracle" ["Prelude","IOExts","System","Prelude"] [CType ("CEventOracle","Ref") Public [] []] [CFunc ("CEventOracle","$!") 3 Public (CFuncType (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("CEventOracle","Ref") []) (CTVar (1,"b"))))) (CExternal "$!"), CFunc ("CEventOracle","$!!") 3 Public (CFuncType (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("CEventOracle","Ref") []) (CTVar (1,"b"))))) (CExternal "$!!"), CFunc ("CEventOracle","$#") 3 Public (CFuncType (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("CEventOracle","Ref") []) (CTVar (1,"b"))))) (CExternal "$#"), CFunc ("CEventOracle","$##") 3 Public (CFuncType (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("CEventOracle","Ref") []) (CTVar (1,"b"))))) (CExternal "$##"), CFunc ("CEventOracle","apply") 3 Public (CFuncType (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTVar (0,"a")) (CTVar (1,"b")))) (CFuncType (CTVar (0,"a")) (CFuncType (CTCons ("CEventOracle","Ref") []) (CTVar (1,"b"))))) (CExternal "apply"), CFunc ("CEventOracle","closeRef") 2 Public (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))) (CExternal "closeRef"), CFunc ("CEventOracle","collapse") 2 Public (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))) (CExternal "collapse"), CFunc ("CEventOracle","expand") 3 Public (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTCons ("Prelude","[]") [CTCons ("CEventOracle","Ref") []]) (CFuncType (CTVar (0,"a")) (CTVar (0,"a"))))) (CExternal "expand"), CFunc ("CEventOracle","finalize") 1 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CExternal "finalize"), CFunc ("CEventOracle","fresh") 1 Public (CFuncType (CTCons ("Prelude","()") []) (CTCons ("CEventOracle","Ref") [])) (CExternal "fresh"), CFunc ("CEventOracle","initRef") 0 Public (CTCons ("Prelude","IO") [CTCons ("CEventOracle","Ref") []]) (CExternal "initRef"), CFunc ("CEventOracle","initialize") 1 Public (CFuncType (CFuncType (CTCons ("CEventOracle","Ref") []) (CTCons ("Prelude","IO") [CTVar (0,"a")])) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [CPVar (0,"app")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (1,"mod")) (CSymbol ("System","getProgName")),CSLet [CLocalPat (CPVar (2,"extFile")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (1,"mod"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'x'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CSymbol ("Prelude","[]"))))))) []],CSExpr (CApply (CApply (CSymbol ("IOExts","setAssoc")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'x'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CSymbol ("Prelude","[]")))))))) (CVar (2,"extFile"))),CSExpr (CApply (CApply (CSymbol ("Prelude","writeFile")) (CVar (2,"extFile"))) (CSymbol ("Prelude","[]"))),CSPat (CPVar (3,"mainR")) (CSymbol ("CEventOracle","initRef")),CSPat (CPVar (4,"x")) (CApply (CVar (0,"app")) (CVar (3,"mainR"))),CSPat (CPVar (5,"st")) (CApply (CSymbol ("Prelude","getSearchTree")) (CVar (4,"x"))),CSExpr (CApply (CApply (CSymbol ("Prelude","catchFail")) (CDoExpr [CSExpr (CApply (CSymbol ("Prelude","putStrLn")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'g'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]")))))))))))))))))))))))))))),CSExpr (CApply (CApply (CSymbol ("Prelude","$!!")) (CSymbol ("Prelude","return"))) (CVar (5,"st")))])) (CApply (CApply (CSymbol ("Prelude",">>")) (CApply (CSymbol ("Prelude","putStrLn")) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'x'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'u'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (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 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'b'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'd'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'W'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'n'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'g'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'o'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'r'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'a'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'c'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc ' '))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'f'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'i'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'l'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CSymbol ("Prelude","[]")))))))))))))))))))))))))))))))))))))))))) (CApply (CSymbol ("Prelude","return")) (CSymbol ("Prelude","failed"))))),CSExpr (CApply (CSymbol ("CEventOracle","finalize")) (CApply (CApply (CSymbol ("Prelude","++")) (CVar (1,"mod"))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc '.'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 't'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'e'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 'p'))) (CApply (CApply (CSymbol ("Prelude",":")) (CLit (CCharc 's'))) (CSymbol ("Prelude","[]"))))))))))])] []]), CFunc ("CEventOracle","replace") 2 Public (CFuncType (CTCons ("CEventOracle","Ref") []) (CFuncType (CTVar (0,"a")) (CTVar (0,"a")))) (CExternal "replace"), CFunc ("CEventOracle","unknown") 1 Public (CFuncType (CTCons ("CEventOracle","Ref") []) (CTVar (0,"a"))) (CExternal "unknown")] []