Strange interaction between futures and failed futures

Peter Van Roy pvr at info.ucl.ac.be
Thu Jun 28 15:50:42 CEST 2001


> pvr at info.ucl.ac.be (Peter Van Roy) writes:
> 
> > As we already discussed before, the current implementation of
> > futures is buggy.
> 
> Ah, come Peter: it is not _buggy_ per se.  It can only be so with
> respect to some specific formal semantics which it was never given.
> Instead of throwing claims of bugginess or non-bugginess, time would
> be better spent charting out the possible semantics and deciding which
> one(s) we'd rather have.

Chapter 15 of the Mozart book gives a simple formal semantics for
read-only variables, which was developed by Raph and me with input
from many people (including lots of useful input from you!) and
starting from the original draft document on futures.  The
implementation of '!!' is buggy with respect to this semantics.

The semantics of the current implementation is not seriously defensible.
This can be seen in a simple way: taking a read-only view of a variable
that has a by-need trigger on it does not work in the current
implementation (the read-only view is not read-only!).  It does work if
your definition of MakeFut is used.

BTW, the formal semantics allows for both requesting and non-requesting
kinds of read-only views -- the difference between the two is not very
deep from a semantic viewpoint.

Peter


-
Please send submissions to hackers at mozart-oz.org
and administriva mail to hackers-request at mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.





More information about the mozart-hackers mailing list