I would have learned Haskell in college, as it's normally a prerequisite to Comparative to give the students some introduction to functional ideas; however, I got that excused to take as many 500-level classes as they'd give me. That would still be my default for something to learn on my own, except that I'm working mainly in .Net (and PL/SQL, but that's not so relevant) for the foreseeable future, and I was thinking there's a much better chance I could eventually use F# professionally.
F# is supposed to be essentially OCaml with an adaptation of .Net's library system instead of the usual OCaml libraries. This puts me off a little because I really wasn't impressed with Standard ML when I was taking comparative; I got the impression it was mostly just good for math. Is OCaml better, am I being too hard on Standard ML, or is Haskell really a much better choice? And are there any major functional concepts I would pick up from Haskell but not OCaml/F#?