
The concept of "design pattern" tends not to be used by Haskell
programmers - it brings a lot of baggage with it (like being formally
documented in a particular way, being "proven" by being used in
production several times, etc.) and it doesn't seem to be particularly
useful for us in this heavyweight form.
However, we do have a more lightweight concept of an "idiom" and
"idiomatic Haskell". See
http://www.haskell.org/haskellwiki/Category:Idioms (Not all of these
pages should probably be in this category, but it gives you an idea.)
--
Robin
On Wed, 11 Mar 2009 21:28:52 +1030
"Mark Spezzano"
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
No virus found in this outgoing message. Checked by AVG. Version: 7.5.557 / Virus Database: 270.11.9/1993 - Release Date: 10/03/2009 7:19 AM