17:09
<shu>
i want to repeat a point i made at the last plenary: i wouldn't interpret "other web platforms could be polyfilled" as motivation for building AsyncContext
17:10
<shu>
independently i think there's already a lot of positive signal of developer enthusiasm
17:28
<Kris Kowal>
independently i think there's already a lot of positive signal of developer enthusiasm
And the usual dynamic-scope curmudgeons have already been not only appeased, but converted into supporters.
19:13
<shu>
yall out here being curmudgeonly about well-behaved dynamic scope while PHP has been thriving for 20 years on $$var
19:33
<Kris Kowal>
bash doesn’t even have gensyms, but bash isn’t interesting.
19:33
<Kris Kowal>
…or does it, muhahahah
19:42
<littledan>
i want to repeat a point i made at the last plenary: i wouldn't interpret "other web platforms could be polyfilled" as motivation for building AsyncContext
I think a more relevant thing is: this shows a need in the web platform for multiple independent variables, which is something you were asking about the need for. Rather than polyfilling, I would say that it reveals the use case that you could implement fancier scheduling algorithms (while continuing priority inheritance) than the web platform provides as built-in if AsyncContext is provided to JS rather than just built-in things.
19:43
<littledan>
(The need for fancier scheduling than postTask provides has been part of its limited uptake, I think)
19:46
<shu>
does it?
20:40
<littledan>
Well, yeah, priority and task attribution are parallel, unrelated variables
20:41
<littledan>
Blink implements the multiplexing there
20:41
<shu>
yes, but does it follow from that that we need a user-programmable multiplexing primitive?
20:42
<littledan>
Well, OK it doesn’t prove that
20:43
<littledan>
The first sentence was a weaker claim, that the web platform itself needs multiple variables
20:43
<shu>
anyway i'm already convinced of developer demand
20:43
<shu>
i just disagree with the narrower claim that the web APIs we're working on are also evidence of that demand
20:44
<littledan>
Something something extensible web manifesto? Anyway sounds like I don’t need to make that claim in the first place.
20:46
<littledan>
My hope is that we will come to understand that AsyncContext can back task attribution and yield priority inheritance, but I think we need to get further in the prototype implementation to prove this out
20:46
<shu>
yeah something something extensible web manifesto is the right default
20:46
<shu>
but there are compelling counterexamples, like text shaping
20:46
<shu>
we've learned you don't actually want to expose primitives for people to build shitty text shapers
20:46
<shu>
you just want to expose text shaping
20:46
<shu>
this space is kinda new to me so i don't actually know yet
20:47
<shu>
maybe it should be extensible
20:47
<littledan>
PSA: lobby your local browser vendor to support https://github.com/WICG/canvas-formatted-text
20:48
<littledan>
Anyway I agree with your example and this is why Intl.Segmenter doesn’t support line breaks
20:53
<bakkot>
what if instead the text shaper calls a wasm program embedded in the font to do the text shaping https://github.com/harfbuzz/harfbuzz/blob/main/docs/wasm-shaper.md
20:55
<shu>
i mean that's probably fine