3 ms·
I agree with you - some patterns, like functions (yes, we're really starting to stretch the word "pattern" here...), appear because they are symptoms of good de
by ewjordan 17y ago
I agree with you - some patterns, like functions (yes, we're really starting to stretch the word "pattern" here...), appear because they are symptoms of good design. Sometimes, maybe even most of the time, monads appear as symptoms of good design, as well.
But sometimes they appear as workarounds for language limitations, and that's where we run into trouble. I feel like most pure languages in any paradigm run into this problem a lot, and it's why I vastly prefer mixed languages.
I don't know that I fully agree with what plinkplonk says; I don't really think monads or type classes should disappear in "better" languages, because they are very powerful tools to have in the box. I'm just concerned that in Haskell, because those powerful tools are there and relatively painless to use, other tools that have many fine uses have been pulled out, and the language loses expressive ability as a result.