[][src]Macro monadic::stdo

macro_rules! stdo {
    (pure $e:expr                           ) => { ... };
    (let $v:ident = $e:expr ; $($rest:tt)*) => { ... };
    (_ <- $monad:expr ; $($rest:tt)* ) => { ... };
    ($v:ident <- pure $e:expr ; $($rest:tt)* ) => { ... };
    ($v:ident <- $monad:expr ; $($rest:tt)* ) => { ... };
    ($monad:expr                            ) => { ... };
}

macro for a State<'a, S, A> monad with a boxed (s -> (a, s)) function