[wg-parallel] About Lwt and Async
Vincent Balat
vincent.balat at univ-paris-diderot.fr
Tue Apr 30 13:43:18 BST 2013
Hi,
I want to thank very much Yaron and all of you for taking time to try to find
a solution to this problem. I also want to remind the position of the Ocsigen
project on this list (and make it clear that we do not plan to switch to
Async).
> I'm not sure that the right goal is "to make them evolve so they are
> close enough". If we're going to end up with just one implementation,
> it's hard for me to see how it's not going to be Async, because Jane
> Street is not going to be able to move away from Async as a practical
> matter.
I understand but I think it is even worse for Lwt, because it is used by many
projects (representing several hundreds of thousand of lines, written by many
people). Ending up with one implementation is unfortunately a very unlikely
hypothesis. That's why I proposed, not to drop one of the implementation, but
to try to converge in term of features and semantics, in order to make it
easier to adapt libraries for one or the other, and thus limit the impact of
the schism Async is creating.
It is not possible to ask Lwt projects to switch to the current implementation
of Async, because there are too many projects and most of them will probably
just do nothing.The Ocsigen Web framework itself is a large piece of code,
relying a lot on very precise details of the semantics of Lwt. We are
currently working on ambititous projects that have a much higher level of
priority. Besides, we cannot take this decision for all our users.
If Jane Street does not want to switch to Lwt (which would be the best
solution for the community but I understand that it is not easy), the only
possibility I see to end up with one implementation is to make Async evolve so
that it could really be used in some way as an exact replacement for Lwt.
In the current state of things, I want to make it clear that Ocsigen will not
switch to Async, and will not abandon Lwt users, and continue to encourage
people using Lwt rather than Async, in order to keep a consistency between
libraries.
But we would be happy if Jane Street could help avoid a split of the OCaml
community ... The solutions you propose are a very good first step, and we
appreciate it.
Vincent
More information about the wg-parallel
mailing list