Archive for August 19, 2026

Wednesday, August 19, 2026

Mojo 1.0

Modular (tweet, beta, Hacker News):

Today, the Mojo language officially reaches 1.0: a milestone the language has been building toward since its first release in 2023. Mojo has grown into a general-purpose language with a vibrant developer community writing their own libraries, tools, and applications on top of it. With Mojo 1.0, developers can now build for the long-term on a stable, production-ready language foundation.

[…]

Importantly, Mojo 1.0 does not mark the end of the language’s evolution, but it is an important milestone on a longer journey. During the 1.x timeframe, changes should primarily be additive, giving developers confidence that the language will not continually shift beneath them. Breaking changes may still be made, but will be managed with care, following the standards of how mature languages (e.g. C++) evolve over time.

Modular (Hacker News):

We are happy to announce that the Mojo🔥 language is now fully open source under the Apache 2.0 license (with LLVM exceptions)! The source code for the Mojo compiler, tooling, and everything else you need to build the language are now available in our modular GitHub repository.

[…]

The Mojo standard library has been accepting contributions since 2024, and we’re grateful for everyone that has helped advance the language. One learning (particularly in today’s era of AI coding) is that we need to be deliberate about how we handle contributions. As such, we aren’t ready to take contributions to the compiler and tooling. We aim to accept contributions to the compiler and tooling by the end of this year, and we’ll share more details when we can.

Abdul Dakkak, Chris Lattner, and Jeff Niu (2023):

This talk will give an overview of Mojo 🔥, a new programming language in the Python family built on MLIR and LLVM. Mojo aims to bridge the programmability and performance gap in systems programming by combining Python’s ergonomics and ecosystem with C++ and CUDA-level performance into a single language. We will describe how Mojo leverages the MLIR and LLVM infrastructures to provide meta-programming, user-defined code transformations, hardware backends, adaptive compilation, and auto-tuning to enable developers to achieve performance without sacrificing programmability.

Gergely Orosz (2025, tweet):

Chris Lattner is one of the most influential engineers of the past two decades. He created the LLVM compiler infrastructure and the Swift programming language – and Swift opened iOS development to a broader group of engineers. With Mojo, he’s now aiming to do the same for AI, by lowering the barrier to programming AI applications.

I sat down with Chris in San Francisco, to talk language design, lessons on designing Swift and Mojo, and – of course! – compilers.

See also: LPython (Hacker News).

Previously:

Sudoku in Turing-Complete Unicode Transliteration Rules

Nicolas Seriot (Hacker News, Reddit):

The core Unicode algorithms (normalization, casing, bidi, collation) are deliberately bounded, but UTS #35 transliteration rules, under their natural unbounded semantics, are not. This is a result I haven’t found published before.

These rules ship as locale data in ICU, the Unicode library shipped in operating systems, browsers, runtimes, and databases. Whether a given rule file terminates on a given input is undecidable.

[…]

To prove UTS #35 universality, we compile 2-tag systems (Post, 1943), a model proven universal (Cocke & Minsky, 1964), into transliteration rules.

[…]

Transliteration rules were designed to turn “é” into “e”. Three lines of them can compute the Collatz function.

KT_Music:

Inspired by this, I tried creating an implementation that “solves #Sudoku” using only UTS#35 transformation rules 😎

Previously:

Jira Is Turing-Complete

Nicolas Seriot (Hacker News):

Engineering folklore holds that Jira (Atlassian’s project-tracking tool) is Turing-complete. Existing claims point vaguely at automation features without exhibiting a reduction. This article supplies a proof, with setup instructions and execution trace.

[…]

Minsky proved this model Turing-complete (1967). Exhibiting it in Jira’s automation language therefore establishes the reduction. Here is how the model maps onto Jira:

Minsky Machine Jira
Register A Count of linked issues of type Bug
Register B Count of linked issues of type Task
Program Counter Status of a single Epic issue
Dispatch Table Jira Automation rules, one per instruction state
Clock Automation-triggered transitions, or external re-triggering past chain caps