Andreas Rossberg rossberg at
Wed Nov 7 11:12:46 PST 2012

On 7 November 2012 17:57, Tom Van Cutsem < at> wrote:
> While we're talking nomenclature: the terms "promise" and "future" also
> appear, with roughly the semantics described by Andreas in Scala's API [1]
> and Clojure's API [2] (both very recent APIs). I know MarkM dislikes the use
> of these terms to distinguish synchronization from resolution, as he has
> long been using those same terms to distinguish traditional "futures", which
> provide a .get() method blocking the calling thread and returning the
> future's value when ready (as in e.g. Java), from "promises", which only
> provide a non-blocking "when" or "then" method requiring a callback, never
> blocking the event loop thread (as in all the Javascript promise APIs).
> To my mind, the term "future" is still very closely tied to blocking
> synchronization. YMMV.

I see. Interesting, I wasn't aware of Mark's reservations :). Mark, is
that just about the terminology, or also conceptually?

(Please correct me if I'm wrong, though, IIRC, the original Friedman &
Wise article introduced the term "promise" for something that's rather
a future according to that distinction.)


More information about the es-discuss mailing list