
On 8/15/07, Paul Johnson
I'm not sure what you mean by "modelling": functional programmers don't see modelling as separate from coding: the code is the model, and if thats not abstract enough then you didn't do it right. [...]
With modeling I meant the process of arriving at the abstraction from the initial "business requirements". The concepts that you pointed out would then be the building blocks, from which the application model is derived. The fact, that that model is already the code would be a strong point for actually using FP for enterprise applications as you do not need to get into the whole "executable UML" business of which I am personally not very fond of. Another modeling approach might be to start with formal specification technique like Z and then implement that in Haskell. The code would be much closer to what you'd put down in the formal spec. On the other hand, it may be limiting in expressive power, thus the code may serve as the formal specification too, exampoles of this would be James Clark' RelaxNG validator in Haskell (http://www.thaiopensource.com/relaxng/derivative.html) or the TeX formula layout reimplementation/description in SML (http://rw4.cs.uni-sb.de/~heckmann/abstracts/neuform.html) Thanks a lot for all your suggestions... Lars -- Lars Oppermann Hamburg, Germany