Run, Build and Grow Small Systems Without Leaving Your Text Editor
summary
A ClojureScript-based editor becomes a runtime: a query macro injects live values inline (use a leading bang to update on every keystroke), async promises and streams show current states, and values from remote nodes (Raspberry Pi GPIO, serial ports, filesystems) appear in the buffer. Nodes receive all host capabilities as an argument, processes are declared by ID so three concurrent LED blinkers start and stop by editing code, and stateful expressions plus declarative process reconciliation keep persistent objects and reconcile running processes to the specification. Limitations: single buffer, no persistence, minimal security, no inter-node messaging yet.
AI-written summary · about
chapters (12)
- 0:00Live system editing
- 1:04Running code on Pi
- 2:30Live updates and async values
- 3:57File streaming and loops
- 4:39Declarative process management
- 5:44Stateful expressions and sensors
- 6:28Node scoping by context
- 7:52Inline visualizations
- 9:17State changes with timestamps
- 10:20Inspirations and limits
- 11:43Future plans and questions
- 12:46Capabilities summary
related talks
40mProgramming Clojure, Smalltalk-Style
32mGetting Superpowers with Clojure and ClojureScript
27mBuilding functional Front-ends with ClojureScript
05mA Life on a Commandline
35mApplying the paradigms of core.async in ClojureScript
43mStop Writing Dead Programs
35mMaking a lot of things
01h 29mTooling for the JavaScript Era
