1. 5

I submitted NESL for historical curiosity since it ran on all kinds of stuff when I studied supercomputing. This, though, is inspired by fact that Ocaml still doesn’t have multicore. This is most comprehensive take on concurrency and parallelism with active development that I saw in ML space. LinearML was another nice one that’s like ML mixed with Rust safety but abandoned in 2014 per Github commits. I wonder if either could benefit Ocaml’s situation.

  1.  

  2. 3

    Ah, one of my old professors is involved in this project! (Matthew Fluet)

    Another cool ML compiler that Fluet works on is MLton. It is single-threaded, but has incredible performance thanks to whole-program optimization. There is also a multithreaded fork by Purdue.

    OCaml is a great pragmatic language for “real development”, but SML seems to be much more popular for compiler research.

    1. 3

      Oh neat. Yeah, I discovered MLton a while back with impressive comparisons on performance. Didn’t know about the fork. Appreciate the tip. It looks promising given it’s using a message-passing model similar to what people in industry verified with SPIN and then TLA+. Being ML, the sequential parts will be easier to verify at language & tool level. A verified compiler already exists. I’m seeing this leaning toward a nice tool for medium-assurance software esp for developing other tools.