This is just a brainstorm, which I hope someone will look into more deeply.

* {{>x>}} is "and"
* {{|}} is "or"
* {{<x<}} is "cut" (more on this later)

Orc's evaluation order is breadth-first rather than depth-first like Prolog. In many scenarios we are only interested in the first solution (first publication), so depth-first evaluation is more efficient (this exact idea is explored in [Deparallelization]).

!!! and: {{>x>}}, or: {{|}}

Ignoring cut, the logical meaning of these combinators is obvious.

!!! cut: {{<x<}}

Prolog's cut operator (!) prevents backtracking. Since Orc's evaluation is breadth-first no direct translation is possible, but there is a rough analogy. "F <x< G" evaluates F with only the first possible value of G, just as G, !, F does.