
On 6/14/12 5:54 PM, Lauri Alanko wrote:
Quoting "Simon Marlow"
: Naming is obviously up for discussion too.
I feel that "Async" is a bit too generic and doesn't very precisely characterize this particular construct. How about "Future", as similar things are called in e.g. Alice http://www.ps.uni-saarland.de/alice/manual/futures.html and Java http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/FutureTask.htm...?
"Future" is a generic term for a particular way of thinking about the life cycle of variables (both in AliceML, Mozart/Oz, and in the literature). From this perspective *all* variables are futures. For example, in the AliceML url you provide, they specifically qualify the different kinds of futures: * concurrent futures --- something like Async * lazy futures --- what Haskell has by default * promised futures --- for tying the knot; akin to "static" in Java * immediate futures (not mentioned on the AliceML page) --- the standard all-at-once way of introducing, binding, and evaluating variables. Of course, the concurrent/lazy/promised qualifiers can be combined since they define orthogonal axes of temporal distinction. -- Live well, ~wren