top | item 40558187

(no title)

sn41 | 1 year ago

I don't think you need to understand a concept deeply to use it. The "do..." syntax in Haskell is something that comes naturally to many programmers. It is introduced only at the end of a Haskell course since it uses monads, but many iterative-style programmers switch to that syntax exclusively afterwards. And it actually takes a while to construct the desugared monad syntax.

For a common example of this phenomenon- I took a look into the innards of printf to see how printf("%f",...) and printf("%g",...) works. I am still clueless how it actually works. Does not prevent even beginners from using these.

==

Also for what it is worth, I think the most useful analogy of monads is "monads are pipes with types", even though it does not give a full understanding of bind.

discuss

order