If you haven't taken a serious look at F# yet, you should. This OCaml-inspired language is a great combination of OO and functional programming concepts and will challenge your thinking about how software could (and should) be built. Functional programming is very conducive to parallelization and this language is very much worth looking at. It's now my favorite .NET language...

Here are some relevant links:

http://research.microsoft.com/fsharp/fsharp.aspx

http://blogs.msdn.com/dsyme/

I recommend the book 'Expert F#' by Don Syme et al, which is what I read to learn the language. Don't let the title scare you -- it's does not assume any prior knowledge.