Hi Adam,
Disclaiment: I just started learning Clojure and FP, here are just my
two cents.
First of all: how is structured an application written in functional
style? From the top of my mind I would say:
- Data structures
- Functions that operates on data structures and compose other functions
- Libraries/namespaces
A documentation of the kind you are searching for IMHO should take into
account all these factors. In particular, visualizing data structures
and relationships between functions would be quite useful in my opinion.
What I have in my mind now is a set of boxes (namespaces) that contains
perhaps other boxes (data structures) and ellipses (functions) connected
with some types of arrows between them (composition, higher-order
functions, etc) and with data structures.
In short: data, functions and relationships between them.
As far as I know, there isn't any standardized graphical notation a-la
UML to express the structure of functional programs. I would say: don't
be shy, just invent some convention and use it to *communicate* the
design to others :)
Manuel Paccagnella