On Tuesday 14 May 2002 07:22 pm, Andrew J Bromage wrote:
> On the other hand, it's an exciting time to do engineering in
> declarative languages, because we can invent the design patterns and
> discover what the good habits are as we go along.

This is very interesting to me, as I have a great deal of experience applying 
and documenting patterns in object-oriented environments.

From the research I've done to date, functional programming provides enough of 
a paradigm shift that there are significant new patterns/idioms (you choose 
the lingo) that need to be documented.*  I can think of several off of the 
top of my head:

- Tying the knot
- Phantom types
- Appropriate use of strictness in data structures
- The excellent techniques used in Edison for parameterization
Etc.

With that in mind, I'd be interested in starting such a documentation project.  
And by this I mean something more formal than the existing Wiki, perhaps in 
hyperlinked/book form.  In this way, you could download a bunch of patterns 
with good example code, and get a head start on understanding proven 
approaches for structuring systems, etc.

So, if you have any patterns, or better yet, source code that demonstrates an 
approach or technique, please send them my way.  I will put something 
together on this in the next couple of weeks, and let everyone know where to 
find it.  And, if there are no objections, I'll probably harvest some from 
the Wiki and various other papers that have them buried beneath formalisms.  
:)

If anyone has any suggestions, I'd love to hear them.

Regards,

        - j

* To avoid any pattern debates: I personally believe that patterns are 
especially useful for getting novices up to speed on concepts that might not 
be readily apparent at first glance.  Rather than treating patterns as 
anything "special" in their own right, for me they're simply a really 
convenient way of teaching people new and interesting concepts.

-- 
The river is moving.
The blackbird must be flying.

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to