Online / Zoom
18:00 CET (GMT+1)
December, 10
Free (but invaluable)

  • Unraveling the internals of Clojure's asynchronous programming engine

core.async: Deep Dive

// Engineering Meetups

More about the talk
Clojure Engineer at Health Samurai
Andrey Listopadov
Intro from Speaker
An in‑depth look at the internals of clojure.core.async and what they mean for asynchronous programming in Clojure. We will go past the public API and examine what really happens under the hood when you spin up asynchronous processes and pass messages over channels.​​

What this talk covers:
  • The internal structure of channels, queues, timers, and event loops, and how they work together to drive asynchronous workflows.​
  • How “virtual threads” are compiled and scheduled, and why this model fits Clojure so well.​​
  • How the macro system is used to implement core.async semantics and transform ordinary Clojure code into state machines.​​

Who should attend
  • Programming language designers and implementers exploring ways to add asynchronous execution to their language.​​
  • Clojure developers who use core.async today or are evaluating it for production systems.​
  • Engineers interested in how asynchronous processes and message‑passing channels really work beneath the abstractions.​

After this talk, you will:
  • Clearly understand the difference between asynchrony and parallelism, and when each model is appropriate.​
  • Have a mental model of the internal mechanisms of clojure.core.async and be able to judge where this approach fits their own projects.​
  • Gain a deeper understanding of how asynchronous “threads” and channels are implemented, helping them design more robust concurrent systems.
Do you want to receive notifications about upcoming meetups?
Made on
Tilda