Albite v1.0
Albite v1.0 (released as Tungsten by Spinning Cat Studios).
Released 15 February 2026. The first public release.
v1.0 established the thing itself: a dependently-typed language whose compiler is written in that language and compiles itself.
Compiler
- Self-hosted — the compiler is written in Albite and compiles itself to native code via LLVM 18.
- Verified triple-compile fixed point — the compiler reproduces itself identically across three compilation generations.
- A dependently-typed core with roughly 1,500 lines of trusted kernel.
- Native compilation for macOS (ARM64) and Linux (x86_64).
- Type checking without LLVM via
albite check, and interpreted execution viaalbite run.
Language
- Dependent types, generics, and type-level computation
- Algebraic data types, records with named fields, and tuples with
letdestructuring - Pattern matching with exhaustiveness and unreachability checking
- A module system with
modanduseacross multi-file projects - FFI through
extern "C" fn - String operations and concatenation
Standard library
Core types — Nat, Bool, String, List, Option, Result, Pair,
Ordering — with string operations.
Proofs
Propositional equality, boolean proofs, natural-number proofs and rewriting, with worked examples covering De Morgan’s laws, distributivity, associativity and ordering properties.
Project
MIT licence, contribution policy, code of conduct, security policy, a golden test suite for compiler output, and a CI pipeline covering bootstrap builds, LLVM matrix builds, integration tests and self-host verification.
v1.0 limitations, and where they went
v1.0 shipped with a set of known limitations, all of which v1.5 resolved:
nested patterns, early return, record spread, and module flattening. Two
further items documented as v1.0 limitations — the absence of else if and of
the -, *, /, % operators — turned out never to have been limitations at
all; the documentation was simply wrong. See Current
limitations for the current state.