Bill Pugh wrote:
> Also, the type of causality we are arguing about is similar to the
> notion of causality in a world with time machines. I've told people
> that our memory model is:
> * You can't kill your father before he met your mother (consistency)
> * You can't give yourself the time machine blueprints, unless you
> would have obtained them anyway (causality)
Then we are indeed in trouble. Time machines violate the most basic
intuitive, lay-person concept of causality. I agree with sarita on
this. When considering cause and affect one has to start with the
first action to occur.
In the given example, in my view the setting of A to 1 because it
would be set to 1 anyway, is incorrect. I can see that if all
executions of a program will set A to 1 then it may be possible to do
a prescient store of A=1 *BUT* that should only be allowed if
execution of the program up to the point where A would actually become
1 is *NOT* affected by the fact that A has presciently been set to 1.
In this example the program is affected by the prescient store (the
value of B changes) and so it should not be allowed.
So Bill you can give youself the time-machine blueprints, if you would
have ended up with them anyway, but *ONLY* if you don't change your
behaviour due to having the blueprints up to the point where you would
have had them anyway. Otherwise I think your notion of 'causality'
threatens your notion of 'consistency'.
David Holmes
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:49 EDT