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