Instructions

Instructions do not return values, but modify the memory in some way or interact with the interpreter. Computations are valid instructions, and will be automatically converted into [TEXT] to be displayed.

ASSERT

(assert! [BOOL] [TEXT])

Raises the exception [TEXT] to the interpreter if [BOOL] yields false.

DONE

(done!)

Completes the execution of the current sequence.

END

(end!)

Completes the execution of the script.

SET VALUE

(set! [X REFERENCE] [X COMPUTATION])

Gives the value [COMPUTATION] to [REFERENCE].

VISIT SEQUENCE

(visit! {String} [C0 = COMPUTATION] ... [CN = COMPUTATION])
(visit! [SEQUENCE] [C0 = COMPUTATION] ... [CN = COMPUTATION])

Visits the sequence named {String} (or stored in [SEQUENCE]), with C0CN as arguments. That sequence does not need to already have been defined. Visiting a sequence means that the execution of the current sequence continues once the visited sequence has completed.

JUMP TO SEQUENCE

(jump_to! {String} [C0 = COMPUTATION] ... [CN = COMPUTATION])
(jump_to! [SEQUENCE] [C0 = COMPUTATION] ... [CN = COMPUTATION])

Jumps to the sequence named {String} (or stored in [SEQUENCE]), with C0CN as arguments. That sequence does not need to already have been defined. Jumping to a sequence means that the execution of the current sequence is replaced by that of the target sequence.

INSTRUCTION LIST

([C0 = INSTRUCTION] ... [CN = INSTRUCTION])

Instruction corresponding to the execution of [C0][CN] in order.