Hi,
I’m very familiar with the concept of Design Patterns
for OOP in Java and C++. They’re basically a way of fitting components of
a program so that objects/classes fit together nicely like Lego blocks and it’s
useful because it also provides a common “language” to talk about
concepts, like Abstract Factory, or an Observer to other programmers. In this
way one programmer can instantly get a feel what another programmer is talking
about even though the concepts are fundamentally abstract.
Because Haskell is not OO, it is functional, I was wondering
if there is some kind of analogous “design pattern”/”template”
type concept that describe commonly used functions that can be “factored
out” in a general sense to provide the same kind of usefulness that
Design Patterns do for OOP. Basically I’m asking if there are any kinds
of “common denominator” function compositions that are used
again and again to solve problems. If so, what are they called?
Cheers,
Mark Spezzano