One idea, three levels of effort

Three languages

Write the notation, draw the graph, or say it in English and let a local model write the program — which then has to compile before it is allowed to run.

LanguageWhat it isReach for it when
VoltA notation that parses into a graphThe job is “this, for all of those, then combine”
OhmLua 5.4 where LaTeX maths is executable syntaxYou need real control flow, or the full 49 operators
BoltEnglish, translated by a local modelYou would rather describe it than write it

Volt — the program is a graph

Every line names a thing, and the names are the edges. Building the graph is pure, so it is safe to do on every keystroke and on a program you have not read. Because it is a graph rather than a script, the independent work is concurrent, re-running recomputes only what changed, and the cost is countable before anything executes.

# Two companies, two questions. The whole program.

sites  = [apple, nvidia]
topics = [latest earnings, layoffs]
jobs   = sites × topics

found = search(jobs, k: 3)
brief = summarize(found, words: 60)

table(brief)
volt/04-verbs.volt
summarize takes one note, so it maps. join takes the whole list, so it folds. The operator’s own signature decides.

Ohm — mathematics as syntax

Lua 5.4, in which LaTeX mathematics is executable. $ ... $ is an expression; $$ ... $$ holds statements — assignment, loops, conditionals, operators. Maths and Lua share one set of variables; neither is a guest in the other.

-- Maths and Lua share one set of variables.
local A = {3, 1, 4, 1, 5, 9, 2, 6}

$$
  |A|                          % length
  \sum_{x \in A} x             % sum over a list
  \max_{x \in A} x
  \frac{\sum_{x \in A} x}{|A|} % mean
  sq := x \mapsto x^2          % a lambda
  \forall x \in A : sq(x)       % map over a list
  \{1, \dots, 5\}              % a range
$$

-- …and an AI operator is something you compose.
$$
  answer := \Cite_{\Gamma} \circ \Ground_{\Gamma}(\Summarize_{\Psi}(pages); C)
$$
The Math view
One file, three ways: the code you type, the mathematics it renders as, and the Lua it compiles to

49 operators, in five families

Each documented once, in the registry, and rendered everywhere from there. They compose with ∘, × and ∥ the way operators in a notation should.

FamilyForSome of them
\PsiReasoningAsk, CoT, ToT, GoT, Plan, Reflect, Critique, Summarize
\GammaContextSearch, Fetch, Retrieve, Rank, Filter, Compress, Ground, Cite
\mathcal{M}MemoryMemRead, MemWrite, MemSearch, MemSummarize, MemForget
\SigmaAggregationJoin, Vote, Debate, Cross, Flatten, Sort, Pick, Zip
\LambdaAgentsReAct, Verify, Fork, Chat

Bolt — English, but it has to compile

Describe the job and a local model writes the program. The model is bounded rather than trusted: it produces source, and source can be checked.

  • The output must pass the real compiler before it is allowed to run.
  • Compiler errors are fed back for a fix; if it still fails you get the broken source and an error, not a run.
  • You see the program it wrote before it executes.
  • The translation is cached by source and prompt, so the second run never asks the model at all — and a cached translation that no longer compiles is thrown away.
bolt/compare.bolt
Bolt source. English is an input method here — never the program, and never the record.