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.
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:
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:
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:
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!:
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.
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.