{"slug": "michigan-prof-creates-python-like-jac-language-for-ai-agents", "title": "Michigan prof creates Python-like Jac language for AI agents", "summary": "University of Michigan professor Jason Mars unveiled Jac, a Python-like programming language, and its Jaseci runtime, which treat AI agents as first-class entities, in a talk at the All Things Open 2026 conference in Raleigh, North Carolina. Jac compiles to Python bytecode, JavaScript and native machine code, draws on both PyPI and npm libraries, and uses LLVM integration for Rust-style borrow checking and C/C++ imports, while defining core data as graphs traversed by \"walkers\" rather than tables and objects. Mars argued the design avoids the polyglot translation costs he illustrated with Bun creator Jarred Sumner's $165,000 spend on Anthropic tokens to convert Bun's Zig code to Rust, saying \"Mythos is supposed to hack into our nuclear reactors and take over the planet like Skynet, but it can't translate Bun to Rust unless you spend $165,000.", "body_md": "# Michigan prof creates Python-like Jac language for AI agents\n\n[The Register](https://www.theregister.com)\n\nStop burning $165K on AI rewrites; Jac is meant to \"gobble up\" your polyglot stack\n\nMost programming languages were written for human programmers, but that's about to change. University of Michigan professor [Jason Mars](https://midas.umich.edu/directory/jason-mars/) has developed an academically ambitious language called [Jac](https://www.jaseci.org), and a runtime called Jaseci, that treats AI and AI agents as first-class entities. \n\nMars demonstrated the [language and runtime](https://docs.jaseci.org/) in a talk at the [All Things Open](https://allthingsopen.org/events/all-things-open-2026) conference, held in Raleigh, North Carolina, this week.\n\nThe tools we use to create software – everything from programming languages to build toolchains – were made for human consumption. They were created before [generative AI](https://www.machinebrief.com/glossary/generative-ai) and are ill-fitted to understand agentic needs.\n\nCurrently, agents are drowning in polyglot complexity, he argued. \"We're not using these tools anymore. We're using the agents, and the agents are using those tools. So I don't want new tools, but I want tools [for] my agents,\" he told the audience.\n\n### One big hungry language\n\nIn his talk, Mars cited Jarred Sumner, creator of the Bun framework, who spent $165,000 in [Anthropic](https://www.machinebrief.com/glossary/anthropic) tokens to [convert Bun’s Zig code into Rust](https://www.theregister.com/devops/2026/07/14/zig-creator-calls-buns-claude-rust-rewrite-unreviewed-slop/5270743) earlier this year using a pre-release version of Mythos. Mard argued the heavy expense wasn't so much because the job itself was complicated; it was because everything had to be translated between two human-centered programming languages. \n\n“Mythos is supposed to hack into our nuclear reactors and take over the planet like Skynet, but it can't translate Bun to Rust unless you spend $165,000,” he noted.\n\nIn Mars’s theory, Jac is a new type of programming language designed to “gobble up” other languages. Specifically, it's a Python-like language that integrates both the TypeScript and Python runtimes and toolchains. It compiles to Python bytecode, JavaScript, and native machine code. It can make full use of any libraries both in the PyPI and npm ecosystems.\n\nAnd there’s more! Jac has also incorporated the LLVM compiler to implement Rust-style borrow checking and ownership semantics, allowing Jac code to directly benefit from these memory safety rules and performance gains. It can also import C and C++ libraries, thanks to the very same LLVM integration.\n\nMars also described an “eject function,” which can reverse-compile the user’s Jac code into TypeScript, Python, or C to meet corporate compliance.\n\nOne currently missing language is Java. “If you really need Java, Jac isn’t for Java,” he said.\n\n### Happy bot, happy lot\n\nJust as Jac’s design sets out to battle ecosystem fragmentation, it also attempts to unify architectural fragmentation by defining data structures as graphs.\n\nInstead of building and populating a database table, or creating objects from a class, the data’s attributes are defined under node keywords. The relationships among different nodes are defined by edge connections. Local program logic can still use objects, but the core data will be a graph, which can reside in local memory, a storage disk, or cloud server.\n\nSo, yeah, graph computing. Creating a graph from all your data is more work than just creating database tables and some foreign keys to tie ‘em together, but graphing saves agents a lot of work down the line, he posited. No longer will the agent have to burn tokens extracting data from databases, object blobs, JSON strings, or Python objects.\n\nInstead of the agent fetching data hither and processing it over yonder, the agent can dispatch a “walker” to traverse the data structure and process it on the go. Multiple walkers can go down different paths of the graph, resulting in natural parallelism for faster execution.\n\n### Tidy the abstraction\n\nFor his All Things Open talk, Mars conducted a bake-off between Jac and [LangGraph](https://www.langchain.com/langgraph), an agent orchestration framework that uses Python libraries to build agents. \n\nHe asked an [AI agent](https://www.machinebrief.com/glossary/ai-agent) to use each platform to build a replica of [Greptile](https://www.greptile.com/), an AI code review tool. With Jac, the agent autonomously built a sophisticated multi-stage app that could call multiple tools in parallel.\n\nUsing LangGraph, the agent produced a crude linear state machine that could not work in parallel. It was probably weighed down by all of the tools it had to use, Mars concluded.\n\nMars’s takeaway from this exercise: The tools we provide the AI determine the quality of the output.\n\nThus far, the language and runtime have been used in [a number of smaller commercial AI-related services](https://www.jaseci.org/built-with-jaseci), such as the [GraphClaw](https://github.com/zero-abd/graphclaw) multi-agent AI platform, the [Skooch](https://www.skooch.ai/) scheduler, and [Tobu’s personal memory platform](https://blogs.jaseci.org/blog/posts/tobu-memory-graph-case-study).\n\nWhether developers and agents gravitate towards Jac’s promise as a unified language remains to be seen, but it certainly is giving other Python agent frameworks a run for their money. ®\n\nGet AI news in your inbox\n\nDaily digest of what matters in AI.\n\n## Key Terms Explained\n\n[AI Agent](https://www.machinebrief.com/glossary/ai-agent)\n\nAn autonomous AI system that can perceive its environment, make decisions, and take actions to achieve goals.\n\n[Anthropic](https://www.machinebrief.com/glossary/anthropic)\n\nAn AI safety company founded in 2021 by former OpenAI researchers, including Dario and Daniela Amodei.\n\n[Generative AI](https://www.machinebrief.com/glossary/generative-ai)\n\nAI systems that create new content — text, images, audio, video, or code — rather than just analyzing or classifying existing data.", "url": "https://wpnews.pro/news/michigan-prof-creates-python-like-jac-language-for-ai-agents", "canonical_source": "https://www.machinebrief.com/news/michigan-prof-creates-python-like-jac-language-for-ai-agents-k4xg", "published_at": "2026-10-23 15:46:19+00:00", "updated_at": "2026-10-23 18:14:03.370049+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "artificial-intelligence"], "entities": ["Jason Mars", "University of Michigan", "Jac", "Jaseci", "All Things Open", "Jarred Sumner", "Bun", "Anthropic"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/michigan-prof-creates-python-like-jac-language-for-ai-agents", "markdown": "https://wpnews.pro/news/michigan-prof-creates-python-like-jac-language-for-ai-agents.md", "text": "https://wpnews.pro/news/michigan-prof-creates-python-like-jac-language-for-ai-agents.txt", "jsonld": "https://wpnews.pro/news/michigan-prof-creates-python-like-jac-language-for-ai-agents.jsonld"}}