And on the ReasonML gitter room yep, those are the two places I’ve seen it too.
lwt I find actually very nice. I’ve not played with async. But yes, the concurrency primitives that have been added (very recently! couple months ago) to Ocaml Multi-Core are just downright awesome! You can build any kind of concurrency setup you can imagine, I’d go for less than a year out now, but who knows.
I really want to like F#, so well based off of OCaml, but I just really hate .NET, and the JVM, VM’s. The first reason is that both do the really really really stupid thing of using OO-style design for even the back-end, which involves a shared global memory heap, which makes handling the GC both fairly random, hard to make efficient, cannot lock just ‘parts’ like a good actor style memory segmentation can, etc… The second big reason is that *holy*hell*standard*library*is*huge*! I like distributing standalone executable that run natively without a giant runtime. Thankfully .NET is going back toward the native compilation route (why they ever left it I don’t know, Microsoft being idiotic by trying to copy Java I guess, not that they can ever make something new), but I prefer C++/Rust kind of things, no GC, expected speed, no random hitches, and if you use the type systems well (like I do) then they are as powerful as programming in OCaml (though a bit more wordy, and multiple orders of magnitude slower to compile). The Erlang GC I can handle, its design means that only poorly programmed actors will be slowed down to collect where nothing else will, plus it is not really built to be a standalone application. I would not prefer an Erlang VM for a standalone application either. I should stop now before this turns into a 10k-word rant. ^.^
Heh, wonder how it would solve the ‘potential any type coming in through a message issue’ that is pretty easily solvable in OCaml, F# could do it though. ^.^
But yeah, I would love some kind of typed erlang. Even an optional typing down to the compiler would let it do a lot of optimizations that it cannot do right now too.