My choice for a functional programming language that integrates with .NET is F#. By the same token, when I think about writing software for the Java platform and wish to use a language better suited to my tastes, my choice is Scala. It's a pretty cool language that mixes OO and functional programming quite neatly, and with interesting theoretical studies to support it. The syntax was chosen to be similar to Java, which I don't like, but it's a minor problem. It's actively supported and developed, and is gaining momentum right now, which can be a good thing.
I need to write a simple program to talk to a Java program in the next few days, so I'll probably be using Scala for it. This means I may write posts about it in the near future.