core.async is about making processes that take values from and put values into channels.
(require [clojure.core.async :as a])
Creating channels with chan
You create a channel using the chan function:
(def chan-0 (a/chan)) ;; unbuffered channel: acts as a rendez-vous point.
(def chan-1 (a/chan...