3 ms·
> it looks like its use of named parameters is via some kind of syntax extension No worries, OCaml natively supports named (and optional) parameters. What Core
by LeonidasXIV 11y ago
> it looks like its use of named parameters is via some kind of syntax extension
No worries, OCaml natively supports named (and optional) parameters. What Core does, though, is reshuffle many function signatures to be more useful when using those parameters.
I suppose you're talking about this[0] blog post, his reasons are pretty clear: hardly anybody uses Async apart from Jane Street, whereas Lwt is much more popular, used by standalone projects, many bindings, as well as Mirage.
The reason RWO used Async is that it is basically a companion to Core and one of the authors of the book is also the author of both Core and Async.
[0]: http://rgrinberg.com/blog/2014/12/11/abandoning-async/ http://rgrinberg.com/blog/2014/12/11/abandoning-async/
- muraiki 11y agoI'm sorry for misunderstanding OCaml's built in support for named/optional params. The problem with Async is that what seems to be the best resource for learning OCaml in 2016 teaches Async, not Lwt. I was excited to use it until I discovered that many things I was interested in use Lwt instead. It's not hard to learn Lwt, but this discovery made me think about the problems I've had as a professional Perl programmer in dealing with Perl 5's multiple competing event loops.
- LeonidasXIV 11y agoI can completely understand your worries and I agree that it is rather inconvenient, esp. since Lwt does not have a great introduction to start with. The upside is that with the hopefully soon upcoming algebraic effects that are supposed to appear in OCaml sooner or later, Lwt and Async might end up being obsoleted or subsumed into a compatible set of Async primitives.