I've searched around the web and have found next to nothing on functional programming analysis / design.
You know, the waterfall / spiral iterative / UML analysis / design kind of stuff.
How does one reason about large functional (particularly F#) systems at an appropriate level of abstraction before delving into the actual development phase (syntax generating, language babysitting stuff) ?
"I find it really important to reason about a system at a sufficient altitude before the actual code generation phase -- makes for much more cohesive, malleable (insert other buzzwords here) systems" -- yeah right :-) What it really does is force my mind to think about the big picture, keeping my little hacking fingers away from the keyboard until I have a least a small clue of what I'm constructing.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies --the other way is to make it so complicated that there are no obvious deficiencies. The first way is far more difficult."
Are existing methodologies applicable?
How do they translate to the F# syntax.
Obviously I'm talking mostly of the FP paradigm portion of F#.
I see lots of programming in the small - tips, algorithms, etc. here but nothing on the large picture.
Thanks and regards -- Geoff