Did anyone here try out the Flix programming langu...
# arrow
v
Did anyone here try out the Flix programming language? It's also on the JVM, I feel like it brings Arrow's ideas to perfection. Would be curious if anyone has experience, or if someone's interested to learn I can share a couple pointers
y
Reminds me a lot of Effekt See also Kontinuity, my attempt to bring Effekt to Kotlin
v
@Youssef Shoaib [MOD] oh wow, haven't seen your library before. I'll check it out
y
I don't have the best documentation for getting started with it lol! Just take a look at the tests, especially the ones in the
effekt
directory More recently, I've been working on HKT support for Kotlin
😍 1
v
No problem at all, I was already reading the tests. Looks quite clean, e.g the Amb example. I'll try running this locally and experiment with different kinds of effects
y
One of the nice things about it is that effect polymorphism comes naturally. You don't need to explicitly mention it, instead you just use an
inline fun
, and it's effect polymorphic! I haven't started this yet, but I believe that capture checking (like in Scala) can guarantee effect safety here. I have an effect-safe version already using
@RestrictsSuspension
and higher-rank polymorphism (like
runST
in Haskell if you're familiar with that), but it's annoying since Kotlin doesn't deal super well with existential types. Maybe a compiler plugin could make it easier...
😍 1
v
That's very clever with the `inline f`un actually
r
@Youssef Shoaib [MOD] , if you want an example of capture checking mixed with effects handling, have a look at https://nrinaudo.github.io/articles/capabilities_flow.html