Futures and Promises - List of Implementations

List of Implementations

Languages supporting futures, promises, concurrent logic variables, dataflow variables, or I-vars include:

  • ABCL/f
  • Alice ML
  • AmbientTalk (including first-class resolvers and read-only promises)
  • Clojure
  • C# 5 (through the await keyword)
  • Dart
  • Flow Java
  • Glasgow Haskell (I-vars and M-vars only)
  • Id (I-vars and M-vars only)
  • Io
  • Java through java.util.concurrent.Future
  • Lucid (dataflow only)
  • MultiLisp
  • Oxygene
  • Oz version 3
  • Python 3.2, as proposed by the PEP 3148
  • R (promises for lazy evaluation - still single threaded)
  • Racket
  • Scala
  • Scheme
  • μC++

Languages also supporting promise pipelining include:

  • E
  • Joule

Library-based implementations of futures:

  • For Common Lisp: Eager Future2 and PCall
  • For C++: C++11 (new revision of the C++ standard), the Boost library and the Dlib C++ Library
  • For C#: The Parallel Extensions library
  • For JavaScript:
    • Cujo.js's when.js provides promises conforming to the CommonJS Promises/A proposal.
    • jQuery's Deferred Object is based on the CommonJS Promises/A design.
    • The Dojo Toolkit supplies both promises and Twisted style Deferreds
  • For Objective-C: MAFuture (reference)
  • For OCaml: Lazy module implements lazy explicit futures.
  • For Perl: Future and Reflex
  • For Python: pythonfutures and Twisted's Deferreds
  • For Ruby: The Promise gem
  • For PHP: React/Promise

Read more about this topic:  Futures And Promises

Famous quotes containing the words list of and/or list:

    “The advice of their elders to young men is very apt to be as unreal as a list of the hundred best books.”
    —Oliver Wendell Holmes, Jr. (1841–1935)

    “Do your children view themselves as successes or failures? Are they being encouraged to be inquisitive or passive? Are they afraid to challenge authority and to question assumptions? Do they feel comfortable adapting to change? Are they easily discouraged if they cannot arrive at a solution to a problem? The answers to those questions will give you a better appraisal of their education than any list of courses, grades, or test scores.”
    —Lawrence Kutner (20th century)