pub enum Expression {
Show 19 variants
Group(Box<Self>),
Symbol(String),
Integer(Int),
Float(f64),
Bytes(Vec<u8>),
String(String),
Boolean(bool),
List(Vec<Self>),
Map(BTreeMap<String, Self>),
None,
Assign(String, Box<Self>),
For(String, Box<Self>, Box<Self>),
If(Box<Self>, Box<Self>, Box<Self>),
Apply(Box<Self>, Vec<Self>),
Lambda(String, Box<Self>, Environment),
Macro(String, Box<Self>),
Do(Vec<Self>),
Builtin(Builtin),
Quote(Box<Self>),
}
Variantsยง
Group(Box<Self>)
Symbol(String)
Integer(Int)
Float(f64)
Bytes(Vec<u8>)
String(String)
Boolean(bool)
List(Vec<Self>)
Map(BTreeMap<String, Self>)
None
Assign(String, Box<Self>)
For(String, Box<Self>, Box<Self>)
If(Box<Self>, Box<Self>, Box<Self>)
Apply(Box<Self>, Vec<Self>)
Lambda(String, Box<Self>, Environment)
Macro(String, Box<Self>)
Do(Vec<Self>)
Builtin(Builtin)
Quote(Box<Self>)
Implementationsยง
Sourceยงimpl Expression
impl Expression
pub fn builtin( name: impl ToString, body: fn(Vec<Self>, &mut Environment) -> Result<Self, Error>, help: impl ToString, ) -> Self
pub fn new(x: impl Into<Self>) -> Self
pub fn apply(self, args: Vec<Self>) -> Self
pub fn is_truthy(&self) -> bool
pub fn flatten(args: Vec<Self>) -> Vec<Self>
pub fn eval(&self, env: &mut Environment) -> Result<Self, Error>
Trait Implementationsยง
Sourceยงimpl Add for Expression
impl Add for Expression
Sourceยงimpl Clone for Expression
impl Clone for Expression
Sourceยงfn clone(&self) -> Expression
fn clone(&self) -> Expression
Returns a duplicate of the value. Read more
1.0.0 ยท Sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSourceยงimpl Debug for Expression
impl Debug for Expression
Sourceยงimpl Display for Expression
impl Display for Expression
Sourceยงimpl Div for Expression
impl Div for Expression
Sourceยงimpl From<&str> for Expression
impl From<&str> for Expression
Sourceยงimpl From<String> for Expression
impl From<String> for Expression
Sourceยงimpl From<bool> for Expression
impl From<bool> for Expression
Sourceยงimpl From<f64> for Expression
impl From<f64> for Expression
Sourceยงimpl From<i64> for Expression
impl From<i64> for Expression
Sourceยงimpl<T> Index<T> for Expressionwhere
T: Into<Self>,
impl<T> Index<T> for Expressionwhere
T: Into<Self>,
Sourceยงimpl Mul for Expression
impl Mul for Expression
Sourceยงimpl PartialEq for Expression
impl PartialEq for Expression
Sourceยงimpl PartialOrd for Expression
impl PartialOrd for Expression
Sourceยงimpl Rem for Expression
impl Rem for Expression
Sourceยงimpl Sub for Expression
impl Sub for Expression
impl StructuralPartialEq for Expression
Auto Trait Implementationsยง
impl Freeze for Expression
impl RefUnwindSafe for Expression
impl Send for Expression
impl Sync for Expression
impl Unpin for Expression
impl UnwindSafe for Expression
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more