1/3 We are pleased to announce the release of Flix 0.76.0! This major release brings a refactored frontend and backend, paving the way for building the Flix compiler with @graalvm.
2/3 This feature is still experimental, and we’re not yet shipping native images. However, adventurous users can now build their own native image of the Flix compiler.
1/3 We compiled the Flix compiler with @graalvm Throughput, for the frontend, went from 133,287 lines/sec to 249,428 lines/sec (!) with peak throughput reaching 296,635 lines/sec. Startup also went from 3s to 0.5s.
2/3 Unfortunately several components in the compiler, especially in the backend, are not compatible with Graal. But given the success of the experiment, we've created a plan to gradually replace those components.
The flix.dev website has been refreshed. The website is now static HTML + CSS and achieves a 100% lighthouse score on performance. We've also added a darkmode.
The authors of @flixlang have a nice paper surveying the need for exclusion in the wild on GitHub. (And yes, we can do all their examples).
dl.acm.org/doi/abs/10.1145/3…
For us, the concrete problem was getting more of Scala's stdlib capture-checked, especially control and concurrency. The larger goal is capability tracking across all of Scala. TACIT uses the same machinery to statically limit what AI agents can do:
github.com/lampepfl/tacit
1/2 Lutz Hühnken gave an interesting talk on 'Four Fascinating Programming Languages You've Probably Never Heard Of', including Flix (which, obviously if you follow this account, you have heard of). Link below:
1/2 We are pleased to announce the release of Flix 0.73.0. This is minor release bringing a new Util.Json module, performance improvements, and several fixes.
1/2 We are pleased to announce the release of Flix 0.71.0! This is a major release which brings significantly improved Java interoperability, improved pattern match compilation, and other bytecode optimizations.