Parse and evaluate a Lisp-like expression with error handling
Evaluate expressions such as (add 1 2), (mult 3 (add 2 3)) and (let x 2 (mult x 5)), where let binds variables in nested scopes.
Unlike the classic version, the input may be invalid: detect malformed expressions and report an error instead of crashing or returning a wrong value.
No answer yet. Write the first one; the best answer gets endorsed.
