Re: Functional Programming in the Larger or Functional Oriented Software Engineering

Vadim Nasardinov <[email protected]> Wed, 14 Mar 2007 21:45:34 -0400
Newsgroups gmane.comp.lang.lightweight
Message-ID <[email protected]>
On Wednesday 14 March 2007 08:13, Lewis Brown wrote:
> The object school has developed a huge volume of literature to
> address the engineering issues involved with "Programming in the
> Large." It has given us not just languages, but processes, modeling
> languages, etc.
> 
> It would seem that the functional school has been relatively mute on
> this topic.

The seeming lack of "modeling languages" geared towards functional
programming used to mildly intrigue me.  I don't understand either
topic well enough to come up with an explanation for the observed
paucity of FP-oriented UML/OCL-like notations.  Near-total
cluelessness has never stopped me from opining though.  Let me offer a
theory for this occasion as well.

Consider the following:

 (a) Most prominent FP people are all British;

 (b) Most prominent formal modeling people are also British;

 (c) Geographically speaking, Great Britain is a relatively compact
     country -- everybody knows everybody else.  Certainly, FP people
     and formal methods people all know each other;

 (d) If you are fluent in Z, why on earth would you want to come up
     with a new modeling language?  To spite your formal-method
     colleague down the hall at Worcester College?

 (e) Both FP and formal methods like Z like to talk about "equational
     reasoning" and "derivation of programs from specification"
     through refinement/reification.  One gets a strong impression
     that FP people like, say, Richard Bird would consider Z more than
     adequate for their modeling needs.  One also gets the impression
     that formal-method people like, say, Bernard Sufrin would
     strongly agree with this sentiment.

Clearly, FP people will tend to pick something with a well-defined
simple semantics like Z over something with an ill-defined complex
semantics like UML.

Of all my crackpot theories, this is the best one yet, if I do say so
myself.

References:

 http://scholar.google.com/scholar?q=Z+Bernard+Sufrin
 http://scholar.google.com/scholar?q=%22Richard+Bird%22+%22Bernard+Sufrin%22