basic working interpreter with:
- constants (numbers, strings, symbols)
- basic ops (+ - * / eq? > < <= >= =)
- first-class functions
- branching (if expressions)
- definitions
- assignments

can compute the following:
- factorial
- even/odd mutual recession
- omega (\x.xx)(\x.xx)