Hi,

The "choice" statement *does not* create a clone: clones are created by the search engine only.

I know, I should have written "causes a space to be cloned".

Whenever the program "backtracks" beyond "choice", it also backtracks the value of FoundWord to what it was (i.e. false). More precise explanation is that the engine "forgets" the current branch (the one with @FoundWord==true) and re-starts from the "choice" statement, now taking the second alternative with @FoundWord==false. And


The computation has been cloned exactly when the program was stuck at the "choice" statement. At that point, the value of the cell was false. So when the search engine backtracks, it restarts with a computation where the cell has value false.

Which is exactly what I wrote, right?

to get things even worse, note that the two alternatives can even be executed in parallel (concurrently), so there is IMHO really no "clean" way of the "first" having effect on the "second".

"Clones don't talk to each other." ;-)

Yeah :-)

Cheers,
Filip
_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to