Reader Distinguish beteween floats and ints Handle escaped quotes in strings Handle chars Handle dotted lists Types Make s32 fixnum type Add symbol type Use LispWeakRef for weak_ptr Lisp Prim == std::function? Evaluation Create eval skel Eval ints Eval strings Eval quote Add quote symbol main env Process quote in reader Process quote in eval Implemented quote as a function Eval symbol get Eval symbol set Eval if form Eval primitive procedures Eval lambda form Basically just cons Eval PROG Type Predicates Arith primitives Boolean primitives Type conversions List manipulation Equality testing Bitwise stuff Eval Load Map Bugs Crash evaluating simple list Lists don’t get echoed Dump environment in gdb ((Lambda x (x x) (body)) args..) does not work because we don’t know how to eval a cons is_primitive() does not work because we do not identify them are primitives local or global – global I would have thought but then..local function definitions?