6 METASYSTEM TRANSITION

When we write a program, we deal with some object field -- a set of objects which are dealt with through the use of functions. This set subsumes the domains and ranges of all functions, i.e., the sets of their possible arguments and values. We shall refer to this set as the basic level, or level 0, of a hierarchy of objects. Level 1 of this hierarchy is the Refal machine with function definitions loaded into it. The interaction between these two levels is the computation process in which the level 0 objects make up the material, the ``flesh'' of the process, while the Refal machine controls the formation and transformation of this material. We refer to a system S1 of level 1 which exercises control over a collection of systems S0 of level 0 as a metasystem with respect to level 0.

This two-level hierarchy of objects is extended when we create the next level of control which deals with the Refal machine and function definitions as objects. We refer to this step as a metasystem transition.