u/ResidentAppointment5in r/scala • Recommends
On “Zio / Zionomicon : is it worth it ?”
If I may try to answer as judiciously as possible:
The ZIO ecosystem is built around some pretty specific goals that I think John De Goes does a great job elucidating here. I'll try to summarize it as "Scala-native functional programming using inheritance and subtyping, avoiding higher-kinded types, and avoiding an encoding of typeclasses." A secondary aspect is the `ZIO` type itself, which essentially combines what you might think of as `MonadError` and `Kleisli` from Cats, with `Either` and `IO` as the concrete instances of them. That is, it explicitly represents the notion of an "environment" that is depended on, an "error type" they make a big deal out of not being rooted in `Throwabl…