|
|
|
|
|
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. |
|
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.