History

An idea the field has been
building toward.

“Code is structure” is one of computing’s oldest and most beautiful ideas, explored by brilliant people for fifty years, each generation advancing it and each right for its time. flowG doesn’t claim to have invented it. It builds on all of it, and the moment is finally right: parallel silicon everywhere, compute in the browser, and energy worth measuring.

1945 · the foundation

Text built the modern world.

When von Neumann described the stored-program computer, the teletype made text the natural way to write and read code, and it was exactly right. For eighty years a whole civilization of wonderful tools grew on it: editors, parsers, formatters, diffs, version control. flowG keeps all of that. Text stays the surface people love; the graph it represents becomes shared too.

today · the opportunity

Everything else became a graph.

The silicon is parallel. The computation is a parallel graph. The intelligence we built on top (attention) is graph-structured. At every layer the world is relational and multidimensional. flowG lets the source code share that shape too, working at the structure directly, while text stays the surface you read and write.

The lineage

Six threads, fifty years.

flowG is a synthesis, not a bolt from the blue. Each of these communities found a piece of it. The contribution is connecting them, and adding energy as the spine.

01 · 1970s →
Dataflow & visual programming
Jack Dennis & Arvind (MIT dataflow) · LabVIEW “G” (1986) · Prograph · Max/MSP · Pure Data · Simulink · Node-RED · Enso

The first machines and languages where computation is a graph of operations that fire when their inputs are ready. Forty years of evidence: programs-as-graphs ship and win in domains that are intrinsically dataflow: signal processing, instrumentation, control, and ETL.

lessonGraphs win where the work is dataflow. They stalled on branchy, stateful control. That was a UX problem, not a theory problem.

02 · 1990 →
Graph reduction & interaction nets
Lévy & Lamping (optimal reduction) · Yves Lafont (interaction nets 1990, combinators 1997) · HVM / Bend

The most rigorous form of “the graph is the program”: computation is local graph rewriting that is inherently parallel. No instruction pointer marching down a line. Nodes react where they meet, and independence is parallelism for free.

lessonA reduction model maps onto parallel silicon more naturally than a sequential one ever could.

03 · 2010s →
Content-addressed code
Unison (Paul Chiusano, Rúnar Bjarnason) · cousins: Git, Nix, IPFS

The cleanest break from text-as-truth: every definition is identified by the hash of its syntax tree. Names are just labels, there are no source files in the usual sense, so no merge conflicts, perfect caching, trivial code mobility, and an effects system in the same spirit as resource-typed wires.

lessonThe closest existing answer to “let a machine mutate code without breaking the build.”

04 · 1981 →
Projectional & structural editing
Cornell Program Synthesizer (Teitelbaum, 1981) · Intentional Programming (Simonyi, MSR) · JetBrains MPS · Hazel (typed holes) · Lamdu

Edit the tree, not the characters, so a program is never syntactically broken. Simonyi’s “intentional tree with text as one projection” is almost exactly flowG’s thesis, thirty years early.

lessonPeople rightly loved text. It is fast to write, and the whole toolchain speaks it. flowG keeps text as a first-class surface and adds the graph beneath, so people and machines each work in the form that suits them. That is why the idea is ready now.

05 · 2015 →
ML graph IRs
Theano / TF1 · PyTorch & JAX (jaxpr) · ONNX · MLIR (Lattner, 2019) · XLA / StableHLO · TVM · IREE · Triton · GGML · MLX

Machine learning rebuilt all of this for tensors: trace a program into a graph, then lower one graph to many backends. JAX is explicit about it: Python is a frontend to a graph.

lessonOne-graph-many-silicons is table stakes for tensors. flowG’s contribution is generalizing it beyond tensors, to all code, with resource-typed wires and energy as a first-class unit.

06 · 2014 →
The energy basis
Mark Horowitz, “Computing’s Energy Problem” (ISSCC 2014)

The much-cited table that put hard picojoule numbers on primitive operations: an 8-bit add costs a sliver of a pJ; a DRAM access, hundreds to thousands of times more. Data movement, not arithmetic, is where the joules go.

lessonflowG operationalizes that table as a placement pass that routes each op to the lowest-joule silicon and hands back a receipt.

interaction net (Lafont, 1990) · connections are the computation

The rigorous root of “the graph is the program”: local rewriting, inherently parallel.

The evidence

The field keeps rediscovering the substrate.

Recent research keeps finding, empirically, that under the syntax of every language there is a shared, language-agnostic structure, and that operating on it works better. These aren’t flowG’s results; they’re the ground it’s built on.

LACE IBM, NAACL 2024

Code embeddings contain separable syntax and language-agnostic semantics; remove the syntax part and downstream tasks improve.

arXiv:2310.16803
Semantic Hub 2024

LLMs develop a shared representation across languages and modalities: the same semantic region for Chinese, arithmetic, and code.

arXiv:2411.04986
IRCoder UKP Lab, ACL 2024

Forcing code models through a shared intermediate representation gives consistent multilingual gains.

arXiv:2403.03894
ProGraML ETH Zürich, ICML 2021

Language-agnostic graphs reach 94% F1 on compiler analysis across six source languages, beating sequences for program understanding.

arXiv:2003.10536
CodeGRAG 2024

Control-/data-flow graphs from one language improve code generation in another, so graphical structure transfers.

arXiv:2405.02355
UniCoder ACL 2024

Routing through a universal pseudocode before emitting target languages improves generation. Even a naïve substrate helps.

arXiv:2406.16441

Each validated a piece in isolation: embeddings, intermediate representations, read-only graphs, pseudocode. The remaining work was to make the graph the source of truth, give it resource-typed wires, and meter it in joules.

Why now

Why now: the moment is right.

Text earned its place: people write it fast, and the whole toolchain (diff, review, blame, the terminal) speaks it beautifully. flowG keeps every bit of that and adds a shared graph beneath, so people keep their surface while every language and every chip gain one too. What’s new is the timing: parallel silicon everywhere, WebGPU putting compute in the browser, and energy finally something we can measure and save.

So this is not a claim of novelty. It’s a claim of timing, and of cause. We’re building the thing fifty years of brilliant work has been circling, in the open, because energy-efficient compute is worth building. Stand on the shoulders; carry it the last step.