utahcreates
UC

In the workshop

utahcompiler

Turns written code into a running program — and checks its own maths on the way.

Rust workspaceZ3-verified passes

Cast being recorded

A compiler workspace: AST to typed IR with dialects, Cranelift codegen, and Z3 verification of its own transformations.

People write programs in words that humans can read. Computers only understand numbers. A compiler is the translator in between.

Translators can make mistakes — and a mistake here breaks every program it touches. So this one does something unusual: after each step of the translation, it does a little bit of maths to prove the meaning didn’t change.

Why this one is different

Most hobby compilers stop at “it produces a binary”. Verifying passes with an SMT solver is graduate-level territory, and it is the difference between a toy and a thing worth reading.

LanguageRust
BackendCranelift
VerificationZ3 SMT over transformation passes
StatusWorking; benchmark harness not yet built

Cast being recorded

More from the workshop

DataStream · SwiftQueue · U-THWART