Skip to content

Attributes

A session carries named numeric attributes. Every name assigned by set or choose is an attribute of every session, starting at 0. The built-in ones below need no assignment. A name may not be both an attribute and a let constant, and neither may take a context variable's name.

Name Set by Meaning
serial arrival arrival order, counted from 0
turn_no turn; turns taken so far: 0 before the first turn;, 1 after it
cached admission units of the session's own cached prefix consumed at its last admission (reuse); 0 after the admission of a hold without cache, which consumes none
computed preemption the position the hold had computed when it was preempted; 0 on a first execution and after a hold completes

With a trace, turn; also sets:

Name Meaning
new new tokens this turn brings
out output tokens of the turn
think the think time the trace records for the turn
more 1 while another turn remains, 0 after the last
forced 1 if the trace forces the turn to miss the prefix cache (an optional sixth column, else 0)

cached and computed are set by the scheduler, so they cannot be hidden.

A program that resumes after a preemption reads computed; one that recomputes from the prompt alone does not read it.