back

by eatonphil·10y ago·view on hn ↗
I do not think it is too late for SML necessarily. MLton (the full-program-optimizing compiler) is very competitive with the (one) OCaml implementation.

As someone who did a lot to market certain OCaml libraries, I have seen similar interest in some of the "modern" SML libraries I have played around with. Not a ton of work has gone into both of these, but you may be interested to look at two projects MonoML[0] and SSMLS[1].

These are some /very/ minimal projects I've worked on in SML in the past few months to gauge how well SML might work as a modern, web-friendly, higher-level language. The results are certainly not completely disappointing.

Edit: Oh also! HamletML[2] (yes, written by the 1ML guy) is a very interesting ML implementation that would probably be a great way for work on modern language features. Not that I know what I'm talking about, but it could also provide the framework for an even more powerful backend/optimizing compiler.

[0] https://github.com/eatonphil/monoml

[1] https://github.com/eatonphil/ssmls

[2] https://www.mpi-sws.org/~rossberg/hamlet/

1 comments
Unfortunately, SML has no industrial users. At least, that I've heard of. It's a language that's used mostly in teaching and academic research. First ML I used was SML/NJ in my intro CS class, and haven't seen it since. Whereas OCaml has a many industrial users and is widely deployed. My favorite example is of course management layer for the Xen hypervisor[0][1], but there are more as well[2].

Adam Chlipala has a writeup[3] on comparing SML and OCaml that may be of interest to the discussion.

[0]: https://github.com/xapi-project

[1]: http://anil.recoil.org/papers/2010-icfp-xen.pdf

[2]: http://ocaml.org/learn/companies.html

[3]: http://adam.chlipala.net/mlcomp/

What do you think about Manticore? I'm curious.