Hi Rust folks,
Sorry if this has been answered already, but I tried searching the forum and didn't find anything. Are there any implementations of Reppy's Concurrent ML for Rust floating around out there on the interwebs? I am doing a research project focused specifically on trying out Concurrent ML for something it hasn't been applied to before (to the best of my knowledge).
I would really like to include Rust in the group of languages that I am testing, but it looks like so far the closest that Rust gets is the Crossbeam-Channel crate. It's most of the way there in that it has channels and selection over those channels, but doesn't appear to provide any of the combinators that are a key aspect of Concurrent ML.
If anyone is curious, there aren't many active languages out there that come with something similar. The most notable right now would be probably OCaml, which a CML implementation in its Event module. The next most notable is perhaps Racket's Events (but see also Guile Scheme's Fibers library). After that, the only two others I'm aware of are Manticore and MLton (well, technically Standard ML too, but I think there's much more work goes into Manticore and MLton these days). There was also Hopac in F#, but it's more-or-less unmaintained these days.
I would consider trying to create a CML implementation for Rust myself, but that's a bit out-of-scope for my current work, and would probably take time I can't really spare right now. Please let me know if you are aware of a Rust implementation (also, feel free to ask about Concurrent ML too, not that I'm anywhere close to an expert in the slightest) Thanks!