Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data IO a
- module Pandora.IO.Bytes
- module Pandora.IO.ASCII
Documentation
A value of type
is a computation which, when performed,
does some I/O before returning a value of type IO
aa
.
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.
Instances
Monoidal (-->) (-->) (:*:) (:*:) IO Source # | |
Semimonoidal (-->) (:*:) (:*:) IO Source # | |
Monad ((->) :: Type -> Type -> Type) IO Source # | |
Defined in Pandora.IO | |
Bindable ((->) :: Type -> Type -> Type) IO Source # | |
Defined in Pandora.IO | |
Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) IO Source # | |
Defined in Pandora.IO (<-|-) :: (a -> b) -> IO a -> IO b # (<-|--) :: (a -> b) -> IO a -> IO b # (<-|---) :: (a -> b) -> IO a -> IO b # (<-|----) :: (a -> b) -> IO a -> IO b # (<-|-----) :: (a -> b) -> IO a -> IO b # (<-|------) :: (a -> b) -> IO a -> IO b # (<-|-------) :: (a -> b) -> IO a -> IO b # (<-|--------) :: (a -> b) -> IO a -> IO b # (<-|-|-) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|--) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|---) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|----) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|-----) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|------) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|-------) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|-|-) :: (Covariant (->) (Betwixt (->) (Betwixt (->) (->))) v, Covariant (Betwixt (->) (Betwixt (->) (->))) (Betwixt (Betwixt (->) (->)) (->)) u, Covariant (Betwixt (Betwixt (->) (->)) (->)) (->) IO) => (a -> b) -> IO (u (v a)) -> IO (u (v b)) # |
module Pandora.IO.Bytes
module Pandora.IO.ASCII
Orphan instances
Monoidal (-->) (-->) (:*:) (:*:) IO Source # | |
Semimonoidal (-->) (:*:) (:*:) IO Source # | |
Monad ((->) :: Type -> Type -> Type) IO Source # | |
Bindable ((->) :: Type -> Type -> Type) IO Source # | |
Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) IO Source # | |
(<-|-) :: (a -> b) -> IO a -> IO b # (<-|--) :: (a -> b) -> IO a -> IO b # (<-|---) :: (a -> b) -> IO a -> IO b # (<-|----) :: (a -> b) -> IO a -> IO b # (<-|-----) :: (a -> b) -> IO a -> IO b # (<-|------) :: (a -> b) -> IO a -> IO b # (<-|-------) :: (a -> b) -> IO a -> IO b # (<-|--------) :: (a -> b) -> IO a -> IO b # (<-|-|-) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|--) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|---) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|----) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|-----) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|------) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|-------) :: (Covariant (->) (Betwixt (->) (->)) u, Covariant (Betwixt (->) (->)) (->) IO) => (a -> b) -> IO (u a) -> IO (u b) # (<-|-|-|-) :: (Covariant (->) (Betwixt (->) (Betwixt (->) (->))) v, Covariant (Betwixt (->) (Betwixt (->) (->))) (Betwixt (Betwixt (->) (->)) (->)) u, Covariant (Betwixt (Betwixt (->) (->)) (->)) (->) IO) => (a -> b) -> IO (u (v a)) -> IO (u (v b)) # |