def should return null
add generate begin
implement let generation
make sure lexer handles end of input with no newline properly
environment load should reset pc and main function instead of tacking onto the end
make it repl-y