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
z. In practice, we can only
make a best effort to implement the ideal behavior of
Rwait. Given that
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.