[][src]Macro monadic::stt_mdo

macro_rules! stt_mdo {
    (pure $e:expr) => { ... };
    (lift $nested_monad:expr) => { ... };
    (guard $boolean:expr ; $($rest:tt)*) => { ... };
    (_ <- $monad:expr ; $($rest:tt)* ) => { ... };
    ($v:ident <- lift_iter $it:expr ; $($rest:tt)* ) => { ... };
    (& $v:ident <- lift $nested_monad:expr ; $($rest:tt)* ) => { ... };
    ($v:ident <- lift $nested_monad:expr ; $($rest:tt)* ) => { ... };
    (let $v:ident = $e:expr ; $($rest:tt)* ) => { ... };
    ($v:ident <- $monad:expr ; $($rest:tt)* ) => { ... };
    ($monad:expr                            ) => { ... };
}

macro for a StateT<'a, S, M, A> monad transformer with a boxed (a -> m (a, s)) where M: Monad; It uses the type alias St in type annotations.