Enum fungi_lang::ast::IdxTm [] [src]

pub enum IdxTm {
    Var(Var),
    Sing(NameTm),
    Empty,
    Apart(IdxTmRecIdxTmRec),
    Union(IdxTmRecIdxTmRec),
    Unit,
    Bin(IdxTmRecIdxTmRec),
    Pair(IdxTmRecIdxTmRec),
    Proj1(IdxTmRec),
    Proj2(IdxTmRec),
    Lam(VarSortIdxTmRec),
    App(IdxTmRecIdxTmRec),
    Map(NameTmRecIdxTmRec),
    FlatMap(IdxTmRecIdxTmRec),
    Star(IdxTmRecIdxTmRec),
    NoParse(String),
}

Index terms

Variants

All binary combinations of two name sets.

This is a common special case of curried nameset mapping:

( i ,, j ) := (#a:Nm. ((#b:Nm. a,,b) j)) i

Since this double-mapping pattern is very common, we introduce a special AST node for it.

Bin Sorting rule:

Gamma |- i : NmSet
Gamma |- j : NmSet
---------------------------- :: Bin
Gamma |- ( i ,, j ) : NmSet

Pair Sorting rule:

Gamma |- i : g1
Gamma |- j : g2
----------------------------- :: Pair
Gamma |- ( i , j ) : g1 x g2

Trait Implementations

impl Clone for IdxTm
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for IdxTm
[src]

[src]

Formats the value using the given formatter.

impl Eq for IdxTm
[src]

impl PartialEq for IdxTm
[src]

[src]

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

[src]

This method tests for !=.

impl Hash for IdxTm
[src]

[src]

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

1.3.0
[src]

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