Proposal: Control.Concurrent.Async
wren ng thornton
wren at freegeek.org
Sat Jun 16 07:24:31 CEST 2012
On 6/14/12 5:54 PM, Lauri Alanko wrote:
> Quoting "Simon Marlow" <marlowsd at gmail.com>:
>> 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.html>?
"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
More information about the Libraries
mailing list