Skip to content

Commit

Permalink
Refactor environment methods to utilize Rc<RefCell<Environment>>
Browse files Browse the repository at this point in the history
  • Loading branch information
nulluser committed Jun 13, 2024
1 parent 7ff650a commit ff6970b
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/backend/eval/expressions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -151,11 +151,11 @@ pub fn evaluate_assignment(assignee: Expr, expr: Expr, env: &Rc<RefCell<Environm
_ => panic!("Invalid LHS in assignment expression. {:?}", assignee),
};
let value = evaluate_expr(expr, env);
env.borrow_mut().assign_var(&varname, value)
Environment::assign_var(env, &varname, value)
}

pub fn evaluate_identifier(identifier: String, env: &Rc<RefCell<Environment>>) -> Val {
env.borrow().lookup_var(&identifier)
Environment::lookup_var(env, &identifier)
}

pub fn evaluate_literal(literal: Literal, env: &Rc<RefCell<Environment>>) -> Val {
Expand Down
2 changes: 1 addition & 1 deletion src/backend/native_fn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ pub fn native_drop(args: Vec<Expr>, env: &Rc<RefCell<Environment>>) -> Val {
for raw_expr in args {
if let Expr::Identifier(ident) = raw_expr {
println!("f;dsaj");
env.borrow_mut().drop_var(&ident);
Environment::drop_var(env, &ident);
}
println!("{:#?}", env);
}
Expand Down

0 comments on commit ff6970b

Please sign in to comment.