Struct tylisp::ops::Cond[][src]

pub struct Cond;
Expand description

TyLisp operator for complex conditionals

Takes any number of arguments of the form {Condition, Consequent} Evaluates to the Consequent corresponding to the first True condition.

The expression is invalid if any Condition preceeding the selected one evaluates to anything other than False or if the selected Consequent is invalid.

If all conditions evaluate to False, the expression is valid but evaluates to a private type.

Trait Implementations

impl<Q> Calc<Q> for Cond where
    Self: Default
[src]

type Result = Self

fn calc(_: Q) -> Self[src]

impl Call for Cond[src]

type Conv = Syntax

Which calling convention is expected? Read more

impl Debug for Cond[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Default for Cond[src]

fn default() -> Cond[src]

Returns the “default value” for a type. Read more

impl Eval for Cond[src]

type Result = Self

impl LispId for Cond[src]

type Id = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B1>, B0>, B1>, B0>, B1>, B1>, B1>, B1>, B1>, B0>, B0>, B1>, B1>, B0>, B1>, B1>, B0>, B0>, B0>, B1>, B1>, B0>, B0>, B1>, B1>, B0>, B1>, B0>, B0>, B0>, B0>, B1>, B0>, B1>, B1>, B1>, B1>, B1>, B0>, B1>, B0>, B1>, B1>, B0>, B1>, B0>, B1>, B0>, B0>, B1>, B1>, B0>, B1>, B0>, B0>, B1>, B1>, B0>, B0>, B1>, B1>, B1>, B0>, B1>, B0>, B1>, B1>, B0>, B1>, B1>, B0>, B0>, B1>, B0>, B0>, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B1>, B1>, B0>, B0>, B0>, B1>, B0>, B1>, B1>, B0>, B1>, B0>, B0>, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B1>, B0>, B1>, B0>, B0>, B0>, B1>, B1>, B0>, B0>, B1>, B0>, B0>, B1>, B1>, B0>, B1>, B0>, B0>, B0>, B0>, B1>, B1>

impl<Test, Res, Else, QTest, QRes, QElse> SynCalc<HCons<HCons<Test, HCons<Res, HNil>>, Else>, HCons<HCons<QTest, HCons<QRes, HNil>>, QElse>> for Cond where
    HCons<If, HCons<Test, HCons<Res, HCons<HCons<Cond, Else>, HNil>>>>: Calc<HCons<If, HCons<QTest, HCons<QRes, HCons<HCons<Cond, QElse>, HNil>>>>>, 
[src]

type Result = <HCons<If, HCons<Test, HCons<Res, HCons<HCons<Cond, Else>, HNil>>>> as Calc<HCons<If, HCons<QTest, HCons<QRes, HCons<HCons<Cond, QElse>, HNil>>>>>>::Result

fn syn_calc(
    self,
    _: HCons<HCons<QTest, HCons<QRes, HNil>>, QElse>
) -> Self::Result
[src]

impl<Test, Res, Else> SynCall<HCons<HCons<Test, HCons<Res, HNil>>, Else>> for Cond where
    HCons<If, HCons<Test, HCons<Res, HCons<HCons<Cond, Else>, HNil>>>>: Eval
[src]

type Result = <HCons<If, HCons<Test, HCons<Res, HCons<HCons<Cond, Else>, HNil>>>> as Eval>::Result

impl SynCall<HNil> for Cond where
    HCons<Ret, HCons<CondNoMatch, HNil>>: Eval
[src]

type Result = <HCons<Ret, HCons<CondNoMatch, HNil>> as Eval>::Result

Auto Trait Implementations

impl RefUnwindSafe for Cond

impl Send for Cond

impl Sync for Cond

impl Unpin for Cond

impl UnwindSafe for Cond

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> Everything for T where
    T: ?Sized
[src]