diff --git a/sl/src/lib.rs b/sl/src/lib.rs index 4b1d45b..a31b2ad 100644 --- a/sl/src/lib.rs +++ b/sl/src/lib.rs @@ -26,6 +26,8 @@ pub enum Prim { Add, Sub, Mul, + Div, + Mod, Eq, Cons, Car, @@ -136,6 +138,8 @@ impl Env { ("+", Rc::new(Form::Prim(Prim::Add))), ("-", Rc::new(Form::Prim(Prim::Sub))), ("*", Rc::new(Form::Prim(Prim::Mul))), + ("/", Rc::new(Form::Prim(Prim::Div))), + ("%", Rc::new(Form::Prim(Prim::Mod))), ("cons", Rc::new(Form::Prim(Prim::Cons))), ("cdr", Rc::new(Form::Prim(Prim::Cdr))), ("car", Rc::new(Form::Prim(Prim::Car))), @@ -250,6 +254,8 @@ pub fn tree_walker_eval(f: Rc