this is very minimalistic LISP 1 implementation. it's inspired by Scheme.
trivia:
- don't be fooled, MILF is dynamically scoped
- there is no TCO
- but we have (return), (break) and (continue)
- (define) defines variable in the current frame
- i don't know what to write here