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. (18411935)
“All is possible,
Who so list believe;
Trust therefore first, and after preve,
As men wed ladies by license and leave,
All is possible.”
—Sir Thomas Wyatt (1503?1542)