Story variables

memory (whole number) and journal (text). The only program-wide globals.

Two fixed globals. Same assign glue as dog fields (is, are, has, …). No other user-defined globals exist (except trick params and for each loop variables).

memory (whole number)

LineParses asNeed to know
memory is 4Assign[memory, 4]Must be whole number in short range
memory is count of the items in the cookie jarAssign[memory, StashAccess(COUNT)]Coerced to a number
bark memoryPrint + Variable(memory)

journal (text)

LineParses asNeed to know
journal is "walk time"Assign[journal, "walk time"]Strings and field reads
journal is her nameAssign[journal, Field(…)]Any value that prints as text
bark journalPrint + Variable(journal)Starts empty

Lines where memory or journal is the assignee parse as story-variable assignment.

Example from bimba.woof:

her cookie jar holds some items: "cookie", "cookie", "cookie", "cookie"
memory is count of the items in the cookie jar

Later: memory minus how many treats Bimba has in a print expression.