diff --git a/src/compiler/generator.rs b/src/compiler/generator.rs index fed942f..d866478 100644 --- a/src/compiler/generator.rs +++ b/src/compiler/generator.rs @@ -1350,12 +1350,8 @@ fn apply_form( } else if xs.len() == 1 { Ok(Some(xs[0].clone())) } else { - let mut r = apply_function( - &f, - vec![xs.pop().unwrap(), xs.pop().unwrap()], - ctx, - settings, - ); + let mut r = Ok(Some(xs.pop().unwrap())); + // while let Some(x) = xs.pop() { r = apply_function(&f, vec![x, r?.unwrap()], ctx, settings); } diff --git a/src/stdlib.lisp b/src/stdlib.lisp index ae50ae9..60ac5a8 100644 --- a/src/stdlib.lisp +++ b/src/stdlib.lisp @@ -27,7 +27,6 @@ (defpurefun ((neq! :binary@loob :force) x y) (not (~ (eq! x y)))) (defunalias = eq!) -(defpurefun ((eq :binary@bool :force) (x :binary) (y :binary)) (^ (- x y) 2)) (defpurefun ((eq :binary@bool :force) x y) (- 1 (~ (eq! x y)))) (defpurefun ((neq :binary@bool :force) x y) (eq! x y))