top | item 26104409

(no title)

maddening | 5 years ago

Typelevel and ZIO take completely different approach to certain things. Even if everyone would be holding hands and singing, they would still argue in discussions on GH.

Typelevel and Cats wants everything to be a pluggable library. Everything should be configurable, hardcoding things is avoided. You are in charge of every single effect.

ZIO is basically a type-safe, compile-time, IO-monad-based framework, managing error handling, side effects and dependency injection. It is opinionated, and libraries integrating with it share its opinions. Some people consider this a FP, type safe Spring Framework.

Both can be integrated if you know what you're doing. Both have plenty of people to push things forward. At this point history between JDG and TL is irrelevant to the community. People involved in past dramas still don't like each others but they don't interact with each other during development, so just don't use Twitter and you won't even notice.

discuss

order

type_enthusiast|5 years ago

ZIO (the core library) is not really a framework. It's still a library for an IO monad – it's just a pretty different IO monad, in that it absorbs environment (e.g. `ReaderT`) and error (e.g. from `MonadError`) into one data type, and the cases where you don't care about one of those are just type aliases. And it makes use of variance to give (usually) really ergonomic operations on these things. Disclaimer: I use it, and I'm a fan – I'll leave it up to the docs to really sell it; just wanted to take issue with the "framework" notion.

That being said, the sum of the ZIO _ecosystem_ is absolutely a framework, for better or worse.

eweise|5 years ago

I'm holding out hope that ZIO can be the spring for scala. An opinionated framework is sorely needed for a language like Scala which has so many competing styles and libraries that don't naturally work together.

hocuspocus|5 years ago

Nowadays many libraries in and around the Typelevel ecosystem work well together.

There seems to be a real demand for the Zio ecosystem and I wish it all the success it deserves, but its opinionated approach doesn't necessarily solve a problem that people have.