HLang
A flow-based programming language for building universal applications by wiring live streams.
HLang treats a program as a graph of nodes rather than glue code. You wire
software the way you would wire hardware: snap together Readable, Transform,
and Writable nodes, connect an output port to an input port, and let data
propagate. Every port is an RxJS Subject — send() pushes, receive()
subscribes — so connections stay live: data keeps moving through the graph as
long as the sources emit.
The same program, serialized as its IGraph JSON, runs two ways kept
deliberately in sync: interpreted in-process (Node and the browser, no code
generation) or compiled to a standalone ES module with identical behaviour.
HLang depends on no editor — a visual tool only has to emit an IGraph.
- A layered runtime —
runtime(nodes, ports, and flows on RxJS),ir(theIGraphtypes and theplanGraphvalidation and lowering step),interpreter, andcompiler, each building on the one before it. - Lumen, a full editor stack — a headless editor core (commands, undo/redo,
validation,
IGraphserialization), React hooks binding it to React Flow, and a design system whose nodes animate each live signal as data streams through. - Batteries included — a deep set of built-in nodes plus browser and desktop clients, with teams building their own editors and platforms on the same runtime.
MIT, seven packages under @hlang-org (mirrored as @hlang-tech). HLang later
became the reactive foundation that AStack is built on — the start of one
continuous line of work.

Comments