* REPL
** DONE Fix prompt
** TODO Catch Ctrl+C and friends
Maybe use a readline type library?
* Lexer
** DONE Strings
** DONE I hate the way multiple character tokens are implemented
** TODO Handle different base numbers
** TODO Token positions
** TODO String escapes
* Evaluator
** DONE Fix precedence
** DONE Use macros for infix integer expression
** DONE Be able to lookup identifiers
The environment was being reset every loop
** DONE Precedence is still not quite right
It is because the minus operator is always considered to be prefix
** TODO Print blocks correctly
** TODO Fix ~inspect-object~ for function
** TODO Indexing strings
** TODO Check that ~index~ is a valid integer when indexing
* Parser
** DONE Use ~position~ instead for precedence table
** DONE Call expressions
** DONE Fix ~parse-function-parameters~
** DONE Fix ~parse-function-literal~
** DONE Fix ~parse-expression-list~
It does not collect the last expression
It is also an infinite loop
** DONE Signal an error in ~parse-expression~ when we can't find a prefix
** TODO Do not signal errors from lisp
Or at least catch them in the main loop