SML has better support for follow-ups. If you have a strong need for follow-ups, this is the best choice; OCaml does not support language support for them, but there is also Oleg Delimcc library for limited sequels; being external, it is probably slower than the SML implementation. Otherwise, OCaml seems to have a lot of traction these days, so you should expect tools and libraries to be a little better.
More generally, SML tends to be more elegant, while OCaml has a few additional features, quirks, and users. They are both good in performance.
(see this for a syntactic comparison of the most common fragments of both languages, of course, OCaml objects and polymorphic variants are not presented.)
gasche
source share