The goal of core.async is to decouple producers and consumers of information in software, without dictating specific thread or blocking semantics, and without introducing callback hell. Also, to do all of this as a library, portable anywhere you can run a dialect of Clojure.
core.async builds upon the work done with Communicating Sequential Processes, and provides:
What We Will Cover
In this talk, we will cover the design of core.async, and then move directly to exploring core.async’s capabilities:
goblocks to invert control, achieving async without threads
Finally, we will assemble these primitives into substantial working programs, building toward the Holy Grail of async: substantial UI application development in the browser, with no callbacks in sight.
Stuart’s talk is now available on the Chariot Solutions site.