[E-Lang] Confusion
steve jenson
stevej@sieve.net
Mon, 10 Sep 2001 20:29:41 -0700
Quoting Marc Stiegler (marcs@skyhunter.com):
> To achieve the goal, you must step sideways into the funky world of Lisp and
> Scheme programmers, who always use recursion instead of while loops anyway:
>
> var x := server <- getX()
> var oldX := x
> def serviceServer() {
> when (x) -> done (newX) {
> if (x != oldX) {
> #do something
> oldX := x
> }
> x := server <- getX()
> serviceServer()
> }
> }
> serviceServer
>
>
> You can find more information about this and related matters at the end of
> the Distributed Computing chapter of Walnut. Start at the subsection
> "Recursion for send sequencing" part of the section
>
> http://www.skyhunter.com/marcs/ewalnut.html#SEC37
>
> The sendValve and promiseOnlyMoreRecent patterns are also closely tied to
> this general domain of working with promises, they follow shortly in the
> same section
Also,
Quoting Terry Stanley (tstanley@cocoon.com):
> Keep in mind that E never blocks waiting on the network. That means that
> before and after must receive values immediately. Since the actual results
> will not be known until a round trip has been made between the vats, these
> values must be promises. So, before and after will eventually have the
> values you're interested in, but they always start out as promises.
>
Sorry it took so long to get back to you both. :-(
In all this discussion, I was struck with the notion that promises
are multicast asynchronous callbacks masquerading as instant return
method calls.
I did a little back reading of the list and came up with a few URL's that
helped me to track the origins of promises, and what I found was:
http://www.eros-os.org/pipermail/e-lang/1998-October/002013.html
This leads me to belive that promises are from the Actor influence on
the language, since my understanding of the Actor model tells me that it
relies on FIFO pipes with guaranteed delivery for communication between
principals.
So is it safe to assume that Promises would be included in the strict
Actor-E subset if one could be defined?
thanks,
steve
--
steve jenson <stevej@sieve.net> http://sieve.net/
PGP fingerprint: 79D0 4836 11E4 A43A 0179 FC97 3AE2 008E 1E57 6138