Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Many important "effects" (e.g. non-determinism, IO, asynchrony, environmental context, state... etc) are modelled as monads in Haskell.

You _can_ write Haskell code without understanding what a monad is, but composing and creating these things is going to be a little painful without that understanding.

Additionally, it seems to be a harder concept to grasp than e.g. functors or monoids.

I think this can be partly attributed to many Haskell programmers first being introduced to monads that are less than ideal for understanding the concept.

Shameful plug, I've written some thoughts on this here: https://frogulis.net/writing/async-monad



I think this was some amazing insight. I understand monads and I can use/write them but I feel like the concept hasn’t FULLY clicked yet. While even now it hasn’t, I feel like your blogpost got me that step closer to it, so thank you!




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: