pub trait FunctorContextExt<'a>: FunctorContext<'a> {
    // Provided methods
    fn fmap<A: 'a + Send, B: 'a + Send>(
        fa: WrapC<'a, A, Self>,
        f: impl 'a + Send + FnOnce(A) -> B
    ) -> WrapC<'a, B, Self>
       where Self::T: Functor<'a> { ... }
    fn pure<A: 'a + Send>(a: A) -> WrapC<'a, A, Self>
       where Self::T: Pure<'a> { ... }
    fn bind<A: 'a + Send, B: 'a + Send>(
        fa: WrapC<'a, A, Self>,
        f: impl 'a + Send + FnOnce(A) -> WrapC<'a, B, Self>
    ) -> WrapC<'a, B, Self>
       where Self::T: Monad<'a> { ... }
    fn fail<A: 'a + Send, E: 'a + Send>(e: E) -> WrapC<'a, A, Self>
       where Self::T: Fail<'a, E> { ... }
}

Provided Methods§

source

fn fmap<A: 'a + Send, B: 'a + Send>( fa: WrapC<'a, A, Self>, f: impl 'a + Send + FnOnce(A) -> B ) -> WrapC<'a, B, Self>where Self::T: Functor<'a>,

source

fn pure<A: 'a + Send>(a: A) -> WrapC<'a, A, Self>where Self::T: Pure<'a>,

source

fn bind<A: 'a + Send, B: 'a + Send>( fa: WrapC<'a, A, Self>, f: impl 'a + Send + FnOnce(A) -> WrapC<'a, B, Self> ) -> WrapC<'a, B, Self>where Self::T: Monad<'a>,

source

fn fail<A: 'a + Send, E: 'a + Send>(e: E) -> WrapC<'a, A, Self>where Self::T: Fail<'a, E>,

Implementors§

source§

impl<'a, Ctx: FunctorContext<'a>> FunctorContextExt<'a> for Ctx