Hacker News new | ask | show | jobs
by mrob 3337 days ago
Design patterns are usually taught by describing several example problems, and then introducing the design pattern as something to solve all of them. The value of the abstraction is obvious. Haskell is more often taught as though flexible abstraction is an end in itself, and practical uses for it are somehow distasteful. This teaching style only appeals to people who think mathematics is "elegant" or "beautiful" instead of just a useful tool.
1 comments

Perhaps you're reading the wrong documentation. I've personally never found it that way. Most documentation on hackage is very concrete, and for the ones that aren't (i.e., lens), there are plenty of tutorials.

I've definitely encountered the abstraction-for-the-sake-of-abstraction types, but those are mainly academics, in my experience.

I mean, monads are (for some reason or the other) the killer feature of Haskell abstraction, and their use case is extremely concrete. map, fold, etc are also motivated by very concrete desires.

Even more advanced concepts, like zippers, generics, lenses, ftpe, etc are all motivated by extremely concrete problems.