HLang
An FBP-inspired language for building universal applications by wiring flows.
HLang treats an application as a graph of flows and nodes rather than glue code.
You build software the way you would wire hardware: snap together Node-style
Readable, Transform, and Writable stream nodes, connect an output port to
an input port, and let data propagate — no control flow, no orchestration
boilerplate.
It is fully reactive down to the metal: every port is an RxJS Subject, send()
pushes and receive() subscribes, and a topological scheduler drives the graph.
The same serialized graph — its IGraph intermediate representation — can be
interpreted in-process or ahead-of-time compiled into a standalone Node or
browser program: one description, two execution paths kept deliberately in sync.
- A three-part language pipeline — a runtime kernel, a host-agnostic interpreter that needs no code generation, and an AOT compiler that templates a graph into a runnable standalone program.
- A full visual devtool — a headless editor core (VS Code-style dependency injection, two dozen services, undo/redo, Sugiyama auto-layout, strict O→I connection validation) driving a React-Flow canvas, plus a design system that animates each node’s live signal as data actually streams through it.
- Batteries included — a deep set of built-in nodes, a nodes-and-flows market, and browser and desktop clients.
MIT, six packages under @hlang-org. HLang later became the reactive foundation
that AStack is built on — the start of one continuous line of work.

Comments