diff --git a/a8/lisp.cc b/a8/lisp.cc index 576ea82..f4e982d 100644 --- a/a8/lisp.cc +++ b/a8/lisp.cc @@ -119,9 +119,15 @@ namespace a8 [] (const List& params) -> std::shared_ptr { double result = 0; + int i = 0; for (auto param : *params) { Atom&& atom = std::any_cast(param->value); - result -= atom.val; + if (i <= 0) { + result = atom.val; + } else { + result -= atom.val; + } + ++i; } return std::make_shared(Atom(result)); });