Functional design patterns (was: How to get functional software engineering experience?)

Kellom{ki Pertti pk@cs.tut.fi
Thu, 16 May 2002 09:48:09 +0300


On Wed, May 15, 2002 at 08:13:22PM +0200, Ralf.Laemmel@cwi.nl wrote:
> Yet another problem is that design patterns are all about design
> and less about coding. Many challenges in functional programming are about
> coding, and just about coding.

This is something I've chatted about with a colleague of mine.  When
one deals with objects and mutable state, one can build models of a
system at various levels of abstraction, and meaningfylly relate the
models to each other with data refinement. What would be the
corresponding notions in functional programming?  It is certainly true
that functional programs are often much more abstract than their
imperative counterparts, but even in my relatively small compiler
project I have already felt a need for a compact design notation.

Another issue is that when one uses a functional language to design
something that is inherently stateful, one would really want to see
the state explicitly at some level of abstraction. Would people
recommend something like UML for doing this?
-- 
pertti