Stream: wg-async-foundations/book

Topic: weekly meeting 2019.06.25


Taylor Cramer (Jun 25 2019 at 16:29, on Zulip):

@WG-async-foundations book meeting o/

nikomatsakis (Jun 25 2019 at 16:31, on Zulip):

Howdy

nikomatsakis (Jun 25 2019 at 16:33, on Zulip):

My update: I've not had time to do much but I've definitely lowered my aspirations. :P I would still like to extract this section and the next one into a chapter of their own, and base them on the runtime guessing game. I have like 33% of the edits for that and I'm debating what to do with them.

nikomatsakis (Jun 25 2019 at 16:33, on Zulip):

In particular, if I were to open a PR that left things in an "incompletely written state", is it plausible @Yoshua Wuyts that folks from ecosystem WG (or elsewhere) might be interested to help finish it up?

centril (Jun 25 2019 at 16:34, on Zulip):

@Yoshua Wuyts's blog post had some nice material to integrate?

nikomatsakis (Jun 25 2019 at 16:34, on Zulip):

Yes, indeed

centril (Jun 25 2019 at 16:35, on Zulip):

@nikomatsakis if you cc me on these PRs I can do some proof reading :slight_smile:

centril (Jun 25 2019 at 16:35, on Zulip):

(and more proof reading of the existing material more generally)

nikomatsakis (Jun 25 2019 at 16:35, on Zulip):

Ok

Yoshua Wuyts (Jun 25 2019 at 16:36, on Zulip):

@nikomatsakis I think folks could probably help out, yeah!

centril (Jun 25 2019 at 16:36, on Zulip):

Maybe we could advertise on reddit?

nikomatsakis (Jun 25 2019 at 16:37, on Zulip):

OK. Because I don't think it'd be possible for me to get the material into a finished state

nikomatsakis (Jun 25 2019 at 16:37, on Zulip):

Or at least I don't think it makes a ton of sense

nikomatsakis (Jun 25 2019 at 16:38, on Zulip):

let me see if I can at least cleanup to a PR-able state so that we can decide whether we like the general direction or not

Taylor Cramer (Jun 25 2019 at 16:38, on Zulip):

Okay-- I'd be happy to take a look at that point and help with whatever cleanup is required

nikomatsakis (Jun 25 2019 at 16:38, on Zulip):

@Taylor Cramer we should have numbered things 10, 20, 30 :P

nikomatsakis (Jun 25 2019 at 16:38, on Zulip):

I currently added chapter 01b_... but I guess I should rename

Taylor Cramer (Jun 25 2019 at 16:38, on Zulip):

mostly, though, I'm interested in adding new content (the TODO sections)-- is anyone interested in taking on the leftover chapters?

Taylor Cramer (Jun 25 2019 at 16:39, on Zulip):

@nikomatsakis yeah, I knew that would be a problem but I wasn't sure what to do about it :(

nikomatsakis (Jun 25 2019 at 16:39, on Zulip):

we should be teaching all you young folks GW-BASIC

nikomatsakis (Jun 25 2019 at 16:39, on Zulip):

mostly, though, I'm interested in adding new content (the TODO sections)-- is anyone interested in taking on the leftover chapters?

yep obviously higher priority

Yoshua Wuyts (Jun 25 2019 at 16:40, on Zulip):

I can take on streams!

nikomatsakis (Jun 25 2019 at 16:40, on Zulip):

yeah, I knew that would be a problem but I wasn't sure what to do about it :(

I figured you had foreseen the possibility of a conflict :)

Taylor Cramer (Jun 25 2019 at 16:40, on Zulip):

I'm happy to do the select! section since I'm probably the most familiar

Taylor Cramer (Jun 25 2019 at 16:40, on Zulip):

^^ I did, yeah, but I'm really unsure if there's a better approach

Taylor Cramer (Jun 25 2019 at 16:40, on Zulip):

we could just give them all numbers really far apart and add new ones in the middle, but that seems funky for obvious reasons

centril (Jun 25 2019 at 16:40, on Zulip):

@Yoshua Wuyts Could you do the reddit ask-for-help (assuming we want that)?

Taylor Cramer (Jun 25 2019 at 16:41, on Zulip):

the other option is not to number at all, but IMO that makes it harder to tell what's going on

Taylor Cramer (Jun 25 2019 at 16:41, on Zulip):

maybe the extra clarity in terms of ordering isn't worth it

Yoshua Wuyts (Jun 25 2019 at 16:41, on Zulip):

@centril I'm not very active on Reddit; I don't think I should take that on

Taylor Cramer (Jun 25 2019 at 16:41, on Zulip):

@Yoshua Wuyts wrt streams

Taylor Cramer (Jun 25 2019 at 16:42, on Zulip):

https://rust-lang.github.io/async-book/05_streams/01_chapter.html and
https://rust-lang.github.io/async-book/05_streams/02_iteration_and_concurrency.html
exist already

nikomatsakis (Jun 25 2019 at 16:42, on Zulip):

what else is needed apart from streams, select!?

centril (Jun 25 2019 at 16:42, on Zulip):

@Yoshua Wuyts ah; ok -- I'd do it, but I'm probably not the most able to answer everyone's questions

Taylor Cramer (Jun 25 2019 at 16:42, on Zulip):

but if there's more content you think is important to convey there

centril (Jun 25 2019 at 16:42, on Zulip):

Maybe @Taylor Cramer could instead?

nikomatsakis (Jun 25 2019 at 16:42, on Zulip):

