Mit.Monad
data Mit r x a Source #
Defined in Mit.Monad
Methods
liftIO :: IO a -> Mit r x a #
pure :: a -> Mit r x a #
(<*>) :: Mit r x (a -> b) -> Mit r x a -> Mit r x b #
liftA2 :: (a -> b -> c) -> Mit r x a -> Mit r x b -> Mit r x c #
(*>) :: Mit r x a -> Mit r x b -> Mit r x b #
(<*) :: Mit r x a -> Mit r x b -> Mit r x a #
fmap :: (a -> b) -> Mit r x a -> Mit r x b #
(<$) :: a -> Mit r x b -> Mit r x a #
(>>=) :: Mit r x a -> (a -> Mit r x b) -> Mit r x b #
(>>) :: Mit r x a -> Mit r x b -> Mit r x b #
return :: a -> Mit r x a #
runMit :: r -> Mit r a a -> IO a Source #
io :: IO a -> Mit r x a Source #
getEnv :: Mit r x r Source #
withEnv :: (r -> s) -> Mit s x a -> Mit r x a Source #
type Goto r x a = forall xx void. Label (X x a) xx => a -> Mit r xx void Source #
class Label a b Source #
bury :: X a b -> X (X c d) e
bury :: X a b -> X a b
label :: forall r x a. (Goto r x a -> Mit r (X x a) a) -> Mit r x a Source #
with :: (forall v. (a -> IO v) -> IO v) -> (a -> Mit r (X x b) b) -> Mit r x b Source #
with_ :: (forall v. IO v -> IO v) -> Mit r (X x a) a -> Mit r x a Source #
data X a b Source #