appendix
Appendix: scope at a glance
Who can see a name, who can change it, and how long it lives. Each line points to the study that explains it.
| name | seen by | changed by | lives |
|---|---|---|---|
a b c d | one call of one function | that call | one run, 0 at the start (variables) |
x y z t | every function | every function | between presses, 0 at startup (variables) |
var name | its function | its function | between presses and wakes, from the loading of the scripts (variables) |
i j | the loop and what it governs | the loops only | the loop (loops) |
| arguments | their function | no one: read-only | one call (functions) |
param | its function | the player, before the run | one run (the player) |
const | every file | no one | always (functions) |
| functions | every file | — | always (functions) |
flip o drunk, every counters | their function | their function | between presses, reset at startup (variables) |
tracks and steps (trk, steps) | the line or block, and the functions it calls (a copy) | the line or block | until the end of the block (tracks and steps) |
seed | the rest of the block, and the functions it calls | the block | until the end of the block (chance) |
Coming from Teletype
OType borrows Teletype's prefix notation, its modifiers before : and many of its words. The main
differences:
- no limit of six lines: blocks by indentation, named functions with arguments, instead of scripts 1 to 8;
- no
;: an indented block replaces several commands on a line; - no
W(while): every loop is bounded before the run; - operations act on a context of tracks and steps;
a b c dare local,x y z tglobal and kept between presses;- scripts are written on a computer, since the Octatrack has no keyboard port.