If you use classes and objects in LISPs (Common Lisp, Scheme, Clojure...), you can create the class diagrams and they will work. In Clojure I usually started (and I've seen others do the same) with some functions which operates over hash-maps (or a-lists in LISP). And on the end of the day, when I was creating the interface for call from java, I put the the needed hash-maps to defrecords. If I did the class diagrams, it was afterwards when the relationship between records was clear. Honestly, I don't usually create them anyway even at my work (C#) - only when the releationships between objects are complex or in some "unexpected" ways.
But other UML diagrams are perfecly applicable even in functional languages. The component diagram, use case diagram, communication diagram ... they are universal. The same for E-R diagram - if you use relational database in functional/logical language, it's sometimes good to have it.
Yes, it's a very huge pain in the back to get it set up right and get used to it, but it was worth it. I use it (for Clojure and Python) when I can not get modern IDE.
However I checked counterclockwise after a long period of time - and there is almost nothing I miss. Eclipse is not my cup of tea (I'm IDEA user, let the Holy IDE War begin :) ), but more pleasant experience than emacs.
If you use classes and objects in LISPs (Common Lisp, Scheme, Clojure...), you can create the class diagrams and they will work. In Clojure I usually started (and I've seen others do the same) with some functions which operates over hash-maps (or a-lists in LISP). And on the end of the day, when I was creating the interface for call from java, I put the the needed hash-maps to defrecords. If I did the class diagrams, it was afterwards when the relationship between records was clear. Honestly, I don't usually create them anyway even at my work (C#) - only when the releationships between objects are complex or in some "unexpected" ways.
But other UML diagrams are perfecly applicable even in functional languages. The component diagram, use case diagram, communication diagram ... they are universal. The same for E-R diagram - if you use relational database in functional/logical language, it's sometimes good to have it.