lwt icon indicating copy to clipboard operation
lwt copied to clipboard

Lwt 6 (NOT FOR MERGE AS IS)

Open raphael-proust opened this issue 3 months ago • 1 comments

raphael-proust avatar Sep 05 '25 08:09 raphael-proust

Compatibility issues:

  • Lwt_preemptive.run_in_main replaced by Lwt_preemptive.run_in_domain.

    • Should we still provide a run_in_main which makes assumption about a default domain? The main purpose would be to allow old applications to keep working in a single-domain way. And for that it'd make sense. Although it's worrying that some code written for multi-domain Lwt specifically might be using run_in_main accidentally. Maybe a runtime check that crashes run_in_main if there are more than one scheduler running or some other such condition.
  • Lwt_unix.*notification* now take an additional Domain.id parameter. Same suggestion as Lwt_preemptive.run.

    • Should we offer automatic migration (ocamlmig or other) to add Domain.self as a parameter?
  • Lwt_unix.run removal: it's been deprecated for a long time in favour of Lwt_main.run (it can't be kept because it'd create circular dependencies.

    • Should we offer automatic migration?
  • Lwt_engine.fake_event removal: ACTUALLY LETS RESTORE IT

  • Lwt_main.*hooks* removal: deprecated, exposed inernal implementation detail which is incompatible with new implementation. Should be replaced by uses of corresponding submodules.

    • Should we offer automatic migration?

raphael-proust avatar Sep 05 '25 13:09 raphael-proust