[ANN] Lwt.6.0.0~beta (direct-style, multi-domain parallelism)

lwt.6.0.0-beta01 has been released!

With this release comes a change in the title of this thread:

- [ANN] Lwt.6.0.0~beta (direct-style, multi-domain parallelism)
+ [ANN] Lwt.6.0.0~beta (direct-style, runtime-event tracing)

This is likely the last beta before the release of Lwt.6.0.0, please test and share your feedback. The highlights are

  • (compared to previous beta) no more multidomain-multischeduler parallelism
    • it was too buggy,
    • you can still use Lwt_domain
  • (compared to previous beta) runtime-events produce a trace of execution of your lwt program for better debugging
  • (compared to Lwt.5.9) direct-style with Lwt_direct
    • you can write direct-style lwt (within a given scope)

    • e.g., you can interact with libraries that only provide iter : ('a -> unit) -> 'a -> unit such as

      let iter_s f h =
        Lwt_direct.spawn @@ fun () ->
          Hashtbl.iter (fun k v -> Lwt_direct.await (f k v)) h
      

Once again, thanks to @c-cube for the direct-style feature which makes it possible to use Lwt in conjunction with libraries even if they don’t include special amenities for it.

Thanks again for @edwin for the bug report on multi-scheduler-related failures.

7 Likes