My Authors
Read all threads
I'm learning ZIO (by @jdegoes), and I can say this framework has so much in common with my frameworks.

ZIO is based on Free monads.

All my frameworks (Node, Hydra, frameworks at @juspay) are based on Free monads.

1/
ZIO and Hydra programs are values which can be interpreted due to the Free monadic nature. Free monads is the best approach to separate interface and implementation. Free monadic programs are simple, maintainable and testable.

2/
In ZIO, there is a notion of Runtime. It’s a place for keeping resources, such as a thread pool.

Not by chance, my frameworks share the same design. There is the Runtime structure which hides a lot of implementation details about the internal stuff.

3/
By default, ZIO provides: Console, System, Clock, Random, Scheduler, and on the JVM, Blocking.

By default, Hydra provides: CLI, Random, Logging, STM-like state, Threads, (scheduler in the form of the Haskell STM runtime), SQL DB, KV DB, HTTP client API.

4/
I had a hard time debating with haskellers why Free monads are the most beneficial approach to build real world applications.

I believe it wasn’t easy for @jdegoes to convince the Scala community that ZIO is a great technology.

5/
Number of contributors to ZIO: more than 300.

Number of contributors to Hydra: 4.

(Number of contributors to Juspay’s frameworks is greater than 20)

6/
Number of commercial ZIO clients: more than 15. And increasing.

Number of commercial Hydra clients: 0. And there is no hope to attract any.

(But Juspay uses own frameworks of the same design though)

7/
Free monads in Scala: in active usage.

Free monads in Haskell: mythologized, diminished, considered harmful.

8/
Scala: strives for success.

Haskell: avoids success at all costs.

/9
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Alexander Granin

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!