Blaise: A Modern Object Pascal Compiler for the 21st Century
Build Blaise with PasBuild and run the full 1,200+ test suite to verify compatibility with your existing Pascal code.
Build Blaise using PasBuild, run the full test suite, and evaluate migration of existing FPC/Delphi code with the migration analyser tool.
Summary
Blaise is a next‑generation Object Pascal compiler built from the ground up to eliminate legacy baggage. It offers a single language mode with a UTF‑8 reference‑counted string, automatic reference counting for strings, classes, and interfaces, and reified generics that monomorphize at compile time. The compiler emits OPDF debug information and currently uses a QBE backend, with an LLVM backend in active development. Blaise self‑hosts, bootstrapping itself with byte‑for‑byte exact matches, and relies on PasBuild’s project.xml build system. The project has over 1,200 tests and a growing test‑driven development culture. It supports Windows, macOS, Linux, and ARM64, and includes a migration analyser for FPC/Delphi codebases. The compiler is released under the Apache License 2.0 with Runtime Library Exception, and the source is available on GitHub. Blaise is still finalising its core architecture and is not yet accepting code contributions, but community feedback is welcomed via GitHub Discussions.
Key changes
- Single language mode with UTF‑8 reference‑counted string
- Automatic reference counting for strings, classes, and interfaces
- Reified generics that monomorphize at compile time
- OPDF debug format emission
- QBE backend currently in use
- LLVM backend in active development
- Self‑hosting bootstrap pipeline
- 1,200+ tests in test‑driven development