So, I guess my question is: Is it not possible to bind a top level variable within Choice? I'm speculating that the choice doesn't allow a bind, but rather goes into a wait until such time as the top level space gets bound. But since the top level is waiting on the choice to succeed, you go into a wait state.

The problem is not binding the global variable. The problem is deciding whether the local computation space has failed.

...and this problem is caused by speculatively binding the global variable in the local computation space, right?

Chris, if I understand your procedures correctly, the statement

  _={SolveN 5 fun {$} {ListB 1|2|3|X} end}

tries bind X to 5 different tails at the same time, which can't be done.

Remember that the "non-determinism" that you create using "choice" is isolated within the search script passed to SolveN. If you're trying to constrain a global variable to a list, that can't be done using "choice". On the other hand, if you want to constrain a local variable to a list inside a search script, it could be done using the Raph's procedure.

Cheers,
Filip

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

Reply via email to