This reference manual describes the ideal behavior of Orc programs. In particular, it assumes unbounded memory, an arbitrary amount of concurrent processing power, and any level of speed of computation demanded by the program. Therefore, we have not treated aspects such as floating point overflow, overhead for platform-level thread creation, nor the exact speeds of computation.
For example, the program
val z = Rwait(2) >> true | Rwait(3) >> false
is ideally expected to bind value true
to z
. In practice, we can only
make a best effort to implement the ideal behavior of Rwait
. Given that
Rwait(2)
and Rwait(3)
are very close in real time, an actual
implementation may indeed assign false to z
. The programmer should be
aware of such limitations, and program around them.