Maybe it'll even be named OCaml if the efforts to bring effect typing into it are eventually merged :-).
(I am not affiliated with Flix. I started following its development recently because it looked interesting.)
> Maybe it'll even be named OCaml if the efforts to bring effect typing into it are eventually merged :-).
From what I read recently that's the plan, although they'll focus first on domains for 5.0, and merge the effects later.
> From what I read recently that's the plan, although they'll focus first on domains for 5.0, and merge the effects later.
Yes indeed! The timeline for typed effects is not clear to me, it might take a long time, especially with the stringent constraints of backward compatibility.
That said I'm not an expert, I'm just very hyped :-)
> The timeline for typed effects is not clear to me, it might take a long time, especially with the stringent constraints of backward compatibility.
From what I understand, the "long time" will be probably less than modular implicits, which are estimated at at least a few years away. There are a few informations here https://discuss.ocaml.org/t/multicore-ocaml-may-2021/7990 and here https://discuss.ocaml.org/t/multicore-ocaml-june-2021/8134, where at least we can see that the effect branch is up to date with 4.12. The performance seems really good, I can't find it anymore but they had the same performance as Go's net/http with http/af. It's a very exciting space!
the big issue is that you have to do a LOT of complex shuffling of types and values in order to deal with effects.
You can actually avoid a ton of this by thinking about purity in a less expression-level way, like how Koka does it. And, I think I'd probably try implementikng something like it (or eff) in my language.
You can always replicate laziness by making your own thunks. But this just isn't as convenient.
https://github.com/yallop/effects-bibliography
Lots of information on varieties of effect systems