Enum oftlisp::ast::Expr
[−]
[src]
pub enum Expr<C: 'static + Context> { Call(Gc<Expr<C>>, Vec<Gc<Expr<C>>>), Def(Symbol, Gc<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
Call(Gc<Expr<C>>, Vec<Gc<Expr<C>>>)
A function call.
Def(Symbol, Gc<Expr<C>>)
A variable or function declaration.
If(Gc<Expr<C>>, Gc<Expr<C>>, Gc<Expr<C>>)
A conditional.
Lambda(Option<Symbol>, Gc<Args<C>>, Vec<Gc<Expr<C>>>, Gc<Expr<C>>)
A function literal.
Literal(Gc<Value<C>>)
A literal value.
Progn(Vec<Gc<Expr<C>>>)
A block of expressions in a new scope.
Variable(Symbol)
A variable.
Vector(Vec<Gc<Expr<C>>>)
A vector literal.
Methods
impl<C: 'static + Context> Expr<C>
[src]
Trait Implementations
impl<C: 'static + Context> Finalize for Expr<C>
[src]
impl<C: 'static + Context> Trace for Expr<C>
[src]
unsafe fn trace(&self)
[src]
Marks all contained Gc
s.
unsafe fn root(&self)
[src]
Increments the root-count of all contained Gc
s.
unsafe fn unroot(&self)
[src]
Decrements the root-count of all contained Gc
s.
fn finalize_glue(&self)
[src]
Runs Finalize::finalize() on this object and all contained subobjects Read more
impl<C: 'static + Context> Drop for Expr<C>
[src]
impl<C: 'static + Context> Clone for Expr<C>
[src]
fn clone(&self) -> Self
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more