-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A monad that uses GADTs and continuations to replicate what it is like
-- to program in an imperative language like C or Java with
-- return, for, break, continue, and mutable
-- references.
@package ImperativeHaskell
@version 0.1.0.0
module Control.Monad.Imperative.ImperativeMonad
modifyOp :: (a -> b -> a) -> V Var r a -> V k r b -> MIO r ()
if' :: V b r Bool -> MIO r () -> MIO r ()
for :: (MIO r irr1, V b r Bool, MIO r irr2) -> MIO r () -> MIO r ()
break :: MIO a ()
continue :: MIO a ()
returnV :: V a1 a a -> ReaderT (Control a) (ContT a IO) ()
function :: MIO a a -> MIO b a
auto :: a -> MIO r (V Var r a)
runImperative :: MIO a a -> IO a
liftOp2 :: (t -> t' -> a) -> V b r t -> V b' r t' -> V Comp r a
prim :: a -> V Val r a
returnF :: V a b b -> MIO b b
(=:) :: V Var r a -> V b r a -> MIO r ()
(&) :: V Var r a -> V Var s a
module Control.Monad.Imperative.ImperativeOperators
(+=:) :: Num b => V Var r b -> V k r b -> MIO r ()
(*=:) :: Num b => V Var r b -> V k r b -> MIO r ()
(-=:) :: Num b => V Var r b -> V k r b -> MIO r ()
(%=:) :: Integral b => V Var r b -> V k r b -> MIO r ()
(<.) :: Ord t' => V b r t' -> V b' r t' -> V Comp r Bool
(>.) :: Ord t' => V b r t' -> V b' r t' -> V Comp r Bool
(+.) :: Num a => V b r a -> V b' r a -> V Comp r a
(*.) :: Num a => V b r a -> V b' r a -> V Comp r a
module Control.Monad.Imperative