Hi, all!

Strictly speaking, this may not be a real bug, but is indeed very strange,
misleading behaviour. It seems that in an expression like:

{FS.reified.include D M B}

if D and M are determined, but D > 63 and M contains only elements <= 63,
then B will not get determined (!) after {Space.waitStable}. I must
concede, however, that failure ensues if B is bound (e.g. by distribution)
to an invalid value (i.e. 1).

Here is code that demonstrates this oddity:

----------------
declare
proc {Test Sol}
   I = {Space.choose 1024}
   J = {Space.choose 1024}
   S = {FS.value.make [1#J]}
   R = {FS.reified.include I S}
in
   Sol = I#J#R
   {Space.waitStable}
   if {IsDet R} then fail end
   choice
      R = 0
   [] R = 1
   end
end
Strange = {Search.all Test 0 _}
----------------

Cheers, Jorge.


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

Reply via email to