As we do this interoperability and portability work, we should develop our guiding principles. From my blog post I suggest the following possible principles:
Async APIs should be as close as possible to their synchronous equivalents.
Applications should choose a runtime, libraries should be runtime-agnostic.
Executors/runtimes must have enough flexibility to optimally satisfy their specific constraints.
It is a non-goal for async support in std to be minimal (i.e., we don't want something like the futures crate to be a long-term solution).
We should discuss these up front, and continue to iterate as we develop our work.
As we do this interoperability and portability work, we should develop our guiding principles. From my blog post I suggest the following possible principles:
We should discuss these up front, and continue to iterate as we develop our work.