O'Reilly logo

Clojure Applied by Alex Miller, Ben Vandgrift

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Futures and Promises

For asynchronous evaluation, Clojure’s core features include the future, proposed by Baker and Dewitt in The Incremental Garbage Collection of Processes [HB77][82] as a means of concurrent evaluation in 1977. The promise, facilitating synchronization of concurrent threads, is also provided. Promises were proposed in 1976 by Friedman and Wise in their paper The Impact of Applicative Programming on Multiprocessing [FW76]. Both futures and promises enjoy widespread implementation in both functional and object-oriented languages.

These aren’t the only concurrency mechanisms currently available. Clojure added the core.async contrib library to supplement its concurrency toolkit in 2013.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required