F# is my language of choice, but I'd strongly recommend learning them all. They are all quite different and interesting in there own right. He's a quick over view to each one (with perhaps a slight F# bias), you can easily find more info by googling:
F# - is a language that make it easy to program in the functional style, lets you easily copy objects rather than mutating them. It also gives you interesting data types, like tuples and algebraic data types, useful language constructs such as pattern matching and list comprehnsions. It also has OO and imperative features and good access to libraries, since you can use any .NET framework component.
Haskell - is pure and lazy functional language, making a rare or even unique beast. This mean there are no side effects at all, unless they are tracked by a monad. Haskel too has tuples, algebraic data and pattern matching.
Lisp - where as F# and Haskell are statically typed, lisp is dynamically typed. It has distinctive syntax which uses lots of parenthesized and provides an interesting marco feature that allows you to make transformations to the program itself and extend the syntax.