frees-io / iota

Fast [co]product types with a clean syntax. For Cats & Scalaz.
Apache License 2.0
177 stars 22 forks source link

Compile to scala-native target #64

Open schrepfler opened 7 years ago

schrepfler commented 7 years ago

It would be nice if iota would compile to scala-native as well.

andyscott commented 7 years ago

Yep! This really just depends on cats compiling to native. Or Iota getting cross compilation for Scalaz, which already supports native!

schrepfler commented 7 years ago

Iota uses full cats? Let's hope it won't take too long.

andyscott commented 7 years ago

Iota uses the core FP abstractions from cats as well as Cofree from the cat's free module. Additionally, Iota uses generalized recursion schemes based on Matryoshka.

schrepfler commented 7 years ago

I was looking at using coproduct for case-app to declare many fields which are mutually exclusive (XorK?) and it would be nice if there's support for iota, until then shapeless seems to be the easiest to support as it already has a scala-native port.

andyscott commented 7 years ago

I will have Scala Native support coming soon. It will be for the build of Iota that uses Scalaz instead of Cats, as Scalaz already supports Scala Native.