Trait FunCalc

Source
pub trait FunCalc<Args>: Sized {
    type Result;

    // Required method
    fn calc(self, args: Args) -> Self::Result;
}

Required Associated Types§

Required Methods§

Source

fn calc(self, args: Args) -> Self::Result

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 FunCalc<HCons<B0, HNil>> for Not

Source§

impl FunCalc<HCons<B1, HNil>> for Not

Source§

impl<'a, Func, L: List> FunCalc<HCons<Func, HCons<&'a L, HNil>>> for MapRef

Source§

type Result = <HCons<If, HCons<HCons<EmptyP, HCons<Quote<L>, HNil>>, HCons<HNil, HCons<HCons<Cons, HCons<HCons<Func, HCons<Quote<&'a <L as List>::Head>, HNil>>, HCons<HCons<MapRef, HCons<Func, HCons<Quote<&'a <L as List>::Tail>, HNil>>>, HNil>>>, HNil>>>> as Calc<HCons<(), HCons<HCons<(), HCons<(), HNil>>, HCons<(), HCons<HCons<(), HCons<HCons<(), HCons<&'a <L as List>::Head, HNil>>, HCons<HCons<(), HCons<(), HCons<&'a <L as List>::Tail, HNil>>>, HNil>>>, HNil>>>>>>::Result

Source§

impl<A, B> FunCalc<HCons<PhantomData<A>, HCons<B, HNil>>> for Intersect

Source§

impl<A, B> FunCalc<HCons<PhantomData<A>, HCons<B, HNil>>> for Remove

Source§

impl<A: List, B: List> FunCalc<HCons<A, HCons<B, HNil>>> for Concat

Source§

impl<A: List, B: List> FunCalc<HCons<A, HCons<B, HNil>>> for Union

Source§

impl<Args: List> FunCalc<Args> for BuildList
where HCons<Ret, HCons<Quote<Args>, HNil>>: Calc<HCons<(), HCons<Args, HNil>>>,

Source§

type Result = <HCons<Ret, HCons<Quote<Args>, HNil>> as Calc<HCons<(), HCons<Args, HNil>>>>::Result

Source§

impl<Func, Acc, L: List> FunCalc<HCons<Func, HCons<Acc, HCons<L, HNil>>>> for FoldL

Source§

impl<Func, L: List> FunCalc<HCons<Func, HCons<L, HNil>>> for Filter

Source§

impl<Func, L: List> FunCalc<HCons<Func, HCons<L, HNil>>> for Map

Source§

impl<Func, L: List, Init> FunCalc<HCons<Func, HCons<L, HCons<Init, HNil>>>> for FoldR

Source§

impl<H, T> FunCalc<HCons<H, HCons<T, HNil>>> for Cons
where HCons<Ret, HCons<Quote<HCons<H, T>>, HNil>>: Calc<HCons<(), HCons<HCons<H, T>, HNil>>>,

Source§

type Result = <HCons<Ret, HCons<Quote<HCons<H, T>>, HNil>> as Calc<HCons<(), HCons<HCons<H, T>, HNil>>>>::Result

Source§

impl<H, T, Accum> FunCalc<HCons<Accum, HNil>> for ConcatCont<HCons<H, T>>
where HCons<Cons, HCons<Quote<H>, HCons<HCons<Concat, HCons<Quote<T>, HCons<Quote<Accum>, HNil>>>, HNil>>>: Calc<HCons<(), HCons<H, HCons<HCons<(), HCons<T, HCons<Accum, HNil>>>, HNil>>>>,

Source§

type Result = <HCons<Cons, HCons<Quote<H>, HCons<HCons<Concat, HCons<Quote<T>, HCons<Quote<Accum>, HNil>>>, HNil>>> as Calc<HCons<(), HCons<H, HCons<HCons<(), HCons<T, HCons<Accum, HNil>>>, HNil>>>>>::Result

Source§

impl<In: List, Out> FunCalc<HCons<Out, HNil>> for RevCont<In>
where HCons<Rev5, HCons<Quote<In::Tail>, HCons<HCons<Cons, HCons<Quote<In::Head>, HCons<Quote<Out>, HNil>>>, HNil>>>: Calc<HCons<(), HCons<In::Tail, HCons<HCons<(), HCons<In::Head, HCons<Out, HNil>>>, HNil>>>>,

Source§

type Result = <HCons<Rev5, HCons<Quote<<In as List>::Tail>, HCons<HCons<Cons, HCons<Quote<<In as List>::Head>, HCons<Quote<Out>, HNil>>>, HNil>>> as Calc<HCons<(), HCons<<In as List>::Tail, HCons<HCons<(), HCons<<In as List>::Head, HCons<Out, HNil>>>, HNil>>>>>::Result

Source§

impl<L: List> FunCalc<HCons<L, HNil>> for EmptyP

