tupelo.async

tupelo - Making Clojure even sweeter

put-go!

macro

(put-go! ch val)
Puts a value onto a channel. Only valid in a `go` block.
Will park if channel is full. Equivalent to clojure.core.async/>! 

put-later!

(put-later! port val & args)
Puts a value onto a channel from another thread.
Equivalent to `clojure.core.async/put!` 

put-now!

(put-now! ch val)
Puts a value onto a channel.
Will block if channel is full. Equivalent to `clojure.core.async/<!!`  

take-go!

macro

(take-go! ch)
Takes a value from a channel and returns it. Only valid in a `go` block.
Will park if no value is available. Equivalent to clojure.core.async/<!  

take-later!

(take-later! & args)
Takes a value from a channel & passes it to the supplied function, using another thread.
Equivalent to `clojure.core.async/take!` 

take-now!

(take-now! ch)
Takes a value from a channel and returns it.
Will block if no value is available. Equivalent to `clojure.core.async/<!!`  

vec

(vec ch)
Extract all values from a channel into a vector.