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.
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.
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.