Isn't "+." an ocaml thing rather than ML in general?
I think SML had overloaded numeric operators, though I think that's a special case (i.e. type classes are still better)
Yep, you're right :). I opened the Standard ML book, and there on p75 they list * :: num * num -> num. Then at the bottom they say each function declared as such really has two definitions, one with num replaced by int and one with num replaced by real.
So yes, +. is just an ocaml thing. Not sure about caml.
Haskell is a far cry from just lazy ML. Oddly enough, your summary of go would be far more appropriate for haskell, which makes go's concurrency handling look primitive.
This article came up about a year ago[1], so I'm just reusing my comment :P. Now I'd also add:
Go: C is the prefect language, except it's too low-level.
Ermine[2]: Scala is not functional (enough).
[1]: https://news.ycombinator.com/item?id=4954663
[2]: https://github.com/ermine-language/ermine