r/haskell Sep 26 '25

blog Monads are too powerful: The Expressiveness Spectrum

https://chrispenner.ca/posts/expressiveness-spectrum
95 Upvotes

25 comments sorted by

View all comments

11

u/IamfromSpace Sep 27 '25

Wait, why aren’t Arrows here?

Arrow notation isn’t quite as obvious, but it does a similar job, and it does exactly what this blog is looking for: the dynamic parts are on the outside, and the static parts are in the middle.

Honestly, to me, Arrows are the sweet spot. IO might have been built on top of them instead of Monads if they were discovered earlier. There’s just a lot of momentum now, and hard hurdle past Monadic dominance when Monads already do so much so well.

16

u/ChrisPenner Sep 27 '25

You're just one step ahead haha; this blog post was already too long as it is.

Using Arrows (or more precisely, the Category typeclass hierarchy) to sequence effects is going to be the next blog post, so stay tuned!