Enum moniker::Var[][src]

pub enum Var<N> {
    Free(FreeVar<N>),
    Bound(ScopeOffsetBinderIndexOption<N>),
}

A variable that can either be free or bound

Variants

A free variable

A variable that is bound by a lambda or pi binder

Methods

impl<N> Var<N>
[src]

Create a variable from a human-readable string

Trait Implementations

impl<N: PartialEq + Clone> BoundTerm<N> for Var<N>
[src]

Alpha equivalence in a term context

Returns the set of free variables in this term

impl<N: Debug> Debug for Var<N>
[src]

Formats the value using the given formatter. Read more

impl<N: Clone> Clone for Var<N>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<N> PartialEq for Var<N> where
    N: PartialEq
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<N> Eq for Var<N> where
    N: Eq
[src]

impl<N> Hash for Var<N> where
    N: Hash
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<N: Display> Display for Var<N>
[src]

Formats the value using the given formatter. Read more

impl<N> PartialEq<Binder<N>> for Var<N> where
    N: PartialEq
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<N> PartialEq<FreeVar<N>> for Var<N> where
    N: PartialEq
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<N> PartialEq<Var<N>> for Binder<N> where
    N: PartialEq
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

impl<N> Send for Var<N> where
    N: Send

impl<N> Sync for Var<N> where
    N: Sync