I'm excited to share a milestone release of the Blaise Pascal Compiler!
Blaise is a next-generation Object Pascal compiler targeting native code
via QBE. One language mode, one string type,
automatic reference counting, reified generics, and a clean break from
30 years of legacy baggage.
The big news: FPC is gone from the toolchain
As of v0.7.0, Free Pascal is no longer required anywhere in the
toolchain. The bootstrap chain is now:
released Blaise binary โ compiles Blaise source โ new Blaise binary
The compiler is fully self-hosting. The test suite (1,268 tests) compiles
and runs under the Blaise-compiled test runner. The fixpoint is verified:
stage-2 IR and stage-3 IR are identical, byte for byte.
This is what I've been working toward since the project started โ a
compiler that builds itself and tests itself.
Other improvements in this release
Low()andHigh()now work on strings as well as arrays- Fixed implicit-self method calls with
var/outand open-array parameters - Fixed a buffer overflow in the temp file RTL helper
- The release archive now includes
blaise_rtl.aso you can link
compiled programs without building the RTL from source
Try it out (for the brave folks)
The Linux x86-64 binary is available on the
v0.7.0 release page.
Feedback on language design, syntax choices, and the direction of the
project is very welcome โ please use the
Discussions tab on GitHub.
Up Next โก
Continue expanding on language support and building out the RTL. I also
want to convert the C-based RTL to a pure Object Pascal implementation.
Working towards removing the GCC bootstrap requirement. Hopefully also
squeeze in a few speed improvements.
Built with โค for the Pascal community.