[e-lang] Reference-state diagram

Ka-Ping Yee e-lang at zesty.ca
Thu Jun 30 08:47:11 EDT 2005

On Thu, 30 Jun 2005, Mark Miller wrote:
> Your diagram above is much closer to the way I had been drawing it:
> See the diagram at the bottom of
> <http://www.erights.org/elib/concurrency/refmech.html>.

Indeed!  That is much clearer than the current Figure 5.  I encourage
you to use it.

> I changed it for this paper to emphasize the two causes of these state
> transitions (resolution vs partition)

I think it is sufficient if you just describe this in the text.  The
gain in clarifying the diagram significantly outweighs the gain in
calling attention to these two causes for state transitions (in my
reading, i didn't even see that the diagram was trying to call
attention to it).

A good compromise would be to use a figure like the one you have
on your web page and add a grouping labelled "vat-crossing" or
"remote" that contains "remote promise" and "far".

Also, i don't understand how a promise can transition to a promise
(of the same or different type) and have that transition be called
a resolution.  This is confusing in two ways:

    - You've already got a category called "resolved".  For
      "resolution" to *not* arrive at that category is bewildering.

    - The way 'asyncAnd' is written, it expects the 'when' clause
      to be executed when each promise is actually resolved (i.e.
      no longer a promise).  It seems to me that's the only way
      that 'when' could reasonably and usefully behave.

-- ?!ng

More information about the e-lang mailing list