CurryProg "IO" ["Prelude"] [CType ("IO","Handle") Public [] [], CType ("IO","IOMode") Public [] [CCons ("IO","ReadMode") 0 Public [],CCons ("IO","WriteMode") 0 Public [],CCons ("IO","AppendMode") 0 Public []], CType ("IO","SeekMode") Public [] [CCons ("IO","AbsoluteSeek") 0 Public [],CCons ("IO","RelativeSeek") 0 Public [],CCons ("IO","SeekFromEnd") 0 Public []]] [CFunc ("IO","getContents") 0 Public (CTCons ("Prelude","IO") [CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]]) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CSymbol ("IO","hGetContents")) (CSymbol ("IO","stdin")))] []]), CFunc ("IO","hClose") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hClose"))) (CVar (0,"h")))] []]), CFunc ("IO","hFlush") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hFlush"))) (CVar (0,"h")))] []]), CFunc ("IO","hGetChar") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Char") []])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hGetChar"))) (CVar (0,"h")))] []]), CFunc ("IO","hGetContents") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (1,"eof")) (CApply (CSymbol ("IO","hIsEOF")) (CVar (0,"h"))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CVar (1,"eof"))) (CApply (CApply (CSymbol ("Prelude",">>")) (CApply (CSymbol ("IO","hClose")) (CVar (0,"h")))) (CApply (CSymbol ("Prelude","return")) (CSymbol ("Prelude","[]"))))) (CDoExpr [CSPat (CPVar (2,"c")) (CApply (CSymbol ("IO","hGetChar")) (CVar (0,"h"))),CSPat (CPVar (3,"cs")) (CApply (CSymbol ("IO","hGetContents")) (CVar (0,"h"))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (2,"c"))) (CVar (3,"cs"))))]))])] []]), CFunc ("IO","hGetLine") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CDoExpr [CSPat (CPVar (1,"c")) (CApply (CSymbol ("IO","hGetChar")) (CVar (0,"h"))),CSExpr (CApply (CApply (CApply (CSymbol ("Prelude","if_then_else")) (CApply (CApply (CSymbol ("Prelude","==")) (CVar (1,"c"))) (CLit (CCharc '\n')))) (CApply (CSymbol ("Prelude","return")) (CSymbol ("Prelude","[]")))) (CDoExpr [CSPat (CPVar (2,"cs")) (CApply (CSymbol ("IO","hGetLine")) (CVar (0,"h"))),CSExpr (CApply (CSymbol ("Prelude","return")) (CApply (CApply (CSymbol ("Prelude",":")) (CVar (1,"c"))) (CVar (2,"cs"))))]))])] []]), CFunc ("IO","hIsEOF") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hIsEOF"))) (CVar (0,"h")))] []]), CFunc ("IO","hIsReadable") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hIsReadable"))) (CVar (0,"h")))] []]), CFunc ("IO","hIsWritable") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hIsWritable"))) (CVar (0,"h")))] []]), CFunc ("IO","hPrint") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTVar (0,"a")) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",".")) (CApply (CSymbol ("IO","hPutStrLn")) (CVar (0,"h")))) (CSymbol ("Prelude","show")))] []]), CFunc ("IO","hPutChar") 2 Public (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTCons ("Prelude","Char") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CRules CFlex [CRule [CPVar (0,"h"),CPVar (1,"c")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hPutChar"))) (CVar (0,"h")))) (CVar (1,"c")))] []]), CFunc ("IO","hPutStr") 2 Public (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CRules CFlex [CRule [CPVar (0,"_"),CPComb ("Prelude","[]") []] [(CSymbol ("Prelude","success"),CSymbol ("Prelude","done"))] [],CRule [CPVar (1,"h"),CPComb ("Prelude",":") [CPVar (2,"c"),CPVar (3,"cs")]] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",">>")) (CApply (CApply (CSymbol ("IO","hPutChar")) (CVar (1,"h"))) (CVar (2,"c")))) (CApply (CApply (CSymbol ("IO","hPutStr")) (CVar (1,"h"))) (CVar (3,"cs"))))] []]), CFunc ("IO","hPutStrLn") 2 Public (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CRules CFlex [CRule [CPVar (0,"h"),CPVar (1,"s")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude",">>")) (CApply (CApply (CSymbol ("IO","hPutStr")) (CVar (0,"h"))) (CVar (1,"s")))) (CApply (CApply (CSymbol ("IO","hPutChar")) (CVar (0,"h"))) (CLit (CCharc '\n'))))] []]), CFunc ("IO","hReady") 1 Public (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []])) (CRules CFlex [CRule [CPVar (0,"h")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("IO","hWaitForInput")) (CVar (0,"h"))) (CLit (CIntc 0)))] []]), CFunc ("IO","hSeek") 3 Public (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTCons ("IO","SeekMode") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])))) (CRules CFlex [CRule [CPVar (0,"h"),CPVar (1,"sm"),CPVar (2,"pos")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CApply (CApply (CSymbol ("Prelude","$#")) (CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hSeek"))) (CVar (0,"h")))) (CVar (1,"sm")))) (CVar (2,"pos")))] []]), CFunc ("IO","hWaitForInput") 2 Public (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []]))) (CRules CFlex [CRule [CPVar (0,"h"),CPVar (1,"i")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CApply (CApply (CSymbol ("Prelude","$#")) (CSymbol ("IO","prim_hWaitForInput"))) (CVar (0,"h")))) (CVar (1,"i")))] []]), CFunc ("IO","hWaitForInputs") 2 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("IO","Handle") []]) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Int") []]))) (CRules CFlex [CRule [CPVar (0,"handles"),CPVar (1,"timeout")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$##")) (CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("IO","prim_hWaitForInputs"))) (CVar (0,"handles")))) (CVar (1,"timeout")))] []]), CFunc ("IO","isEOF") 0 Public (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []]) (CRules CFlex [CRule [] [(CSymbol ("Prelude","success"),CApply (CSymbol ("IO","hIsEOF")) (CSymbol ("IO","stdin")))] []]), CFunc ("IO","openFile") 2 Public (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CFuncType (CTCons ("IO","IOMode") []) (CTCons ("Prelude","IO") [CTCons ("IO","Handle") []]))) (CRules CFlex [CRule [CPVar (0,"filename"),CPVar (1,"mode")] [(CSymbol ("Prelude","success"),CApply (CApply (CSymbol ("Prelude","$#")) (CApply (CApply (CSymbol ("Prelude","$##")) (CSymbol ("IO","prim_openFile"))) (CVar (0,"filename")))) (CVar (1,"mode")))] []]), CFunc ("IO","prim_hClose") 1 Private (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CExternal "prim_hClose"), CFunc ("IO","prim_hFlush") 1 Private (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])) (CExternal "prim_hFlush"), CFunc ("IO","prim_hGetChar") 1 Private (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Char") []])) (CExternal "prim_hGetChar"), CFunc ("IO","prim_hIsEOF") 1 Private (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []])) (CExternal "prim_hIsEOF"), CFunc ("IO","prim_hIsReadable") 1 Private (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []])) (CExternal "prim_hIsReadable"), CFunc ("IO","prim_hIsWritable") 1 Private (CFuncType (CTCons ("IO","Handle") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []])) (CExternal "prim_hIsWritable"), CFunc ("IO","prim_hPutChar") 2 Private (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTCons ("Prelude","Char") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []]))) (CExternal "prim_hPutChar"), CFunc ("IO","prim_hSeek") 3 Private (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTCons ("IO","SeekMode") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","()") []])))) (CExternal "prim_hSeek"), CFunc ("IO","prim_hWaitForInput") 2 Private (CFuncType (CTCons ("IO","Handle") []) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Bool") []]))) (CExternal "prim_hWaitForInput"), CFunc ("IO","prim_hWaitForInputs") 2 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("IO","Handle") []]) (CFuncType (CTCons ("Prelude","Int") []) (CTCons ("Prelude","IO") [CTCons ("Prelude","Int") []]))) (CExternal "prim_hWaitForInputs"), CFunc ("IO","prim_openFile") 2 Private (CFuncType (CTCons ("Prelude","[]") [CTCons ("Prelude","Char") []]) (CFuncType (CTCons ("IO","IOMode") []) (CTCons ("Prelude","IO") [CTCons ("IO","Handle") []]))) (CExternal "prim_openFile"), CFunc ("IO","stderr") 0 Public (CTCons ("IO","Handle") []) (CExternal "stderr"), CFunc ("IO","stdin") 0 Public (CTCons ("IO","Handle") []) (CExternal "stdin"), CFunc ("IO","stdout") 0 Public (CTCons ("IO","Handle") []) (CExternal "stdout")] []