Cómo utilizar clojure.core.async para tareas concurrentes – Resuelto

La biblioteca clojure.core.async proporciona un conjunto de herramientas para realizar programación concurrente de forma eficiente usando canales y bloques asíncronos.

Crear un canal

Creamos un canal con la función chan:

(def c (chan))

Enviar datos a un canal

Para enviar datos, usamos la función put!:

(put! c "mensaje")