Raul wrote: > [Amb is] more a solution looking for a problem > than anything useful.
I'm with Raul on this. I'm thankful he was able to articulate my own feelings, in such a clear, descriptive manner. > I would wait until someone can come up with a real description for amb. I agree here, too. I don't understand why amb is called "non-deterministic" when its results are pre-determined (if I understand them correctly): it returns the first non-erroneous result not previously returned, using depth-first search. I've always thought non-deterministic was a long-winded way of saying "random", but then I see comments like "Nondeterminism has nothing to do with randomness." [1] and wonder what the difference is. [2] Perhaps the "non-deterministic" label comes from the fact that amb is usually discussed in the context of functional languages, yet isn't entirely functional. That is, amb has a hidden parameter: the number of times it has been called previously. But I wouldn't call this non-deterministic, I would just call this non-functional. Would amb still be "non-deterministic" if the "number of previous calls" were an explicit parameter? -Dan [1] http://www.rosettacode.org/wiki/Talk:Amb [2] But then, I'm one of those people who believe everything is deterministic, and "random" is just a shorthand for saying "the causes of this effect are beyond my ability or desire to resolve". I disagree with the implications of the term "pseudorandom". ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
