Related Constructs
An I-var (as in the language Id) is a future with blocking semantics as defined above. An I-structure is a data structure containing I-vars. A related synchronization construct that can be set multiple times with different values is called an M-var. M-vars support atomic operations to take or put the current value, where taking the value also sets the M-var back to its initial empty state.
A concurrent logic variable is similar to a future, but is updated by unification, in the same way as logic variables in logic programming. Thus it can be bound more than once to unifiable values (but cannot be set back to an empty or unresolved state). The dataflow variables of Oz act as concurrent logic variables, and also have blocking semantics as mentioned above.
A concurrent constraint variable is a generalization of concurrent logic variables to support constraint logic programming: the constraint may be narrowed multiple times, indicating smaller sets of possible values. Typically there is a way to specify a thunk that should be run whenever the constraint is narrowed further; this is necessary to support constraint propagation.
Read more about this topic: Futures And Promises
Famous quotes containing the words related and/or constructs:
“A parent who from his own childhood experience is convinced of the value of fairy tales will have no difficulty in answering his childs questions; but an adult who thinks these tales are only a bunch of lies had better not try telling them; he wont be able to related them in a way which would enrich the childs life.”
—Bruno Bettelheim (20th century)
“To me the female principle is, or at least historically has been, basically anarchic. It values order without constraint, rule by custom not by force. It has been the male who enforces order, who constructs power structures, who makes, enforces, and breaks laws.”
—Ursula K. Le Guin (b. 1929)