Page:AIM-453.djvu/62

 {Primitive Operators} Page 10

A primitive operator might be a very complicated object in a "real" LISP implementation; it would probably have machine-language code within it. We are not interested in the details of a particular host machine here; we wish only to present a simple meta-circular definition of PRIMOP and PRIMOP. We will notate the procedural object which is the value of CAR (say) in the initial top-level environment  as "&CAR". This object has no interesting properties except that it is EQ to itself and not to any other object. The initial top-level environment therefore looks like:

Given this, we can define PRIMOP and PRIMOP as in Figure N7.

Figure N7 Meta-Circular Definition of PRIMOP and PRIMOP-APPLY