Ocaml seems to get more buzz, but about 20 years ago I tried my hand at both OCaml and SML/NJ and found that I actually far preferred the latter. SML is a very nice, consistent, and practical language.
Here's a pretty thorough comparison of the two http://adam.chlipala.net/mlcomp/
Today's there's also F#, which is the "" to Ocaml's ";;" and to SML's ";".
Concurrent ML is definitely worth looking at.
The Concurrent ML library for F# is https://github.com/Hopac/Hopac