A quiet experiment from the FriendMachine research group has landed on the front page of Hacker News: Jacquard, a small programming language built around a practical anxiety of the AI era. As models generate more and more code, the people reviewing it cannot afford to trace every function call. Jacquard answers a simple question with language-level guarantees: what can this piece of code possibly affect?
In Jacquard, every function signature lists the 'effects' it may perform — network, files, the system clock, randomness — and the runtime refuses any effect the caller has not explicitly granted. A reviewer glances at a signature like (text) ->{net} text and instantly knows the function may reach the network. The checker guarantees that nothing below that function can sneak an unlisted effect in. Compare this with Python, where learning whether a one-line change can call home requires reading the whole transitive closure of what it imports. Jacquard makes the boundary visible by design.
Beyond effects, the language bakes in two unusual ideas. First, one program can run against many 'worlds': the real network, a scripted fake, a recording of last week's traffic, or a probability model of how servers behave. You swap the handler and the code never changes, turning 'what would my agent do if the API went down?' into an ordinary test. Second, a Jacquard program can enumerate exact probabilities for finite discrete choices, which means a failing test can be treated as evidence and the language can tell you which code patches remain possible — and how likely each is.
Perhaps the most striking design choice is structural identity. Jacquard hashes the resolved structure of a program rather than its source bytes. Comments, formatting, and ordinary renames are erased, so tests rerun only when the actual code or its dependencies change. The bet is that when machines write most code, the human in the loop needs the language itself to answer 'what can this touch, and how sure are we' — without reading every line.
Jacquard is a research prototype, version 0.1, with an honest limits document, an OCaml-based checker, a C-emitting compiler and a Warp test framework. It is not a production language, and the creators are explicit that its runtime sandbox is not a substitute for an operating-system sandbox. But it frames a real question: the next generation of programming languages may need to be judged not by what they compute, but by how clearly they reveal what they are allowed to do.