cond and stability

Jorge.Pelizzoni at loria.fr Jorge.Pelizzoni at loria.fr
Mon Jan 23 23:16:20 CET 2006


Hi, all! During some experiments I found a behaviour of cond during search that
I cannot explain. It looks like a bug to me. Can anyone please explain the
difference between the two calls to ExploreAll in the following:

--------------------------------------
declare
proc {F S}
   C
in
   S = {FS.var.upperBound [1#20]}
   C = ({FS.card S} <: 2)
   thread
      cond
	 C = 1
      then
	 {Browse here}
	 case {FS.reflect.upperBound S} of
	    [X] then {FS.include X S}
	 else skip end
      end
   end
   {Space.waitStable}
   {FS.subset S {FS.value.make [1]}}
end
proc {F2 S}
   C
in
   S = {FS.var.upperBound [1#20]}
   thread
      cond
	 {FS.card S} <: 2
      then
	 {Browse here}
	 case {FS.reflect.upperBound S} of
	    [X] then {FS.include X S}
	 else skip end
      end
   end
   {Space.waitStable}
   {FS.subset S {FS.value.make [1]}}
end

{ExploreAll F}
{ExploreAll F2}
----------------------------

Thanks in advance. Cheers,

Jorge.





More information about the mozart-users mailing list