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:
“Thirtythe promise of a decade of loneliness, a thinning list of single men to know, a thinning brief-case of enthusiasm, thinning hair.”
—F. Scott Fitzgerald (18961940)
“A mans interest in a single bluebird is worth more than a complete but dry list of the fauna and flora of a town.”
—Henry David Thoreau (18171862)