pub trait Context: Debug + Display {
Show 14 methods
// Required method
fn env(&self) -> Rc<Environment>;
// Provided methods
fn get(&mut self, name: String) -> EvalResult { ... }
fn get_mut(&mut self, name: String) -> EvalResult { ... }
fn get_ellipsis(&mut self) -> EvalResult { ... }
fn assign_lazy(&mut self, _to: Expr, _from: Expr) -> EvalResult { ... }
fn assign(&mut self, _to: Expr, _from: Obj) -> EvalResult { ... }
fn eval_call(&mut self, expr: Expr) -> EvalResult { ... }
fn eval_call_mut(&mut self, expr: Expr) -> EvalResult { ... }
fn eval(&mut self, expr: Expr) -> EvalResult { ... }
fn eval_mut(&mut self, expr: Expr) -> EvalResult { ... }
fn eval_in(&mut self, expr: Expr, env: Rc<Environment>) -> EvalResult { ... }
fn eval_and_finalize(&mut self, expr: Expr) -> EvalResult { ... }
fn eval_binary(&mut self, exprs: (Expr, Expr)) -> Result<(Obj, Obj), Signal> { ... }
fn eval_list_lazy(&mut self, l: ExprList) -> EvalResult { ... }
}
Required Methods§
fn env(&self) -> Rc<Environment>
Provided Methods§
fn get(&mut self, name: String) -> EvalResult
fn get_mut(&mut self, name: String) -> EvalResult
fn get_ellipsis(&mut self) -> EvalResult
fn assign_lazy(&mut self, _to: Expr, _from: Expr) -> EvalResult
fn assign(&mut self, _to: Expr, _from: Obj) -> EvalResult
fn eval_call(&mut self, expr: Expr) -> EvalResult
fn eval_call_mut(&mut self, expr: Expr) -> EvalResult
fn eval(&mut self, expr: Expr) -> EvalResult
fn eval_mut(&mut self, expr: Expr) -> EvalResult
fn eval_in(&mut self, expr: Expr, env: Rc<Environment>) -> EvalResult
fn eval_and_finalize(&mut self, expr: Expr) -> EvalResult
fn eval_binary(&mut self, exprs: (Expr, Expr)) -> Result<(Obj, Obj), Signal>
fn eval_list_lazy(&mut self, l: ExprList) -> EvalResult
Implementations on Foreign Types§
source§impl Context for Rc<Environment>
impl Context for Rc<Environment>
source§fn eval_mut(&mut self, expr: Expr) -> EvalResult
fn eval_mut(&mut self, expr: Expr) -> EvalResult
Evaluates an expression mutably.
This is used for things like x[1:10] <- 2:11