IO is:exact package:base set:included-with-ghc
A value of type
IO a is a computation which, when
performed, does some I/O before returning a value of type
a.
There is really only one way to "perform" an I/O action: bind it to
Main.main in your program. When your program is run, the I/O
will be performed. It isn't possible to perform I/O from an arbitrary
function, unless that function is itself in the
IO monad and
called at some point, directly or indirectly, from
Main.main.
IO is a monad, so
IO actions can be combined using
either the do-notation or the
>> and
>>=
operations from the
Monad class.
A value of type
IO a is a computation which, when
performed, does some I/O before returning a value of type
a.
There is really only one way to "perform" an I/O action: bind it to
Main.main in your program. When your program is run, the I/O
will be performed. It isn't possible to perform I/O from an arbitrary
function, unless that function is itself in the
IO monad and
called at some point, directly or indirectly, from
Main.main.
IO is a monad, so
IO actions can be combined using
either the do-notation or the
>> and
>>=
operations from the
Monad class.
Basic concurrency stuff.
The API of this module is unstable and not meant to be consumed by
the general public. If you absolutely must depend on it, make sure
to use a tight upper bound, e.g., base < 4.X rather than
base < 5, because the interface can change rapidly without
much warning.
Definitions for the
IO monad and its friends.
The API of this module is unstable and not meant to be consumed by
the general public. If you absolutely must depend on it, make sure
to use a tight upper bound, e.g.,
base < 4.X rather than
base < 5, because the interface can change rapidly without
much warning.