Skip to content

Instantly share code, notes, and snippets.

@Jared314
Last active December 20, 2015 01:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jared314/6047624 to your computer and use it in GitHub Desktop.
Save Jared314/6047624 to your computer and use it in GitHub Desktop.
Clojure core.async example 3
(ns async3
(:require [clojure.core.async :as async]))
(defn alice [c message]
(async/>!! c message))
(defn person [name c]
(async/go
(let [message (async/<! c)]
(println name " received: " message)
message)))
(def bob (partial person "Bob"))
(def carol (partial person "Carol"))
(def dave (partial person "Dave"))
(let [c (async/chan 1)]
(-> (bob c)
(carol)
(dave))
; Alice sends the message
(alice c "Eve Evenson's House @ 10pm"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment