1) A new global dictionary is created.
2) One by one, the implementing Pico's (i.e. 'real' Pico) functions are added to this environment. This way, they become accessible in the implemented (i.e. the metacircular Pico) Pico.
3) The dictionaries are installed such that the implemented Pico's true
, false
, eoln
and
void
refer to the corresponding global system variables True
, False
, Eoln
and Void
. For True
and False
this is not possible yet as they are implemented
in Pico themselves. See 4) and 5). Therefore, they are temporarily taken to be Void
and Void
.
3) The primitives implemented im Pico are installed by parsing and evaluating their code. This will also
overwrite true
and false
in the global dictionary, and will thus replace the corresponding
Void
value.
4) The global system variables True
and False
can now be looked up in the global dictionary. Notice that
this is somehow mind-boggling: the system variables True
and False
used heavily by the evaluator
where implemented in the language by that evaluator itself.