An Orc program is an expression.
Complex Orc expressions are built up recursively from simpler expressions.
Orc expressions are executed;
an execution may interact with external services, and publish some number of
values (possibly zero). Publishing a value is similar to returning a value with a
in an imperative language, or evaluating an expression in a functional language, except that an execution may
publish many times, at different times, or might not publish at all. An expression which does not publish is
An execution halts when it is finished; it will not interact with any more services, publish any more values, or have any other effects.
Different executions of the same expression may have completely different behaviors; they may call different services, may receive different responses from the same site, and may publish different values.