Release status
Raphael Collet
raph at info.ucl.ac.be
Tue Apr 6 15:52:17 CEST 2004
Andreas Rossberg wrote:
>
> Raphael Collet wrote:
> >
> > AFAIK there remains a register allocation bug. Those bugs are extremely
> > obscure, and sometimes disappear when you add a Show or a Wait. Have
> > you considered putting the Waits *after* the '==' for instance? It is
> > stupid. But if this makes the blocking problem disappear, you might be
> > facing such a register allocation bug...
Okay, forget about register allocation. There is indeed a bug, but it
seems to appear with read-onlys only. You can produce it easily by
running the code below.
local X Y in
{Show {Map [X Y] IsNeeded}}
thread {Show !!X==!!Y} end
{Delay 1000}
{Show {Map [X Y] IsNeeded}}
end
The '==' at the third line compares two read-onlys (!!X and !!Y). Both
become needed, and they should make their origins (X and Y) needed. So
the last statement should show [true true]. But it shows [true false]
instead :P
This explains your observations. You can adapt the example above to
compare two ByNeedFuture's. Both become needed, but only one of them is
triggered.
I will try to fix this.
Cheers,
raph
More information about the mozart-hackers
mailing list