State can live anywhere.
There's no store to set up and no single place state has to live. A value can sit right where it's used, a context can flow down to everything beneath it, and the dependencies between them track themselves — so the structure of your code is the structure of your program.
Highlights
Beautifully Simple
The whole language is a compact definition, a small core you can hold in your head, not a sprawling specification.
View syntax →
Effortlessly Asynchronous
Asynchronous values are ordinary reactive values. No promises to await and no callbacks to wire. A network result updates the screen the moment it lands.
Learn more →
Completely Composable
Every module is a boundary with a small reactive surface. Snap them together and the dependencies between them track themselves.
Learn more →
Batteries Included
A broad standard library covers data, the interface and networking, so most programs need nothing else to get going.
View modules →
Animation and Graphics
Animation, graphics, charts and games are part of the language. Animate a value with a single binding and the view follows on its own.
Interface modules →
Immediate Polyglot
One source renders into many languages and back into Program itself, so the same program runs wherever you need it to.
Learn more →
Explore
The language, worked examples, the module library and the targets it renders into.