[Haskell-cafe] Building a better dog house?

michael rice nowgate at yahoo.com
Sun May 17 16:44:06 EDT 2009


Hi Paul,

 I've been away from software design for more than a decade and have fallen behind on what's currently being used. I wasn't even aware of RUP.

Thanks for the info.

Michael

--- On Sun, 5/17/09, Paul Johnson <paul at cogito.org.uk> wrote:

From: Paul Johnson <paul at cogito.org.uk>
Subject: Re: [Haskell-cafe] Building a better dog house?
To: "michael rice" <nowgate at yahoo.com>
Cc: haskell-cafe at haskell.org
Date: Sunday, May 17, 2009, 3:26 PM

michael rice wrote:
> I was just looking at my UML (Unified Modeling Language) User Guide and discovered this:
> 
> "The number of object-oriented methods increased from fewer than 10 to more than 50 during the period between 1989 and 1994." pg. xviii, Booch, Rumbaugh, Jacobson, 1999
> 
> Is there a modeling methodology recommended for functional languages?
> 
> Michael
> 
> 
UML of course is not a methodology, its a language.  "Rational Unified Process" (RUP) is a methodology.

There is no recommended methodology for functional programming, but large chunks of RUP and most similar methodologies have little to do with OO programming, and therefore could be used as-is.  All the project planning, configuration management, requirements management and so on will work just fine.

When it comes to the software design in functional languages I find it best to start by looking for a domain analysis of the problem (something that RUP includes as well, if I recall correctly).  Then try to translate that domain analysis into an embedded domain specific language (EDSL).  Ideally the EDSL should allow you to describe anything that is physically or logically possible in the domain, but nothing that is impossible.  Then you can go ahead and create your software by translating the requirements directly into the EDSL.

Paul.



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090517/f6180b8e/attachment.html


More information about the Haskell-Cafe mailing list