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

Reply via email to