work / 2023
Flowmaps
A map-based Clojure DSL for core.async flows, with a time-scrubbing debugger UI.
Extracted from Rabbit so the flow runner could live without the whole IDE. "I wanted to write async flows without a blindfold on." Subflows as functions, REST endpoints from named entry/exit points, :view and :speak on blocks. ~139 stars.
Timeline
- Fell in love with FBP before it had a name SQL Server 2000 DTS — an SSIS ancestor. Boxes and lines were already the way I think.
- Flowmaps, named Clojure FBP micro-framework. Link fns; core.async does the heavy lifting. Conditionals, loops, the maps must flow.
- Flowmaps Assemble, visualize, interact with complex core.async flows. The maps must flow.
- Scrubbable time Taking more core.async blindfolds off. If you have a process in time, you should be able to scrub it.
- A flow is a REST endpoint 1. Build the async flow. 2. Name entry/exit. 3. It's an HTTP endpoint. 4. Hit it and watch it run. Roads?
- Subflows Multi-in, multi-out, used like a block function. Proper puzzle pieces.
Sources: timeline.yaml