Blaise – A modern self-hosting zero-legacy Object Pascal compiler targeting QBE

· devtools coding systems · Source ↗

TLDR

  • Self-hosting Object Pascal compiler targeting QBE (and LLVM), dropping 30 years of legacy: one string type, one language mode, full ARC.

Key Takeaways

  • Replaces Free Pascal’s five string types and five language modes with a single UTF-8 reference-counted string and one dialect.
  • Automatic reference counting applies uniformly to strings, classes, and interfaces; [Weak] handles cycles; Free triggers immediate release.
  • Already self-hosting with byte-for-byte reproducible bootstraps; 1200+ tests; QBE backend complete, LLVM backend in active development.
  • Drops COM-style GUIDs in favor of compile-time vtable dispatch; reified generics via monomorphization; custom OPDF debug format instead of DWARF.
  • Build toolchain is PasBuild with project.xml; requires FPC 3.2.2 and a C compiler only to build the vendored QBE backend.

Hacker News Comment Review

  • No substantive HN discussion yet.

Original | Discuss on HN