Ants in My Chans
summary
Compares Clojure primitives (atoms, refs, STM, core.async channels) to iOS patterns (GCD/Dispatch queues and NSOperation), shows how message-passing via channels maps to queues and avoids shared-state races, and demonstrates an ants simulation re‑written with core.async channels and Swift that runs and coordinates many agents. Gives concrete tradeoffs: atoms/ref snapshots are fast for isolated state, STM handles coordinated multi-var updates, channels simplify composable async pipelines; shows long‑running work offloaded to threads with promise‑style callbacks.
AI-written summary · about
chapters (6)
- 0:00Introduction and welcome
- 2:50Currency support in programming
- 11:31Dutable data structures in Closure
- 20:28Transaction support and simulations
- 27:27Unique programming languages
- 29:40Conclusion and thanks
related talks
29mComparative Asynchronous Programming
36mConcurrent ML - The One That Got Away
26mConcurrency primitives of Golang - how to use and how not to
01h 04mcore.async: Concurrency without Callbacks
44mClojure core.async Evolution
01h 35mThinking Outside the Synchronisation Quadrant
34mComparing the Actor model & CSP concurrency with Elixir & Clojure
28mAutomated Correctness Analysis for core.async
