Trait LinearApplicative

Source
pub trait LinearApplicative: Lift {
    // Required method
    fn llift2<TIn1, TIn2, TOut, TFunc>(
        f: TFunc,
        x1: <Self as WithTypeArg<TIn1>>::Type,
        x2: <Self as WithTypeArg<TIn2>>::Type,
    ) -> <Self as WithTypeArg<TOut>>::Type
       where Self: WithTypeArg<TIn1> + WithTypeArg<TIn2> + WithTypeArg<TOut>,
             TFunc: FnOnce(TIn1, TIn2) -> TOut;

    // Provided method
    fn lap<TIn, TOut, TFunc>(
        f: <Self as WithTypeArg<TFunc>>::Type,
        x: <Self as WithTypeArg<TIn>>::Type,
    ) -> <Self as WithTypeArg<TOut>>::Type
       where Self: WithTypeArg<TFunc> + WithTypeArg<TIn> + WithTypeArg<TOut>,
             TFunc: FnOnce(TIn) -> TOut { ... }
}

Required Methods§

Source

fn llift2<TIn1, TIn2, TOut, TFunc>( f: TFunc, x1: <Self as WithTypeArg<TIn1>>::Type, x2: <Self as WithTypeArg<TIn2>>::Type, ) -> <Self as WithTypeArg<TOut>>::Type
where Self: WithTypeArg<TIn1> + WithTypeArg<TIn2> + WithTypeArg<TOut>, TFunc: FnOnce(TIn1, TIn2) -> TOut,

Provided Methods§

Source

fn lap<TIn, TOut, TFunc>( f: <Self as WithTypeArg<TFunc>>::Type, x: <Self as WithTypeArg<TIn>>::Type, ) -> <Self as WithTypeArg<TOut>>::Type
where Self: WithTypeArg<TFunc> + WithTypeArg<TIn> + WithTypeArg<TOut>, TFunc: FnOnce(TIn) -> TOut,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl LinearApplicative for haskell_bits::impls::OptionTypeCon

Source§

impl<E> LinearApplicative for haskell_bits::impls::ResultTypeCon<E>