github.com via Hacker News

FriendMachine's Jacquard targets AI-written, human-reviewed code

coding tools open source coding-tools programming-languages

TL;DR

  • Jacquard v0.1 is a FriendMachine research project positioned for running, reviewing, and simulating programs written by models and reviewed by people.
  • Function signatures declare which effects the function may perform, so `(text) ->{net} text` announces up front that the function may touch the network.
  • Program identity is a hash of canonical resolved structure rather than source bytes, and the same code can run against real networks, scripted fakes, or a probability model.

Most languages assume a human writes each line and remembers what they wrote. Jacquard starts from a different premise. It is a small research language just released at v0.1, and its GitHub README is explicit about the target audience: "a FriendMachine research project for running, reviewing, simulating, and trusting programs written by models and reviewed by people." The design work is aimed at what a human reviewer needs to know, not what a human writer wants to type.

The concrete moves are worth looking at. Every function has to declare what effects it can perform inside its type signature, so the README's example, `(text) ->{net} text`, says up front that the function may perform the `net` effect. Tests get the same treatment. Instead of mocking, you supply a "world," and the docs describe running the same code against, in their own list, "the real network, a scripted fake, a recording of last week's traffic, or a probability model." Program identity is a hash of the canonical resolved structure rather than the source bytes, so renaming a local or reformatting the file doesn't change what the runtime thinks the program is.

Why this matters if you don't write compilers for fun: the actual bottleneck in AI-written code today is review. A reviewer looking at a long function generated by an agent mostly wants to know "what can this touch, and how sure are we," and current languages force that question to be answered by reading. Jacquard's bet, in the README's phrasing, is that "the humans reviewing it need the language itself to answer" that question. If that idea generalizes, the interesting work of the next few years is less about faster code generation and more about giving reviewers a shorter, more mechanical question to answer.

The honest caveats are on the tin. The project explicitly calls itself "a research prototype, not a production language," with the main branch sitting around 140 commits and the implementation split across OCaml, a bit of C, and supporting bits. What the repo doesn't tell you is how effect declarations survive contact with FFI, how content-hash identity plays with existing package managers or CI, or what a migration story would look like for a team already shipping agent-written code in another language.

Still, the direction is the interesting bit. If review is going to be the durable human job in AI coding, languages built around review rather than writing are the ones worth watching.