In my experience, functional programming works great at small levels of granularity; for anything larger, OO is far more useful. (Of course, the FP purists will disagree, and I'm not saying they're wrong.)
Indeed there are languages that support both paradigms. Most notably in this context, Perl itself. However to support is one thing and to enforce is another one; I'm
curious about
Objective Caml. Whatever the language, I wonder if there's any project that uses
extensively both OO and FP techniques...