interface IO where {
{-# NEED #-}
instance Prelude.Enum DErrNo.ErrNo;
{-# NEED #-}
instance Prelude.Enum SeekMode;
{-# NEED #-}
instance Prelude.Enum IOMode;
{-# NEED #-}
instance Prelude.Bounded SeekMode;
{-# NEED #-}
instance Prelude.Bounded IOMode;
{-# NEED #-}
instance Prelude.Eq HandlePosn;
{-# NEED #-}
instance Prelude.Eq DErrNo.ErrNo;
{-# NEED #-}
instance Prelude.Eq BufferMode;
{-# NEED #-}
instance Prelude.Eq SeekMode;
{-# NEED #-}
instance Prelude.Eq IOMode;
{-# NEED #-}
instance Prelude.Eq Handle;
{-# NEED #-}
instance Prelude.Show HandlePosn;
{-# NEED #-}
instance Prelude.Show DErrNo.ErrNo;
{-# NEED #-}
instance Prelude.Show BufferMode;
{-# NEED #-}
instance Prelude.Show SeekMode;
{-# NEED #-}
instance Prelude.Show IOMode;
{-# NEED #-}
instance Prelude.Show Handle;
{-# NEED #-}
instance Prelude.Read BufferMode;
{-# NEED #-}
instance Prelude.Read SeekMode;
{-# NEED #-}
instance Prelude.Read IOMode;
{-# NEED #-}
instance Prelude.Ord BufferMode;
{-# NEED #-}
instance Prelude.Ord SeekMode;
{-# NEED #-}
instance Prelude.Ord IOMode;
{-# NEED #-}
instance Ix.Ix SeekMode;
{-# NEED #-}
instance Ix.Ix IOMode;
interface DErrNo
{-# NEED ErrNo #-}
data ErrNo;
interface Ix
{-# NEED Ix #-}
class (Prelude.Ord a) => Ix a;
interface ! Prelude
{-# NEED ioError #-}
ioError{-# 1 #-}::(Prelude.IOError -> (NHC.Internal.IO a));
{-# NEED print #-}
print{-# 1 #-}::(Prelude.Show a) => (a -> (NHC.Internal.IO ()));
{-# NEED interact #-}
interact{-# 1 #-}::((Prelude.String -> Prelude.String) -> (NHC.Internal.IO ()));
{-# NEED getContents #-}
getContents{-# 0 #-}::(NHC.Internal.IO [Prelude.Char]);
{-# NEED putStr #-}
putStr{-# 0 #-}::(Prelude.String -> (NHC.Internal.IO ()));
{-# NEED userError #-}
userError{-# 1 #-}::(Prelude.String -> Prelude.IOError);
{-# NEED putChar #-}
putChar{-# 1 #-}::(Prelude.Char -> (NHC.Internal.IO ()));
{-# NEED getChar #-}
getChar{-# 0 #-}::(NHC.Internal.IO Prelude.Char);
{-# NEED putStrLn #-}
putStrLn{-# 1 #-}::(Prelude.String -> (NHC.Internal.IO ()));
{-# NEED readLn #-}
readLn{-# 0 #-}::(Prelude.Read a) => (NHC.Internal.IO a);
{-# NEED catch #-}
catch{-# 2 #-}::((NHC.Internal.IO a) -> ((Prelude.IOError -> (NHC.Internal.IO a)) -> (NHC.Internal.IO a)));
{-# NEED getLine #-}
getLine{-# 0 #-}::(NHC.Internal.IO Prelude.String);
{-# NEED writeFile #-}
writeFile{-# 2 #-}::(Prelude.FilePath -> (Prelude.String -> (NHC.Internal.IO ())));
{-# NEED appendFile #-}
appendFile{-# 2 #-}::(Prelude.FilePath -> (Prelude.String -> (NHC.Internal.IO ())));
{-# NEED readFile #-}
readFile{-# 1 #-}::(Prelude.FilePath -> (NHC.Internal.IO Prelude.String));
{-# NEED readIO #-}
readIO{-# 1 #-}::(Prelude.Read a) => (Prelude.String -> (NHC.Internal.IO a));
interface ! IO
{-# NEED try #-}
try{-# 1 #-}::((NHC.Internal.IO a) -> (NHC.Internal.IO (Prelude.Either Prelude.IOError a)));
{-# NEED hPrint #-}
hPrint{-# 2 #-}::(Prelude.Show a) => (Handle -> (a -> (NHC.Internal.IO ())));
{-# NEED openSocket #-}
openSocket{-# 3 #-}::(Prelude.String -> (Prelude.Int -> (SocketType -> (NHC.Internal.IO Handle))));
{-# NEED {SocketType SocketStream SocketDatagram SocketRaw} #-}
data SocketType
= SocketStream
| SocketDatagram
| SocketRaw ;
{-# NEED bracket #-}
bracket{-# 3 #-}::((NHC.Internal.IO a) -> ((a -> (NHC.Internal.IO b)) -> ((a -> (NHC.Internal.IO c)) -> (NHC.Internal.IO c))));
{-# NEED hWaitForInput #-}
hWaitForInput{-# 2 #-}::(Handle -> (Prelude.Int -> (NHC.Internal.IO Prelude.Bool)));
{-# NEED hReady #-}
hReady{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Bool));
{-# NEED hLookAhead #-}
hLookAhead{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Char));
{-# NEED hIsOpen #-}
hIsOpen{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Bool));
{-# NEED hIsClosed #-}
hIsClosed{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Bool));
{-# NEED hIsReadable #-}
hIsReadable{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Bool));
{-# NEED hIsWritable #-}
hIsWritable{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Bool));
{-# NEED hIsSeekable #-}
hIsSeekable{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Bool));
{-# NEED hGetContents #-}
hGetContents{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.String));
{-# NEED isAlreadyExistsError #-}
isAlreadyExistsError{-# 1 #-}::(Prelude.IOError -> Prelude.Bool);
{-# NEED isDoesNotExistError #-}
isDoesNotExistError{-# 1 #-}::(Prelude.IOError -> Prelude.Bool);
{-# NEED isAlreadyInUseError #-}
isAlreadyInUseError{-# 1 #-}::(Prelude.IOError -> Prelude.Bool);
{-# NEED isFullError #-}
isFullError{-# 1 #-}::(Prelude.IOError -> Prelude.Bool);
{-# NEED isIllegalOperation #-}
isIllegalOperation{-# 1 #-}::(Prelude.IOError -> Prelude.Bool);
{-# NEED isPermissionError #-}
isPermissionError{-# 1 #-}::(Prelude.IOError -> Prelude.Bool);
{-# NEED hPutStr #-}
hPutStr{-# 2 #-}::(Handle -> (Prelude.String -> (NHC.Internal.IO ())));
{-# NEED isUserError #-}
isUserError{-# 1 #-}::(Prelude.IOError -> Prelude.Bool);
{-# NEED isEOFError #-}
isEOFError{-# 1 #-}::(Prelude.IOError -> Prelude.Bool);
{-# NEED hPutChar #-}
hPutChar{-# 2 #-}::(Handle -> (Prelude.Char -> (NHC.Internal.IO ())));
{-# NEED hGetChar #-}
hGetChar{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Char));
{-# NEED hSetPosn #-}
hSetPosn{-# 1 #-}::(HandlePosn -> (NHC.Internal.IO ()));
{-# NEED hGetPosn #-}
hGetPosn{-# 1 #-}::(Handle -> (NHC.Internal.IO HandlePosn));
{-# NEED HandlePosn #-}
data HandlePosn;
{-# NEED stderr #-}
stderr{-# 0 #-}::Handle;
{-# NEED stdin #-}
stdin{-# 0 #-}::Handle;
{-# NEED stdout #-}
stdout{-# 0 #-}::Handle;
{-# NEED hPutStrLn #-}
hPutStrLn{-# 2 #-}::(Handle -> (Prelude.String -> (NHC.Internal.IO ())));
{-# NEED hSeek #-}
hSeek{-# 3 #-}::(Handle -> (SeekMode -> (Prelude.Integer -> (NHC.Internal.IO ()))));
{-# NEED hFlush #-}
hFlush{-# 1 #-}::(Handle -> (NHC.Internal.IO ()));
{-# NEED ioeGetErrorString #-}
ioeGetErrorString{-# 1 #-}::(Prelude.IOError -> Prelude.String);
{-# NEED hSetBuffering #-}
hSetBuffering{-# 2 #-}::(Handle -> (BufferMode -> (NHC.Internal.IO ())));
{-# NEED hGetBuffering #-}
hGetBuffering{-# 0 #-}::(Handle -> (NHC.Internal.IO BufferMode));
{-# NEED hFileSize #-}
hFileSize{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Integer));
{-# NEED hClose #-}
hClose{-# 1 #-}::(Handle -> (NHC.Internal.IO ()));
{-# NEED hGetLine #-}
hGetLine{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.String));
{-# NEED hGetFileName #-}
hGetFileName{-# 1 #-}::(Handle -> (Prelude.Maybe Prelude.String));
{-# NEED ioeGetFileName #-}
ioeGetFileName{-# 1 #-}::(Prelude.IOError -> (Prelude.Maybe Prelude.FilePath));
{-# NEED openFile #-}
openFile{-# 2 #-}::(Prelude.FilePath -> (IOMode -> (NHC.Internal.IO Handle)));
interface ! Prelude
{-# NEED FilePath #-}
type {-# 2 #-} FilePath = String;
interface ! IO
{-# NEED ioeGetHandle #-}
ioeGetHandle{-# 1 #-}::(Prelude.IOError -> (Prelude.Maybe Handle));
interface ! Prelude
{-# NEED IOError #-}
data IOError;
interface ! IO
{-# NEED {BufferMode NoBuffering LineBuffering BlockBuffering} #-}
data BufferMode
= NoBuffering
| LineBuffering
| BlockBuffering (Prelude.Maybe Prelude.Int);
{-# NEED {SeekMode AbsoluteSeek RelativeSeek SeekFromEnd} #-}
data SeekMode
= AbsoluteSeek
| RelativeSeek
| SeekFromEnd ;
{-# NEED {IOMode ReadMode WriteMode AppendMode ReadWriteMode} #-}
data IOMode
= ReadMode
| WriteMode
| AppendMode
| ReadWriteMode ;
{-# NEED bracket_ #-}
bracket_{-# 3 #-}::((NHC.Internal.IO a) -> ((a -> (NHC.Internal.IO b)) -> ((NHC.Internal.IO c) -> (NHC.Internal.IO c))));
{-# NEED hIsEOF #-}
hIsEOF{-# 1 #-}::(Handle -> (NHC.Internal.IO Prelude.Bool));
{-# NEED Handle #-}
newtype {-# #-} Handle;
{-# NEED isEOF #-}
isEOF{-# 0 #-}::(NHC.Internal.IO Prelude.Bool);
interface ! NHC.Internal
{-# NEED IO #-}
newtype {-# #-} IO a;
}
|