Trait Calc

Source
pub trait Calc<Quotes> {
    type Result;

    // Required method
    fn calc(q: Quotes) -> Self::Result;
}
Expand description

An s-expression that can calculate a runtime value, given the provided Quotes.

Quotes should have the same structure as Self, but items

Required Associated Types§

Required Methods§

Source

fn calc(q: Quotes) -> 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.

Implementations on Foreign Types§

Source§

impl<Q> Calc<Q> for Z0
where Self: Default,

Source§

type Result = Z0

Source§

fn calc(_: Q) -> Self

Source§

impl<Q> Calc<Q> for UTerm
where Self: Default,

Source§

type Result = UTerm

Source§

fn calc(_: Q) -> Self

Source§

impl<Q> Calc<Q> for False
where Self: Default,

Source§

type Result = B0

Source§

fn calc(_: Q) -> Self

Source§

impl<Q> Calc<Q> for True
where Self: Default,

Source§

type Result = B1

Source§

fn calc(_: Q) -> Self

Source§

impl<Q, H, L> Calc<Q> for UInt<H, L>
where Self: Default,

Source§

type Result = UInt<H, L>

Source§

fn calc(_: Q) -> Self

Source§

impl<T, U> Calc<U> for PhantomData<T>

Source§

type Result = PhantomData<T>

Source§

fn calc(_: U) -> Self

Implementors§

Source§

impl<H: Calc<QH>, T, QH, QT> Calc<HCons<QH, QT>> for HCons<H, T>
where H::Result: Call, <H::Result as Call>::Conv: CalcImpl<H::Result, T, QT>,

Source§

type Result = <<<H as Calc<QH>>::Result as Call>::Conv as CalcImpl<<H as Calc<QH>>::Result, T, QT>>::Result

Source§

impl<Q> Calc<Q> for Add
where Self: Default,

Source§

impl<Q> Calc<Q> for Dec
where Self: Default,

Source§

impl<Q> Calc<Q> for Inc
where Self: Default,

Source§

impl<Q> Calc<Q> for Sub
where Self: Default,

Source§

impl<Q> Calc<Q> for All
where Self: Default,

Source§

impl<Q> Calc<Q> for Any
where Self: Default,

Source§

impl<Q> Calc<Q> for BuildList
where Self: Default,

Source§

impl<Q> Calc<Q> for Collate
where Self: Default,

Source§

impl<Q> Calc<Q> for Concat
where Self: Default,

Source§

impl<Q> Calc<Q> for Cons
where Self: Default,

Source§

impl<Q> Calc<Q> for Contains
where Self: Default,

Source§

impl<Q> Calc<Q> for DifferP
where Self: Default,

Source§

impl<Q> Calc<Q> for EmptyP
where Self: Default,

Source§

impl<Q> Calc<Q> for Filter
where Self: Default,

Source§

impl<Q> Calc<Q> for Find
where Self: Default,

Source§

impl<Q> Calc<Q> for FindPred
where Self: Default,

Source§

impl<Q> Calc<Q> for FoldL
where Self: Default,

Source§

impl<Q> Calc<Q> for FoldR
where Self: Default,

Source§

impl<Q> Calc<Q> for Head
where Self: Default,

Source§

impl<Q> Calc<Q> for Intersect
where Self: Default,

Source§

impl<Q> Calc<Q> for Map
where Self: Default,

Source§

impl<Q> Calc<Q> for MapRef
where Self: Default,

Source§

impl<Q> Calc<Q> for Missing
where Self: Default,

Source§

impl<Q> Calc<Q> for Remove
where Self: Default,

Source§

impl<Q> Calc<Q> for Rev4
where Self: Default,

Source§

impl<Q> Calc<Q> for Rev5
where Self: Default,

Source§

impl<Q> Calc<Q> for SetInsert
where Self: Default,

Source§

impl<Q> Calc<Q> for SubsetP
where Self: Default,

Source§

impl<Q> Calc<Q> for SupersetP
where Self: Default,

Source§

impl<Q> Calc<Q> for Tail
where Self: Default,

Source§

impl<Q> Calc<Q> for Union
where Self: Default,

Source§

impl<Q> Calc<Q> for Without
where Self: Default,

Source§

impl<Q> Calc<Q> for And
where Self: Default,

Source§

impl<Q> Calc<Q> for Invert
where Self: Default,

Source§

impl<Q> Calc<Q> for No
where Self: Default,

Source§

impl<Q> Calc<Q> for Not
where Self: Default,

Source§

impl<Q> Calc<Q> for Or
where Self: Default,

Source§

impl<Q> Calc<Q> for Yes
where Self: Default,

Source§

impl<Q> Calc<Q> for Unwrap
where Self: Default,

Source§

impl<Q> Calc<Q> for UnwrapRc
where Self: Default,

Source§

impl<Q> Calc<Q> for WrapRc
where Self: Default,

Source§

impl<Q> Calc<Q> for Cond
where Self: Default,

Source§

impl<Q> Calc<Q> for If
where Self: Default,

Source§

impl<Q> Calc<Q> for Is
where Self: Default,

Source§

impl<Q> Calc<Q> for IsNot
where Self: Default,

Source§

impl<Q> Calc<Q> for Partial
where Self: Default,

Source§

impl<Q> Calc<Q> for Phantom
where Self: Default,

Source§

impl<Q> Calc<Q> for tylisp::ops::Quote
where Self: Default,

Source§

impl<Q> Calc<Q> for Ret
where Self: Default,

Source§

impl<Q> Calc<Q> for HNil
where Self: Default,

Source§

impl<Q, H, T> Calc<Q> for ConcatCont<HCons<H, T>>
where Self: Default,

Source§

impl<Q, In> Calc<Q> for RevCont<In>
where Self: Default,

Source§

impl<Q, P> Calc<Q> for Inverted<P>
where Self: Default,

Source§

impl<Q, Prefix> Calc<Q> for PartialImpl<Prefix>
where Self: Default,

Source§

impl<Q, X> Calc<Q> for Prepend<X>
where Self: Default,

Source§

impl<Src: Into<Dest>, Dest> Calc<Src> for tylisp::Quote<Dest>

Source§

type Result = Dest