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

Joined October 2020
74 Photos and videos
Jun 10
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
3
14
956
1/2 The next version of Flix will feature significantly improved effect error messages:
1
3
24
1,301
2/2
7
258
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.
1
3
11
796
1/2 There was a lot of interest in our improved Java interoperability, so here are two more examples: Example (A) Flix functions automatically implement appropriate Java functional interfaces, so can be passed as Java SAMs: Here a Flix function is passed to Stream's map:
1
2
16
1,100
2/2 Example (B): Flix does not have classes, but we can always implement/extend any Java interface/class using a new object expression, even generic classes. Here we implement Comparator for String:
6
308
1/2 We have significantly improved Java interoperability which makes using Java from within Flix near seamless:
3
3
39
2,862
2/2 That said, we recommended that Flix programs are written using algebraic effects and handlers, and that Java interoperability is only used to implement effect handlers. Here is a simple example of this idea:
1
15
477
After much soul searching and internal deliberations, we have decided to update the Flix syntax to give it a more timeless aesthetic. Here is the new Flix!:
6
5
60
3,870
The new syntax is already available today!
2
389
Mar 28
1/4 We are pleased to announce the release of Flix 0.70.0! This is a major release which introduces a rich set of standard library effects, handlers, and middleware.
1
3
15
895
Mar 28
3/4 Fs middleware in action:
1
2
311
Mar 24
1/2 New filesystem effects and middleware coming in the next version:
1
18
957
Mar 24
2/2 Here withConflictCheck detects whether files are modified between reads and writes, withBackup maintains a .bak file, and `withAtomicWrite` writes to temp file and then moves into place.
1
165