I am reading chapter 4 of SICP. In the eval
procedure, there is a procedure application
. This procedure checks whether the expression is tagged with the symbol 'primitive
or 'procedure
.
I can see where the symbol 'procedure
is added. (It is when evaluating a lambda expression.).
I am not able to find where the tag 'primitive
is added? Clearly, when I supply a program to the evaluator, I supply (+ 1 2)
and not ('primitive + 1 2)
. I would guess the 'primitive
tag is added somewhere (like 'procedure
), but I cannot find where.