How does it handle sequences in input? If it's in a define or lambda or begin or whatever then it follows those respective paths in the eval branch, all of which lead to eval-sequence. But if it's just (define a 1) (define b 2)
how's it interpret that?
Name:
Anonymous2011-09-27 8:31
1. It reads (define a 1) (define b 2) left-to-right
2. Stops at ')' of (define a 1)
3. Pushes 2 onto the register
4. pushes a onto the register
5. looks up define, since it's next to the (.
6. Executes define given a and 1 as the inputs.
Then goes on to (define b 2) if (define a 1) completed successfully.
I described certain like the register, but the key to understanding Lisp as a philosophy is you need to know how define or even the meta-evaluator responds, you don't need to know how it works.