On Mon, Nov 16, 2009 at 11:21:32PM +1100, Joachim Schimpf wrote: > Ulrich Scholz wrote: > > Dear all, > > > > Id like to wake a suspension on an ic variables if it becomes more > > constrained, in particular, if it gets unified with another ic variable > > (#=). > What you have overlooked is that [bounds] reacts only to var-var > bindings within the set of variables on which a particular goal delays. > Bindings to unrelated variables don't trigger anything, which is exactly > the behaviour you need: Thanks for the clarification. Actually, it is not what I need because variables are created dynamically and at the time I set up the suspension I don't know to which they might be unified. What to do? Thanks, Ulrich > > % unifying any two of the three suspending variables causes waking > ?- suspend(writeln(reduced(X, Y, Z)), 0, [X,Y,Z]->bound), X = Y. > reduced(X, X, Z) > X = X > Y = X > Z = Z > Yes (0.00s cpu) > > % unifying X with an unrelated variable has no effect > ?- suspend(writeln(reduced(X, Y, Z)), 0, [X,Y,Z]->bound), X = A. > X = A > Y = Y > Z = Z > A = A > There is 1 delayed goal. > Yes (0.00s cpu)Received on Mon Nov 16 2009 - 14:37:35 CET
This archive was generated by hypermail 2.3.0 : Wed Sep 25 2024 - 15:13:20 CEST