Austral: A Systems Language with Linear Types and Capabilities (2022)
Published on: 2025-06-08 04:37:09
Austral is a new systems programming language. You can think of it as Rust: The Good Parts or a modernized, stripped-down Ada. It features a strong static type system, linear types, capability-based security, and strong modularity.
This article is an introduction to the language. The first few sections are high-level: they are about the design and the mindset of the language. The next two sections, about linear types and capability-based security, are much more detailed and technical: they are meant to prove to the reader that the claims being made about security and correctness are true.
Contents
Design Goals
There is a section in the rationale that explains the design goals for Austral, but it boils down to two things:
Simplicity Strictness
Simplicity means different things to different people. Some use it to mean familiarity, or ease of use, or even terseness. Simplicity here has a straightforward definition: it is the amount of information it takes to describe a system.
Comp
... Read full article.