Trait Function

Source
pub trait Function<Input> {
    type Output;
}

Required Associated Types§

Implementors§

Source§

impl<A> Function<A> for Compose

Source§

type Output = Compose__A<A>

Source§

impl<F, G, Input> Function<Input> for Composed<F, G>
where G: Function<Input>, F: Function<<G as Function<Input>>::Output>,

Source§

type Output = <F as Function<<G as Function<Input>>::Output>>::Output

Source§

impl<Fn> Function<Fn> for Apply

Source§

type Output = Apply__Fn<Fn>

Source§

impl<Fn> Function<Fn> for Curry

Source§

type Output = Curry__Fn<Fn>

Source§

impl<Fn, X, Y> Function<Y> for Curried<Fn, X>
where Fn: Function<X>, <Fn as Function<X>>::Output: Function<Y>,

Source§

type Output = <<Fn as Function<X>>::Output as Function<Y>>::Output

Source§

impl<I, _Ignored> Function<_Ignored> for Constant<I>

Source§

impl<Input> Function<Input> for FirstOf

Source§

type Output = Constant<Input>

Source§

impl<Input> Function<Input> for Identity

Source§

type Output = Input

Source§

impl<Lhs> Function<Lhs> for And

Source§

type Output = And__Lhs<Lhs>

Source§

impl<Lhs> Function<Lhs> for Or

Source§

type Output = Or__Lhs<Lhs>

Source§

impl<Lhs> Function<Lhs> for Xor

Source§

type Output = Xor__Lhs<Lhs>

Source§

impl<M> Function<M> for Add

Source§

type Output = Add__M<M>

Source§

impl<M> Function<M> for Eq

Source§

type Output = Eq__M<M>

Source§

impl<M> Function<M> for Exponent

Source§

type Output = Exponent__M<M>

Source§

impl<M> Function<M> for Leq

Source§

type Output = Leq__M<M>

Source§

impl<M> Function<M> for Subtract

Source§

type Output = Subtract__M<M>

Source§

impl<N> Function<N> for IsZero

Source§

impl<N> Function<N> for Predecessor

Source§

type Output = Predecessor__N<N>

Source§

impl<N> Function<N> for Successor

Source§

type Output = Successor__N<N>

Source§

impl<N> Function<N> for ToNumber

Source§

impl<P> Function<P> for First
where P: Function<True>,

Source§

impl<P> Function<P> for Null

Source§

impl<P> Function<P> for Second
where P: Function<False>,

Source§

impl<Predicate> Function<Predicate> for If

Source§

type Output = If__Predicate<Predicate>

Source§

impl<Value> Function<Value> for Not
where Value: Function<False>, <Value as Function<False>>::Output: Function<True>,

Source§

impl<X> Function<X> for Pair

Source§

type Output = Pair__X<X>

Source§

impl<X> Function<X> for Multiply

Source§

type Output = Multiply__X<X>

Source§

impl<X> Function<X> for Sheinfinkel

Source§

type Output = Sheinfinkel__X<X>

Source§

impl<_Ignored> Function<_Ignored> for SecondOf

Source§

impl<const N: u64> Function<ConstNumber<N>> for ConstIncrement
where ConstNumber<{ _ }>: Sized,

Source§

type Output = ConstNumber<{ N + 1 }>