In core.async you push data onto a channel and pull from that channel at a point later in time, perhaps in another thread. This allows your code to do something without having to wait for the results.
At the heart of core.async is the process, a concurrently running unit of logic that responds to events. The process corresponds to our model of the real world: entities interact with and respond to each other independently without some kind of central control.
We will discover the basics of core.async by writing code (or watching me write code) and evaluating it in the REPL.
John is a speaker, author, conference organiser & community obsessed developer. Loves Clojure, Emacs, Cats, Cycling & Agile development. He is a conference organiser for Clojure Exchange, London Java Conference, etc) with 20 years of speaking experience.