Enum oftlisp::ast::Expr [] [src]

pub enum Expr<C: 'static + Context> {
    Call(Gc<Expr<C>>, Vec<Gc<Expr<C>>>),
    Def(SymbolGc<Expr<C>>),
    If(Gc<Expr<C>>, Gc<Expr<C>>, Gc<Expr<C>>),
    Lambda(Option<Symbol>, Gc<Args<C>>, Vec<Gc<Expr<C>>>, Gc<Expr<C>>),
    Literal(Gc<Value<C>>),
    Progn(Vec<Gc<Expr<C>>>),
    Variable(Symbol),
    Vector(Vec<Gc<Expr<C>>>),
}

An expression.

Variants

A function call.

A variable or function declaration.

A conditional.

A function literal.

A literal value.

A block of expressions in a new scope.

A variable.

A vector literal.

Methods

impl<C: 'static + Context> Expr<C>
[src]

[src]

Converts an Expr to a Value.

Trait Implementations

impl<C: 'static + Context> Finalize for Expr<C>
[src]

[src]

impl<C: 'static + Context> Trace for Expr<C>
[src]

[src]

Marks all contained Gcs.

[src]

Increments the root-count of all contained Gcs.

[src]

Decrements the root-count of all contained Gcs.

[src]

Runs Finalize::finalize() on this object and all contained subobjects Read more

impl<C: 'static + Context> Drop for Expr<C>
[src]

[src]

Executes the destructor for this type. Read more

impl<C: 'static + Context> Clone for Expr<C>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<C: 'static + Context> Debug for Expr<C>
[src]

[src]

Formats the value using the given formatter.

impl<C: 'static + Context> Display for Expr<C>
[src]

[src]

Formats the value using the given formatter. Read more