pandora-io-0.4.7: ...
Safe HaskellNone
LanguageHaskell2010

Pandora.IO

Synopsis

Documentation

data IO a #

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.

Instances

Instances details
Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) IO Source # 
Instance details

Defined in Pandora.IO

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> IO a #

Semimonoidal (-->) (:*:) (:*:) IO Source # 
Instance details

Defined in Pandora.IO

Methods

mult :: forall (a :: k) (b :: k). (IO a :*: IO b) --> IO (a :*: b) #

Monad ((->) :: Type -> Type -> Type) IO Source # 
Instance details

Defined in Pandora.IO

Bindable ((->) :: Type -> Type -> Type) IO Source # 
Instance details

Defined in Pandora.IO

Methods

(=<<) :: (a -> IO b) -> IO a -> IO b #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) IO Source # 
Instance details

Defined in Pandora.IO

Methods

(<$>) :: (a -> b) -> IO a -> IO b #

Orphan instances

Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) IO Source # 
Instance details

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> IO a #

Semimonoidal (-->) (:*:) (:*:) IO Source # 
Instance details

Methods

mult :: forall (a :: k) (b :: k). (IO a :*: IO b) --> IO (a :*: b) #

Monad ((->) :: Type -> Type -> Type) IO Source # 
Instance details

Bindable ((->) :: Type -> Type -> Type) IO Source # 
Instance details

Methods

(=<<) :: (a -> IO b) -> IO a -> IO b #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) IO Source # 
Instance details

Methods

(<$>) :: (a -> b) -> IO a -> IO b #