Page:Scheme - An interpreter for extended lambda calculus.djvu/33



When the scheduler is invoked, if there is another process waiting on the process queue, then the current process is swapped out and put on the end of the queue, and a new process swapped in from the front of the queue. The process stored on the queue consists of an atom which has the current frame and  register on its property list. Note that the  register is not saved, and so cannot be used to pass information between instructions.

Primitive operators are LISP functions, i.e. s,  s, and  s.

conses a new frame onto the  structure. It saves the values of all important registers. It takes one argument,, which is the instruction to return to when the computation is restored.

restores a computation from the. The use of  is a kludge to optimize the compilation of the "microcode".