Blog
Notes from the reactive graph.
Release news, design notes and the occasional deep dive into how Program behaves once a program gets big.
All posts
- An Introduction
It is rare that something comes along that truly changes how programming is approached. Most new languages and frameworks are just rearranging the furniture. Here is the step I think comes next.
- Mission Possible
The goals Program sets itself, and the unusual choices that turn out to pay for themselves many times over.
- The Key To Reactivity
Building reactivity from scratch, and the trick that lets state live anywhere: let the structure of the code itself be the tree.
- Spooky Reaction At A Distance
Write the local part and let the system handle the long-range effects; the way back up is just the downward path run in reverse.
- Descending Mount Effect
Effects are simply the outputs of one cycle of the program, and any output can feed the next input.
- Let That Async In
Values are not plain; they carry a little metadata. That is all it takes to make everything asynchronous, without async or await.
- Cross Cutting Concerned
Loading, errors, retries and locking smear across most codebases. In Program they are handled once, at the edges.
- JSON And The Algorithms
A tour of the canonical command form a Program is stored in, command by command, and how it renders into real languages.
- Not My Final Format
The program format is small and provisional, deliberately so: simplicity is what buys polyglot output, diagrams and snapshots.