3 ms·
Threading is the one thing that's missing for me, in OCaml; they may have added it, but it wasn't there last I checked.
by microcolonel 9y ago
Threading is the one thing that's missing for me, in OCaml; they may have added it, but it wasn't there last I checked.
- yodsanklai 9y agoYou have light threads (Lwt or Async) that are sufficient for most purpose.
- hajile 9y agoSML/CML might interest you. http://cml.cs.uchicago.edu/ http://cml.cs.uchicago.edu/ -- the CML idea Three SML implementations with CML support http://www.polyml.org/ http://www.polyml.org/ http://www.mlton.org/ http://www.mlton.org/ http://www.smlnj.org/ http://www.smlnj.org/
- eatonphil 9y agoPoly/ML is the only "mainstream" implementation (and the only one on your list) with OS thread support. The rest are green threads. Various research offshoots from MLton have existed with full support for OS thread but none are still around and they haven't made it upstream. For the most part, the Standard ML native thread situation is not much better than OCaml's.
- throwawaysml 9y agoYou're forgetting SML# which uses MassiveThreads library and despite the name isn't for .Net. http://www.pllab.riec.tohoku.ac.jp/smlsharp/ http://www.pllab.riec.tohoku.ac.jp/smlsharp/ https://github.com/smlsharp/smlsharp https://github.com/smlsharp/smlsharp https://github.com/massivethreads/massivethreads https://github.com/massivethreads/massivethreads It was conceived at Tohoku University for use in Japan's high performance computing projects. SML# uses LLVM as a backend, has a nice FFI and EDSLs for SQL and JSON and a non-moving GC. All stemming from the use case it's designed for.