TODAY IN NUMBERS
TECHNOLOGY · SATIRE · ROUND-TRIP REASONING

New Language Absorbs Python, TypeScript and C, and Will Turn Itself Back Into Them on Request

Jac compiles to Python bytecode, JavaScript and native machine code. An eject function reverse-compiles it, to meet corporate compliance.

Editorial cartoon illustration: A computer science professor stands on a small conference stage beside a large empty wooden crate, cheerfully tipping an armful of assorted mechanical gears into it while an audience watches from folding chairs. From a hatch on the far side of the crate the same gears are tumbling out into a neat pile on the floor. One technician crouches beside that pile with cupped hands, catching them as they fall.
Editorial illustration by The Questionable Times. Based on the verified event; scene is illustrative.

A University of Michigan professor has released a programming language intended to be written mostly by AI agents rather than by people, and has presented it as a replacement for the mixture of languages a typical company already runs.

Jac, and its runtime Jaseci, were shown by Jason Mars at the All Things Open conference in Raleigh, North Carolina, and were reported by Joab Jackson of The Register on 23 October.

The language is Python-like and combines the Python and TypeScript runtimes and toolchains. It compiles to Python bytecode, JavaScript and native machine code, and can draw libraries from both PyPI and npm.

It uses the LLVM compiler to offer Rust-style borrow checking and ownership semantics, and it can import C and C++ libraries. Java is not supported. "If you really need Java, Jac isn't for Java," Mars said.

Data in Jac is defined as a graph. Attributes sit under node keywords and the relationships among different nodes are defined by edge connections. The graph can live in local memory, on disk or on a cloud server.

Rather than have an agent fetch and process data itself, the agent dispatches a walker to traverse the structure and process it on the go. Several walkers can follow different paths, which Mars says gives natural parallelism.

Mars also described an eject function, which would reverse-compile a user's Jac code into TypeScript, Python or C to meet corporate compliance.

His argument for a new language rests partly on the cost of translating between the existing ones. He cited Jarred Sumner, creator of the Bun framework, who spent 165,000 dollars in Anthropic tokens converting Bun's code, and remarked of the model used that it "can't translate Bun to Rust unless you spend $165,000". Mars argued that the cost came less from the task's difficulty than from moving between two human-centred languages. The Register did not independently verify the figure.

"We're not using these tools anymore. We're using the agents, and the agents are using those tools," Mars said. "I don't want new tools, but I want tools [for] my agents."

Jaseci has been used in a number of smaller commercial AI services, among them GraphClaw, a multi-agent platform, Skooch, a scheduler, and Tobu's personal memory platform. The Register's own assessment was that whether developers and agents take up Jac as a unified language "remains to be seen".

The structure of the proposal rewards a moment's attention. Translating between two human-centred languages cost 165,000 dollars. The remedy is a third human-centred language, into which the first two are to be translated.

The remedy arrives with a release valve. Where a company cannot accept code in the new language, the eject function converts it back into TypeScript, Python or C, which is to say back into the languages the new language was written to absorb.

This newspaper regards the arrangement as complete. Jac gobbles up the polyglot stack and then, on request, produces the polyglot stack.

The Department of Unnecessary Research notes the one thing that survives the round trip unchanged, which is the compliance department's requirement that the code be readable in Python, TypeScript or C.

Jac, on that reading, is not a replacement for those languages. It is somewhere to keep them while an agent is working.

WHAT JAC COMPILES TOQUESTIONABLE ANALYTICS
100Python bytecode
100JavaScript
100Native machine code
0Java
Illustrative newsroom graphic. Jac compiles to Python bytecode, JavaScript and native machine code; Java is not supported.
THE BORING FACT

Jason Mars, a University of Michigan professor, has created Jac, a Python-like language for AI agents that compiles to Python bytecode, JavaScript and native machine code, and whose eject function reverse-compiles Jac code into TypeScript, Python or C to meet corporate compliance.

Source: The Register
OUR PROFESSIONAL CONCLUSION

Because the cure for the cost of translating between human-centred languages is another human-centred language, and because its compliance feature converts it back into the languages it absorbed, Jac is less a replacement for Python, TypeScript and C than somewhere to keep them while an agent works.

REALITY CHECK · ROUND-TRIP REASONING

Unfortunately, there's a small problem.

An intermediate language can genuinely cut translation cost by giving agents one target instead of many, and reverse-compilation is an exit route rather than a defeat of the design. The joke treats a round trip as proof that the journey was pointless.

THE BS DETECTOR

Where did reality end?

Tap the paragraph where this story stopped being true. Then see where everyone else bailed.

 

READER CREDULITY METER

Did you believe this story before the twist?

Be the first reader to answer.