Enum adapton::catalog::collections::List [] [src]

pub enum List<X> {
    Nil,
    Cons(X, Box<List<X>>),
    Tree(Box<Tree<X>>, Dir2Box<List<X>>),
    Name(NameBox<List<X>>),
    Art(Art<List<X>>),
}

Variants

Trait Implementations

impl<X: Debug> Debug for List<X>
[src]

[src]

Formats the value using the given formatter. Read more

impl<X: PartialEq> PartialEq for List<X>
[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<X: Eq> Eq for List<X>
[src]

impl<X: Hash> Hash for List<X>
[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

impl<X: Clone> Clone for List<X>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<X: 'static + Debug + Hash + PartialEq + Eq + Clone> ListIntro<X> for List<X>
[src]

[src]

Introduce an empty list

[src]

Introduce a Cons cell

[src]

Introduce a Name "cons" cell

[src]

Introduce a list with an articulation that holds a list

[src]

Creates a singleton list. Derived from cons and nil introduction forms.

[src]

For Some(nm), wraps the given list in name and art constructors for given name nm. For None, is the list identity function. Read more

impl<X: 'static + Debug + Hash + PartialEq + Eq + Clone> ListElim<X> for List<X>
[src]

[src]

Eliminate a list with the given functions (for the pattern match arms) that handle the nil, cons and name cases. Eliminates the art case internally, by forcing the art and eliminating the resulting list with the given handler functions; forces multiple art cases, if need be. Read more

[src]

Like elim, except that the functions are given an additional argument. This variant is needed due to the move semantics of Rust. The argument is moved into the body of the activated handler function when it is applied. Read more

[src]

Tests if the list contains any cons cells. Derived from elim.

[src]

Tests if the head of the list consists of a name constructor. Derived from elim.

impl<Dom: Debug + Hash + PartialEq + Eq + Clone + 'static, Cod: Debug + Hash + PartialEq + Eq + Clone + 'static> MapIntro<Dom, Cod> for List<(Dom, Cod)>
[src]

[src]

[src]

impl<Dom: Debug + Hash + PartialEq + Eq + Clone + 'static, Cod: Debug + Hash + PartialEq + Eq + Clone + 'static> MapElim<Dom, Cod> for List<(Dom, Cod)>
[src]

[src]

[src]

[src]

[src]

Auto Trait Implementations

impl<X> !Send for List<X>

impl<X> !Sync for List<X>