in my protochapter, I did some coverage of

Taylor Cramer (Jun 25 2019 at 16:42, on Zulip):

@nikomatsakis join!, select!, Futuresunordered, AsyncRead/Write, design patterns around shared state (I'd probably like to take this section), the ecosystem (tokio & more)

Taylor Cramer (Jun 25 2019 at 16:43, on Zulip):

if you take a look at https://rust-lang.github.io/async-book/01_getting_started/01_chapter.html you can see what's still TODO on there

centril (Jun 25 2019 at 16:43, on Zulip):

Coverage of C# and python might be good also (but secondary in terms of prio)?

nikomatsakis (Jun 25 2019 at 16:43, on Zulip):

I'm looking at summary.md right now

nikomatsakis (Jun 25 2019 at 16:43, on Zulip):

I don't think we need especially detailed coverage of tokio, I feel like the tokio project is in a better position to provide that

nikomatsakis (Jun 25 2019 at 16:43, on Zulip):

though covering how to do an adapter makes sense to me

Taylor Cramer (Jun 25 2019 at 16:44, on Zulip):

yeah, mostly just showing the compat stuff together

nikomatsakis (Jun 25 2019 at 16:44, on Zulip):

yep

Taylor Cramer (Jun 25 2019 at 16:44, on Zulip):

in a more targeted example that isn't just using the hyper::run function

Taylor Cramer (Jun 25 2019 at 16:44, on Zulip):

we could also show runtime and whatever other newfangled things people are doing these days

nikomatsakis (Jun 25 2019 at 16:45, on Zulip):

right

nikomatsakis (Jun 25 2019 at 16:46, on Zulip):

well prob for now it suffices to pick "some chunk" and revist next week -- i.e., if @Yoshua Wuyts expands on streams, @Taylor Cramer expands on select and some of the stuff around it..?

Taylor Cramer (Jun 25 2019 at 16:46, on Zulip):

sgtm

Taylor Cramer (Jun 25 2019 at 16:47, on Zulip):

I think the pinning chapter could also use some expansion if someone is interested: https://rust-lang.github.io/async-book/04_pinning/01_chapter.html

Taylor Cramer (Jun 25 2019 at 16:47, on Zulip):

right now it's very end-user focused

Taylor Cramer (Jun 25 2019 at 16:47, on Zulip):

and doesn't talk about e.g. how to implement a custom Future/Stream/Sink/etc. that has a !Unpin member

Yoshua Wuyts (Jun 25 2019 at 16:48, on Zulip):

@Taylor Cramer I've done quite a bit of pinning stuff recently, but _still_ feel like I don't have a good enough handle on it to explain how it works

Yoshua Wuyts (Jun 25 2019 at 16:48, on Zulip):

oh wait, I thought Steve was also working on pinning for the new book. perhaps we should reach out?

Yoshua Wuyts (Jun 25 2019 at 16:48, on Zulip):

(I can reach out to ask)

centril (Jun 25 2019 at 16:49, on Zulip):

@Yoshua Wuyts @RalfJ has done some great updates to libcore for Pin docs

centril (Jun 25 2019 at 16:49, on Zulip):

you might want to reach out to them

Yoshua Wuyts (Jun 25 2019 at 16:49, on Zulip):

@centril yeah good one

centril (Jun 25 2019 at 16:49, on Zulip):

(I haven't subscribed them to this stream)

Yoshua Wuyts (Jun 25 2019 at 16:50, on Zulip):

I can ask; I know them (:

centril (Jun 25 2019 at 16:50, on Zulip):

:slight_smile:

Taylor Cramer (Jun 25 2019 at 16:51, on Zulip):

To be clear: I think the remaining documentation wanted here is "practical first" explanation of what tools to use when in order to write e.g. a manual Stream implementation

Taylor Cramer (Jun 25 2019 at 16:51, on Zulip):

so walking through how to use the pin_utils stuff

Taylor Cramer (Jun 25 2019 at 16:51, on Zulip):

and what invariants must be enforced for correctness

Taylor Cramer (Jun 25 2019 at 16:51, on Zulip):

patterns for dealing with pinned members of enums, etc.

Yoshua Wuyts (Jun 25 2019 at 16:53, on Zulip):

@Taylor Cramer I think I can ask both steve and ralf only about the latter parts, the "practical tools" part will likely have to be written by someone else

Yoshua Wuyts (Jun 25 2019 at 16:54, on Zulip):

though I'll mention the plan (:

Taylor Cramer (Jun 25 2019 at 16:54, on Zulip):

@Yoshua Wuyts yeah, I guess I'll probably wind up doing it, unless @Taiki Endo or @Nemo157 are interested

Taylor Cramer (Jun 25 2019 at 16:54, on Zulip):

they're both experts :)

centril (Jun 25 2019 at 16:54, on Zulip):

https://crates.io/crates/pin-project looks nifty

Taylor Cramer (Jun 25 2019 at 16:55, on Zulip):

indeed yeah

Taylor Cramer (Jun 25 2019 at 16:55, on Zulip):

I have actually been meaning to send a few PRs-- I think we can make it even safer

Taylor Cramer (Jun 25 2019 at 16:56, on Zulip):

that said, it doesn't totally sidestep this issue

Yoshua Wuyts (Jun 26 2019 at 15:33, on Zulip):

followed up with Steve, he said he'd be interested in contributing (: -- going to leave it at that for now.

Last update: Nov 15 2019 at 10:15UTC