Enum adapton::reflect::Val [] [src]

pub enum Val {
    Constr(NameVec<Val>),
    Tuple(Vec<Val>),
    Vec(Vec<Val>),
    Struct(NameVec<(Name, Val)>),
    Art(LocArtContent),
    Name(Name),
    Const(Const),
    ValTODO,
}

Reflected value; Gives a syntax for inductive data type constructors (Constr), named articulations (Art) and primitive data (Data). All values in the engine (including the values of nodes, and the values stored on edges) are represented with this reflected Val type. Primarily, this distinction between actual Rust values and this type is what makes the DCG engine "reflected" by the definitions in this module, and not identical to them.

Variants

Constructor, with a sequence of value parameters.

A tuple of values (like a constructor, but without a constructor name). Can be seen as a special case of Constr.

A list of values (like a tuple, but parsed and printed differently). Can be seen as a special case of Constr.

Constructor with a sequence of fields (name-value pairs) as parameters.

Named articulation, and its content (an Art is either a named value, or a named computation).

First-class Name value.

Primitive, immutable data.

Temporary; for marking places in code where we should produce a value, but don't yet have a good way to do so.

Trait Implementations

impl Debug for Val
[src]

Formats the value using the given formatter.

impl Clone for Val
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Hash for Val
[src]

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

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

impl Eq for Val
[src]

impl PartialEq for Val
[src]

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

This method tests for !=.