-- 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