Difference between Inspect and Browse (concurrent programming)

Torsten Anders torstenanders at gmx.de
Mon May 28 15:40:19 CEST 2007


Dear all,

I came across a behaviour of the Inspector I don't understand. Following is 
the simplest example I found which is able to reproduce this issue. (In this 
simple example, whether the thread statement, nor the Combinator.reify are 
really doing anything interesting, but without them the problem does not pop 
up.) 

First, I am using this example with the Browser, where everything works as I 
would expect it: the Browser shows that the local variable X was bound to 1. 

{Browse thread
	   X
	in
	   {FD.impl 1
	    {Combinator.reify
	     proc {$} X = 1 end}
	    1}
	   X
	end}

If I am using the Inspector, however, then X is reported unbound.

{Inspect thread
	    X
	 in
	    {FD.impl 1
	     {Combinator.reify proc {$} X = 1 end}
	     1}
	    X
	 end}

It appears that the Inspector shows the value of X before it was bound. Adding 
{Wait X} to the example does indeed show the expected value in the Inspector. 
However, the Inspector usually updates the displayed value -- expect for this 
case so it seems. Any comments?

Best,
Torsten

-- 
Torsten Anders
http://strasheela.sourceforge.net/
http://torsten-anders.de/


More information about the mozart-users mailing list