Go to the first, previous, next, last section, table of contents.


Understanding Job State

Muq jobs, as the central representation of a computation in progress, are decorated with a remarkable profusion of variables(1) intended to allow you to customize and control the computation as it proceeds, but there are only a handful of conceptually critical job components:

(The programCounter and executable slots could in principle be a single value, except that for purely technical reasons Muq does not allow pointers into the interior of an object, only to the top of the object.)

These four job slots are critical to the operation of Muq jobs, and we will be returning repeatedly to them.

The remaining job object slots are frills by comparison, implementing various bookkeeping, protection and customization needs: One could eliminate any of them and have a recognizable and useful Muq implementation.

You may do @ lss to list these various properties. See section `Class Job' in Muf Reference.

You should not try to memorize the above properties at this point. The important understanding to take with you from this section is that Muq can contain many Jobs and that each Job is conceptually a separate little computer running in parallel with all the rest, reading user input and producing output.

Later, we will see that you can create new Jobs by the dozen if you wish, and that you can hook them together into cooperative networks to compute results more conveniently than can be done using a single Job.


Go to the first, previous, next, last section, table of contents.