Talk:Amb: Difference between revisions

m
added a section hearder (name) to the 1st (unnamed) discussion (to put the TOC in the proper place).
m (→‎Go: fix external link markup)
m (added a section hearder (name) to the 1st (unnamed) discussion (to put the TOC in the proper place).)
 
(2 intermediate revisions by one other user not shown)
Line 1:
 
==A better sentence?==
"The Amb operator takes some number of expressions (or values if that's simpler in the language) and nondeterministically yields the one or fails if given no parameter, amb returns the value that doesn't lead to failure."
 
Line 15 ⟶ 17:
(This variant not really great but I believe it is accurate and complete). -- RDM 12:53, 27 August 2009 (EDT)
 
I've taken the plunge and clarified and expanded the description of the task.[[User:Kazinator|Kazinator]] ([[User talk:Kazinator|talk]]) 15:14, 31 October 2015 (UTC)
 
==Nondeterministic==
Line 20 ⟶ 23:
Can we assume, for the purposes of the task, that the pseudo-randomness of "random" numbers available on PCs without external assistance qualify as non-deterministic? --[[User:Short Circuit|Short Circuit]] 22:47, 22 March 2008 (MDT)
:The non-determinism is a red herring. No implementation of Amb I've seen is actually random. The important feature of Amb is backtracking via capturing the continuation. The result is something closer to exception handling. (Can Amb be implemented using only exceptions?)
::non-determinism doesn't mean randomness in computer science. This is clarified in the new task description.[[User:Kazinator|Kazinator]] ([[User talk:Kazinator|talk]]) 15:14, 31 October 2015 (UTC)
:This is an advanced (almost esoteric) concept covered in SICP among other places. See: http://c2.com/cgi/wiki?AmbSpecialForm [[wp:Continuation]]. --[[User:IanOsgood|IanOsgood]] 09:30, 24 March 2008 (MDT)
 
Line 38 ⟶ 42:
 
--[[User:Sluggo|Sluggo]] 22:20, 6 September 2009 (UTC)
: Non-termination presents a problem for continuations and threads also; they don't solve the issue at all of when a branch of the computation fails by not terminating! Processing is stuck there, that is all. Exception handling isn't in an of itself a solution; rather, nonlocal control transfers can support an explicit backtracking solution by providing a convenient direct branch to some earlier "top level" in cases when failure or success are confirmed.
 
For my part, and demonstrated by my VBScript entry, I don't think I understood the task at all. I don't think many did. Even after reading all this, I'm still not sure I do. I did have fun, all the same, coming up with the VBScript code. --[[User:Axtens|Axtens]] 08:47, 16 February 2010 (UTC)