owned this note changed 10 months ago
Published Linked with GitHub

WG-async meeting agenda

  • Meeting date: 2024-05-02

Attendance

  • People: TC, Daria, tmandry, eholk

Meeting roles

  • Minutes: TC

Scheduled meetings

None.

Update these here.

Proposed meetings

None.

Update these here.

Availability

  • 9th: poll_progress (or similar)
    • This week is RustNL, but maybe none of us are going there.
  • 16th: Project goals
  • 23rd: Unforgettable types
  • 30th: Open discussion

Topics for next month:

  • Drop and keyword generics

Proposed topics

poll_progress

tmandry: If we had unforgettable types, maybe we could have futures spawn futures within them soundly. That would allow us to address, e.g., the embedded use case.

TC: Another way around is to push forward on general coroutines. Then this could be expressed in a library.

TC: Separately, if we did poll_progress, it seems desirable if it could be expressed in the surface syntax. (This also helps to draw out the connection to general coroutines.) E.g. (not a real syntax proposal):

async gen { loop {
    let mut plates = spin_the_plates();
    if $make_progress_only {
        yield_progress;
    } else {
        yield plates.pop();
    }
}}

(Here, the $make_progress_only is analogous to the implicit Context that we thread through async for the .await desugaring.)

TC: This of course raises the question of what to do if we try to yield when only progress was requested.

Unforgettable types

Daria: We may need coinduction for this, and we may need the new trait solver for this.

(Discussion of how we need to ensure T-types involvement and buy-in here.)

eholk: There's an open PL research question of whether linear types can be made ergonomic.

tmandry: If we had an owner for unforgettable types who was committed to work on it, we could add a project goal for this. Daria, are you and team continuing to work on this?

Daria: We are, but it's going to be much more in the background.

Daria: My manager has a meeting soon with the Huawei directors. We'll see what comes of that. I'll keep you informed. We made so much progress up to this point, I'd really like to see this happen.

Select a repo