Prog "OracleDirectory" ["CEventOracle","Oracle","IOExts","Directory","Prelude","Time","OraclePrelude","OracleTime"] [] [Func ("OracleDirectory","doesFileExist") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Bool") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_doesFileExist") []],Var 2,Var 1]])),Func ("OracleDirectory","doesDirectoryExist") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Bool") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_doesDirectoryExist") []],Var 2,Var 1]])),Func ("OracleDirectory","fileSize") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Int") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_fileSize") []],Var 2,Var 1]])),Func ("OracleDirectory","getModificationTime") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Time","ClockTime") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_getModificationTime") []],Var 2,Var 1]])),Func ("OracleDirectory","setCurrentDirectory") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_setCurrentDirectory") []],Var 2,Var 1]])),Func ("OracleDirectory","getDirectoryContents") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_getDirectoryContents") []],Var 2,Var 1]])),Func ("OracleDirectory","createDirectory") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_createDirectory") []],Var 2,Var 1]])),Func ("OracleDirectory","removeFile") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_removeFile") []],Var 2,Var 1]])),Func ("OracleDirectory","removeDirectory") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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","$##") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleDirectory","prim_removeDirectory") []],Var 2,Var 1]])),Func ("OracleDirectory","renameFile") 3 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$##") [Comb FuncCall ("Oracle","$##") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleDirectory","prim_renameFile") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleDirectory","renameDirectory") 3 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$##") [Comb FuncCall ("Oracle","$##") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleDirectory","prim_renameDirectory") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleDirectory","prim_doesFileExist") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Bool") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Directory","prim_doesFileExist") [Var 2]]]])),Func ("OracleDirectory","prim_doesDirectoryExist") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Bool") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Directory","prim_doesDirectoryExist") [Var 2]]]])),Func ("OracleDirectory","prim_fileSize") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Int") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Directory","prim_fileSize") [Var 2]]]])),Func ("OracleDirectory","prim_getModificationTime") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Time","ClockTime") []]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Directory","prim_getModificationTime") [Var 2]]]])),Func ("OracleDirectory","getCurrentDirectory") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]])))) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Directory","getCurrentDirectory") []]]])),Func ("OracleDirectory","prim_setCurrentDirectory") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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 ("Directory","prim_setCurrentDirectory") [Var 2]]])),Func ("OracleDirectory","prim_getDirectoryContents") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","[]") [TCons ("Prelude","[]") [TCons ("Prelude","Char") []]]]))))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Oracle","safeIOResult") [Comb FuncCall ("Directory","prim_getDirectoryContents") [Var 2]]]])),Func ("OracleDirectory","prim_createDirectory") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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 ("Directory","prim_createDirectory") [Var 2]]])),Func ("OracleDirectory","prim_removeFile") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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 ("Directory","prim_removeFile") [Var 2]]])),Func ("OracleDirectory","prim_removeDirectory") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (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 ("Directory","prim_removeDirectory") [Var 2]]])),Func ("OracleDirectory","prim_renameFile") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Directory","prim_renameFile") [Var 3,Var 2]]])),Func ("OracleDirectory","prim_renameDirectory") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","()") []])))))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb (FuncPartCall 2) ("Oracle","lambda_world") [Comb FuncCall ("Directory","prim_renameDirectory") [Var 3,Var 2]]]))] []