Program
A reactive programming language where values recompute themselves. Declare what things are and the runtime works out when to update them, keeping everything in step.

About
State can live anywhere. There is no store to set up and no single place state has to live: a value can sit right where it is 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.
Features
Beautifully simple
A compact definition, a small core you can hold in your head.
Effortlessly asynchronous
Asynchronous values are ordinary reactive values; a network result updates the screen the moment it lands.
Completely composable
Every module is a boundary with a small reactive surface, and the dependencies between modules track themselves.
Batteries included
A broad standard library covers data, the interface and networking.
Animation and graphics
Animation, graphics, charts and games are part of the language.
Immediate polyglot
One source renders into many languages, and back into Program itself.
Screenshots
program.org introduces the language, its ideas and its module library, with complete example programs.
You build applications
A reactive language where values recompute themselves: declare what things are, and the runtime keeps everything in step. Visit program.org ↗
The language
What makes Program different, with every keyword in a single program. Read about the language ↗
The ideas
Reactivity, asynchronous values, comparable functions and polyglot output. See the ideas ↗
Examples
Complete programs, from a one-line hello world to a reactive counter, a live HTTP request and an animated value. See the examples ↗
Module library
The standard library in four categories, core, data, interface and connectivity, all searchable. Browse the modules ↗
One source, every target
A program is defined once and rendered into idiomatic JavaScript, TypeScript, Dart, Swift, Go, Rust or Zig. See the targets ↗
Contents
The sections of program.org, and the pages in each.
Technologies
- JavaScript - Language target and compiler
- Node.js - Language target and compiler
- C++ - Language target and compiler
More research
- ReactiveJS - A small reactive framework with two-way binding and reversible calculations
- CRDT - Conflict-free replicated data, and a shared real-time database built from it
- Reversibility Institute - Reversible processes across computing, manufacturing and physics