added strictness annotations to evaluation code to prevent stack overflow. REPL now exits on EOF (Ctrl-D)