[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