accept empty lines in repl
[bugfix] atan and log functions doesn't accept single argument
[bugfix] (= 1 1.0) doesn't work
support internal definitions
add letrec macro