Return an unbound reactive variable.
Reactive variables are used in writing declarative concurrent programs. A newly initialized reactive variable will be in an unbound state. If a task requires the value of a reactive variable, it will wait until that variable is bound. This binding should happen in another task. Thus reactive variables can act as a simple mechanism for passing values between tasks. A reactive variable once assigned cannot be reassigned a new value. It is this property that makes them useful in declarative concurrency.
? can be used instead of
rvar for creating a new unbound
let x = ? !showln(?x) // task waits until `x` is bound. ?x = 'hello // `x` is bound to a value, unblocking the waiting task. //> hello
Core Module Index | Contents