As a practical use, a while ago I "resolved" the Einstein's Riddle using this operator: <a href="http://ticsblog.com/2010/12/07/solving-einsteins-riddle-using-nondeterministic-computing" rel="nofollow">http://ticsblog.com/2010/12/07/solving-einsteins-riddle-usin...</a>
Nice, but I'm not sure I get it. There is no such thing as a <i>concrete</i> non-deterministic operation. How does the expression evaluate? If all the parameters are evaluated in order, there's nothing non-deterministic about it.
I don't understand the point of the solutions - why is a non-deterministic output of a function better than iterating over a list? If anything, it would be worse.
In ruby: <a href="http://www.randomhacks.net/articles/2005/10/11/amb-operator" rel="nofollow">http://www.randomhacks.net/articles/2005/10/11/amb-operator</a>
SICP covers this too: <a href="http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-28.html#%_sec_4.3" rel="nofollow">http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-28.html...</a><p>The references are better than the posted link.<p>I have found a couple of uses for this in the past and deparately tried to port the examples to C# (unsuccessfully).