chan

added

ns
clojure.core.async

type
function

(chan) (chan buf-or-n) (chan buf-or-n xform) (chan buf-or-n xform ex-handler)

Creates a channel with an optional buffer, an optional transducer
(like (map f), (filter p) etc or a composition thereof), and an
optional exception-handler.  If buf-or-n is a number, will create
and use a fixed buffer of that size. If a transducer is supplied a
buffer must be specified. ex-handler must be a fn of one argument -
if an exception occurs during transformation it will be called with
the Throwable as an argument, and any non-nil return value will be
placed in the channel.

                user=> (def c (chan))
#'user/c
user=> (def c (chan 1))
#'user/c
user=> (def c (chan (buffer 2)))
#'user/c
;; Clojure 1.7
user=> (def c (chan 1 (filter string?)))
#'user/c