8.5. Helpful Sites

A helpful site responds with an indication that it will never publish, when it knows this outcome for a call.

All library sites in Orc are helpful. Thus, Ift is a helpful site, and Ift(false) sends an indication to the caller that it will never publish. A Channel is a helpful site, and some of its methods will send an indication that they will never publish. In particular, the get method is blocked on an empty channel, but it sends an indication it will never publish if the channel is closed.

The indication from a helpful site that it will never publish causes the call to halt. This can be exploited by the caller by using the otherwise combinator.

We do not expect arbitrary services to be helpful.

8.5.1. Related Links