A core.async Debugging Toolkit
summary
A library reimplements core.async primitives to run asynchronous functions inside a controllable step machine that records thread and channel state, captures action history, and supports a deterministic scheduler plus seeded random scheduling so runs are reproducible. It visualizes which threads put to which channels, finds latent deadlocks by fuzzing seeds with test.check, lets tests step or quiesce execution, exposes timeouts for manual firing, and is already used to model and migrate workflows into Amazon Simple Workflow.
AI-written summary · about
chapters (6)
- 0:00Start
- 1:37core.async example
- 4:27Vijualize step machine state
- 13:39Latent deadlock example
- 21:20core.async usage
- 21:35step.async usage
related talks
25mAsynchrony: Under the Hood
55mBehavioral Modeling in HW/SW Co-design Using C++ Coroutines
58mWelcome to the (state) machine
35mThe Multi-Threaded Asynchronous Parallel World of Swift
42mGame of Threads - You Spawn or You Die
47mAsync demystified
40mDecoupling your Springboot microservices live coded using workflow automation
41m(Don't) use coroutines for this
