Applying the paradigms of core.async in ClojureScript
summary
Shows core.async running in ClojureScript with concrete code: a hello‑world that streams characters over a channel using timeouts-as-channels, a 10,000 go blocks grid demo that produces independent pulsing cells, and a render pipeline that uses the alts macro to read multiple channels and avoid channel overflow. Ports an Ants simulation to the browser, then profiles and speeds it up by replacing persistent vectors/maps with arrays and for‑loops; the optimized version runs much larger and noticeably faster.
AI-written summary · about
chapters (11)
- 0:00Introduction and motivation
- 1:48Understanding Core Async
- 4:13Hello world with channels
- 8:10Advanced channel operators
- 11:02Visualizing lightweight threads
- 15:24Building rendering pipelines
- 19:21Handling browser events
- 20:43Concurrency vs parallelism
- 23:37Porting apps to ClojureScript
- 27:38Optimizing ClojureScript
- 32:06Summary and conclusion
related talks
40mCore.Async
01h 04mcore.async: Concurrency without Callbacks
25mFunctional effect and streaming systems in Clojure
31mClojure at 4,000 msg/s-What We Learned, Loved, and Loathed
40mFun with Functional Programming in Clojure
44mClojure core.async Evolution
01h 02mSolving Problems the Clojure Way
35mClojureScript & User Interfaces: Simplicity yields Possibilities
