We will initially restrict ourselves to the sequential programming style of Oz. At this stage you may think of Oz computations as performed by a sequential process that executes one statement after the other. We call this process a thread . This thread has access to the store . It is able to manipulate the store by reading, adding, and updating information stored in the store.
Information is accessed through the notion of variables .
A thread can access information only through the variables visible to it, directly or indirectly. Oz variables are single-assignment variables or more appropriately logic variables. In imperative languages like C and Java, a variable can be assigned multiple times. In contrast, single assignment variables can be assigned only once. This notion is known from many languages including dataflow languages and concurrent logic programming languages.