pub fn evaluate(&mut self, form: &Value) -> EvaluationResult<Value> {
        let result = self.evaluate_form(form);
        self.failed_form.take();
        self.apply_stack.clear();
        result
    }
/// Evaluate the `form` according to the semantics of the language.
Evaluate the `form` according to the semantics of the language.
Evaluate the ` form ` according to the semantics of the language .
pub fn evaluate(&mut self, form: &Value) -> EvaluationResult<Value> {
        let result = self.evaluate_form(form);
        self.failed_form.take();
        self.apply_stack.clear();
        result
    }
pub fn evaluate ( & mut self , form : & Value ) -> EvaluationResult < Value > { let result = self . evaluate_form ( form ) ; self . failed_form . take ( ) ; self . apply_stack . clear ( ) ; result }
Evaluate the `form` according to the semantics of the language.
Evaluate the ` form ` according to the semantics of the language .
&mut self
form
&Value