Found a bug in Interpreter: the interpret' function does not seem to call the eval function correctly, and so gives wrong results.