The Flix Programming Language. A next-generation effect-oriented programming language.

Joined October 2020
1/5 We are pleased to announce the release of Flix 0.78.0! This is a major release that introduces a brand-new package manager, fully integrated into the Flix language.
2
9
22
657
4/5 Packages integrate seamlessly into the root namespace through a simple mounting mechanism. For example, mounting a package under museum makes its members accessible as museum::Museum.
1
1
79
5/5 The docs are available on doc.flix.dev/build-and-packa… and the change log is available at github.com/flix/flix/release…
2
72
1/4 We’re pleased to announce the release of Flix 0.77.0! This major release introduces polymorphic effects, allowing you to define effects such as `Abort[t]` and `Yield[t]`.
2
9
21
775
3/4 Polymorphic effects are still experimental, but we expect them to become stable over the next couple of months.
1
2
114
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
5
27
985
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
211
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.
1
11
42
2,394
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.
1
8
303
3/3 Hence, at some point in the future, we hope to also ship a natively compiled Flix compiler!
13
208
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.
2
4
32
1,404
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…
Replying to @ianchanning
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
3
4
648
New podcast episode! Magnus Madsen (@MagnusMadsenDK) on everything Flix (@flixlang), effect systems, AI and the relevance of programming languages:
2
6
29
1,484