Enum fungi_lang::ast::NameTm [−][src]
pub enum NameTm { Var(Var), Ident(Ident), ValVar(Var), Name(Name), Bin(NameTmRec, NameTmRec), Lam(Var, Sort, NameTmRec), App(NameTmRec, NameTmRec), WriteScope, NoParse(String), }
Name Terms
Variants
Var(Var)
Name-term level variable x
, of some sort g
:
Γ(x) = g
----------- :: Var
Γ ⊢ x : g
Ident(Ident)
Γ(x) = (Γ', i)
Γ' ⊢ i : g
----------------- :: Ident (contextual definition)
Γ ⊢ i : g
ValVar(Var)
Injected value-level variable x
, of type Nm[i]
, for some name set i
:
Γ(x) = Nm[i]
-------------- :: ValVar
Γ ⊢ ~x : Nm
Name(Name)
------------ :: Name
Γ ⊢ n : Nm
Bin(NameTmRec, NameTmRec)
Γ ⊢ N : Nm
Γ ⊢ M : Nm
--------------- :: Bin
Γ ⊢ N * M : Nm
Lam(Var, Sort, NameTmRec)
Γ, x:g1 ⊢ M : g2
------------------------- :: Lam
Γ ⊢ #x:g1. M : g1 -> g2
App(NameTmRec, NameTmRec)
Γ ⊢ M : g1 -> g2
Γ ⊢ N : g1
------------------ :: App
Γ ⊢ [M] N : g2
WriteScope
@@ : Nm -> Nm
This is the initial/default/neutral/ambient write scope. All other write scopes are functions that compose with this one (where this function is always the "last" function in the composition).
NoParse(String)
Trait Implementations
impl Display for NameTm
[src]
impl Display for NameTm
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Clone for NameTm
[src]
impl Clone for NameTm
fn clone(&self) -> NameTm
[src]
fn clone(&self) -> NameTm
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for NameTm
[src]
impl Debug for NameTm
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Eq for NameTm
[src]
impl Eq for NameTm
impl PartialEq for NameTm
[src]
impl PartialEq for NameTm
fn eq(&self, other: &NameTm) -> bool
[src]
fn eq(&self, other: &NameTm) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &NameTm) -> bool
[src]
fn ne(&self, other: &NameTm) -> bool
This method tests for !=
.
impl Hash for NameTm
[src]
impl Hash for NameTm
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl PartialOrd for NameTm
[src]
impl PartialOrd for NameTm
fn partial_cmp(&self, other: &NameTm) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &NameTm) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &NameTm) -> bool
[src]
fn lt(&self, other: &NameTm) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &NameTm) -> bool
[src]
fn le(&self, other: &NameTm) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &NameTm) -> bool
[src]
fn gt(&self, other: &NameTm) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &NameTm) -> bool
[src]
fn ge(&self, other: &NameTm) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for NameTm
[src]
impl Ord for NameTm
fn cmp(&self, other: &NameTm) -> Ordering
[src]
fn cmp(&self, other: &NameTm) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more