Source§

impl<L: List> FunCalc<HCons<L, HNil>> for Head
where HCons<Ret, HCons<Quote<L::Head>, HNil>>: Calc<HCons<(), HCons<L::Head, HNil>>>,

Source§

type Result = <HCons<Ret, HCons<Quote<<L as List>::Head>, HNil>> as Calc<HCons<(), HCons<<L as List>::Head, HNil>>>>::Result

Source§

impl<L: List> FunCalc<HCons<L, HNil>> for Rev4

Source§

impl<L: List> FunCalc<HCons<L, HNil>> for Rev5

Source§

impl<L: List> FunCalc<HCons<L, HNil>> for Tail
where HCons<Ret, HCons<Quote<L::Tail>, HNil>>: Calc<HCons<(), HCons<L::Tail, HNil>>>,

Source§

type Result = <HCons<Ret, HCons<Quote<<L as List>::Tail>, HNil>> as Calc<HCons<(), HCons<<L as List>::Tail, HNil>>>>::Result

Source§

impl<L: List, Needle: LispId> FunCalc<HCons<Needle, HCons<L, HNil>>> for Without

Source§

impl<L: Add<R>, R> FunCalc<HCons<L, HCons<R, HNil>>> for Add

Source§

type Result = <HCons<Ret, HCons<Quote<<L as Add<R>>::Output>, HNil>> as Calc<HCons<(), HCons<<L as Add<R>>::Output, HNil>>>>::Result

Source§

impl<L: Sub<R>, R> FunCalc<HCons<L, HCons<R, HNil>>> for Sub

Source§

type Result = <HCons<Ret, HCons<Quote<<L as Sub<R>>::Output>, HNil>> as Calc<HCons<(), HCons<<L as Sub<R>>::Output, HNil>>>>::Result

Source§

impl<Needle> FunCalc<HCons<Needle, HCons<HNil, HNil>>> for Find

Source§

impl<Needle, H, T> FunCalc<HCons<Needle, HCons<HCons<H, T>, HNil>>> for Find
where HCons<If, HCons<HCons<Is, HCons<Needle, HCons<Quote<H>, HNil>>>, HCons<Here, HCons<HCons<WrapMissing, HCons<HCons<Find, HCons<Needle, HCons<Quote<T>, HNil>>>, HNil>>, HNil>>>>: Calc<HCons<(), HCons<HCons<(), HCons<(), HCons<(), HNil>>>, HCons<(), HCons<HCons<(), HCons<HCons<(), HCons<(), HCons<(), HNil>>>, HNil>>, HNil>>>>>,

Source§

impl<Old: List, New: List> FunCalc<HCons<Old, HCons<New, HNil>>> for Rev4

Source§

impl<Old: List, New: List> FunCalc<HCons<Old, HCons<New, HNil>>> for Rev5

Source§

impl<T> FunCalc<HCons<Option<T>, HNil>> for Unwrap
where HCons<Ret, HCons<Quote<T>, HNil>>: Calc<HCons<(), HCons<T, HNil>>>,

Source§

impl<T> FunCalc<HCons<Rc<T>, HNil>> for UnwrapRc
where HCons<Ret, HCons<Quote<T>, HNil>>: Calc<HCons<(), HCons<T, HNil>>>,

Source§

impl<T> FunCalc<HCons<T, HNil>> for WrapRc
where HCons<Ret, HCons<Quote<Rc<T>>, HNil>>: Calc<HCons<(), HCons<Rc<T>, HNil>>>,

Source§

impl<T> FunCalc<T> for Is
where Is: FunCall<T>, <Is as FunCall<T>>::Result: Default,

Source§

impl<T, U> FunCalc<HCons<T, U>> for Ret

Source§

impl<Test, L: CollatedBy<Test>> FunCalc<HCons<Test, HCons<L, HNil>>> for Collate

Source§

type Result = <HCons<BuildList, HCons<Quote<<L as CollatedBy<Test>>::Passed>, HCons<Quote<<L as CollatedBy<Test>>::Failed>, HNil>>> as Calc<HCons<(), HCons<<L as CollatedBy<Test>>::Passed, HCons<<L as CollatedBy<Test>>::Failed, HNil>>>>>::Result

Source§

impl<X, Tail> FunCalc<HCons<Tail, HNil>> for Prepend<X>
where HCons<Cons, HCons<Quote<X>, HCons<Quote<Tail>, HNil>>>: Calc<HCons<(), HCons<X, HCons<Tail, HNil>>>>,

Source§

type Result = <HCons<Cons, HCons<Quote<X>, HCons<Quote<Tail>, HNil>>> as Calc<HCons<(), HCons<X, HCons<Tail, HNil>>>>>::Result

Source§

impl<X: LispId, L: List> FunCalc<HCons<X, HCons<L, HNil>>> for SetInsert