02:05
<keith_miller>
shu: I commented on the github thread. I'll start working on the slides now
02:05
<keith_miller>
๐Ÿ˜ฌ
02:05
<shu>
keith_miller: :+1:
02:37
<ljharb>
`import.meta` has landed
02:39
<devsnek>
๐Ÿ‘€
02:47
<rkirsling>
somebody's excited
17:01
<akirose>
My computer KPed and is struggling to start
17:15
<rkirsling>
+1 to "days are more destructive than hours"
17:15
<ljharb>
+2
17:16
<ljharb>
+1 as well that a 3 day travel meeting requires up to 5 days blocked off
17:20
<jackworks7>
and it's 1am now I'm very sleepy even I had go to sleep 8pm
17:21
<jackworks7>
stay up for whole night for 4 or 5 days is not acceptable for me :(
17:22
<ljharb>
no matter how we structure the times, that's going to be a requirement for somebody
17:22
<ljharb>
during every meeting, i mean
17:23
<jackworks7>
maybe should collect acceptable time range of everyone and try to find a way to let less people meeting in 0am to 6am
17:24
<michaelficarra>
what rude response was Waldemar referring to?
17:24
<ljharb>
michaelficarra: https://github.com/tc39/Reflector/issues/276 iirc
17:25
<ljharb>
jackworks7: agreed, node TSC has a tool that tries to minimize that, and takes into account everybody's timezone
17:25
<michaelficarra>
oh I see, I think it was just miscommunication
17:28
<rkirsling>
yeah I was surprised by the callout
17:36
<ljharb>
+1 to waldemar/myles' point as well that the remote only works well because we have existing non-remote relationships
17:36
<rkirsling>
this queue is too long :( but I'll repeat that hallway track doesn't work if it requires you to juggle multiple machines
17:36
<jackworks7>
I have to say
17:37
<michaelficarra>
+1 ljharb
17:37
<jackworks7>
Minecraft with appropriate mods might be a better choice than the hub
17:37
<michaelficarra>
rkirsling: also if the 1 hour break takes 40 minutes in food prep
17:37
<michaelficarra>
(for lunch)
17:38
<michaelficarra>
also no Wednesday dinner, which often was very productive
17:38
<michaelficarra>
a lot of proposals only exist because of discussion that happened at the dinners
17:38
<ljharb>
+1000 ^
17:38
<rkirsling>
yeah I thought that Weds dinner would've been the sole appropriate time FOR hubs
17:38
<rkirsling>
but then it didn't happen?
17:38
<ljharb>
nobody showed up
17:39
<drousso>
yeah the wednesday dinner
17:39
<rkirsling>
I didn't show up because we just ended with no remark
17:39
<ljharb>
hubs is open whenever we're not in plenary, 24/7 :-p
17:45
<caridy>
At TPAC/WC meeting last week (first time remote for everyone), we did 4 hours per day... worked well (although less people: ~25 delegates)
17:53
<ystartsev>
rkirsling: srry i fell asleep :|
17:53
<ystartsev>
for the dinner
17:53
<littledan>
I *love* bterlson 's idea here!
17:53
<littledan>
Node collaborator summits are awesome, and I think we could do a lot in something like this
17:53
<littledan>
it could be adjacent to a normative plenary
17:53
<rkirsling>
ystartsev: oh sorry, I wasn't mean to blame anybody :(
17:54
<ystartsev>
๐Ÿ˜…
17:54
<akirose>
thinking of it more like a "collaborator summit" i think is a great way to think of it
17:54
<littledan>
also wanted to mention, lots of non-US countries have difficult border policies that would inhibit travel of TC39 delegates. In fact, I doubt there's any rich country we could choose in the world that everyone could just go to.
17:55
<bterlson>
I messed up by calling it a conf
17:55
<bterlson>
collaborator summit is a better term
17:55
<ljharb>
littledan: +1
17:55
<ystartsev>
bterlson: i like that idea a lot
17:55
<littledan>
(multiple Igalians have had trouble getting into Canada for technical conferences, for example)
17:56
<ljharb>
+1 again, canada is not better than the US here
17:56
<shu>
i had top drop for a 1:1 for 30 minutes
17:56
<shu>
was there discussion around short-form vs long-form plenaries and where did folks land?
17:56
<leobalter>
Today is seems that Canada is easier. Back in 2013 it was not fun for me attending a Mozilla Summit there.
17:57
<ljharb>
shu: some preferred more days shorter hours, some preferred fewer days
17:57
<shu>
any clear minority or majority?
17:58
<ljharb>
not that i saw, but i wasn't keeping tabs
17:58
<leobalter>
shu IMO not in dense, definitely a subtopic that needs work in the current discussion
17:58
<shu>
sorry, in dense?
17:58
<leobalter>
it havent'been discussed extensively
17:58
<littledan>
yeah, we had some discussion but we didn't have much of a conclusion or even a strong tendency in the room
17:59
<shu>
okay, thank you
18:02
<ljharb>
wsdferdksl: ebola doesn't have a cure or vaccine, and zero cases weren't required to avoid restrictions. i'm not sure epidemiologists would agree with your logic here
18:02
<shu>
this is not a productive discussion
18:02
<shu>
i suggest chairs get to dan's item
18:02
<ljharb>
fair
18:03
<shu>
this can be executive decisioned imo
18:03
<howdoi>
where can I subscribe myself to the Temporal weekly meetings?
18:04
<ghmcadams>
I agree. Its not about knowing what will happen and deciding what is best. Its about planning now based on our best guess.
18:05
<michaelficarra>
maybe I'm dumb, but if a country has 0 cases, we have rapid cheap testing available, and the country requires everyone entering its borders to test negative, can't we theoretically travel safely before a vaccine?
18:05
<ghmcadams>
its not that simple. tests might be inaccurate or take longer to get a result than we want to wait.
18:06
<bterlson>
michaelficarra: if you're healthy sure
18:06
<ljharb>
michaelficarra: we don't even need 0 cases, just thorough and rapid testing
18:06
<rkirsling>
thank you for PoO
18:06
<ljharb>
and accurate ofc
18:06
<rkirsling>
this subtopic needs to stop
18:07
<ghmcadams>
carriers exist with no symptoms. its not just about safety for us. its about all who we come in contact with while traveling, after traveling, etc. I for one wouldn't travel and put my family at risk
18:07
<ljharb>
ghmcadams: symptoms don't affect testing, just who you decide to test
18:07
<ystartsev>
ljharb: you can get false negatives with current tests
18:08
<ljharb>
sure, current tests aren't good enough
18:08
<benjamn>
this line of discussion is an absolute waste of time
18:08
<ystartsev>
yeah i don't think this is useful
18:08
<benjamn>
do we need another point of order?
18:08
<benjamn>
maybe he's done
18:09
<shu>
please, chairs, let's move to dan's item
18:09
<benjamn>
yes please
18:11
<ljharb>
here's ES2020 for folks' review: https://github.com/tc39/Reflector/issues/282
18:11
<Bakkot>
nice!
18:12
<wsdferdksl>
ljharb: ebola is very different. This is not a productive discussion.
18:12
<benjamn>
MylesBorins: thank you, I also disagree
18:12
<ljharb>
wsdferdksl: agreed, neither are any claims from a non-epidemiologist on how epidemics work.
18:12
<ljharb>
re ES2020, for those who have had PDF complaints, please check the PDF - it's in A4, with page numbers and a clickable TOC
18:12
<wsdferdksl>
ljharb: That's incorrect.
18:13
<wsdferdksl>
It's unproductive to keep bringing up the claim about needing to be an epidemiologist to contribute to the discussion. That's false.
18:13
<leobalter>
ljharb please let me know what you've used for the page numbers, etc
18:13
<ljharb>
leobalter: adobe acrobat DC, free trial
18:14
<leobalter>
yeah, I wondered if there is something beyond acrobat for that. I don't want to personally pay for it to just print the PDF
18:15
<ljharb>
i printed to PDF just from my mac; then i edited it to add the 4 frontmatter pages, and add page numbers to pages 5+
18:15
<Bakkot>
we should figure out a better alternative.
18:15
<ljharb>
adding the pages i did in Preview; only the page numbers and editing text content required Acrobat
18:15
<devsnek>
you could probably make a script using pdfkit or something
18:17
<michaelficarra>
ljharb: the editors list is wrong
18:17
<Bakkot>
should just have ecmarkup output latex and then run latex2pdf
18:17
<ljharb>
michaelficarra: for 2020?
18:17
<michaelficarra>
in the PDF download
18:18
<ljharb>
michaelficarra: we talked about that on the editor call; that the list would be updated for 2021, not for 2020
18:18
<michaelficarra>
oh I forgot that
18:18
<michaelficarra>
okay that makes sense
18:20
<littledan>
I'm very much in favor of cancelling the in-person plenaries ahead of time. Having to plan for and incrementally cancel meetings would be stressful and complicated.
18:20
<caridy>
we have 60 people in this meeting, just ask...
18:21
<akirose>
it sucks. i know it sucks.
18:21
<akirose>
but it justโ€ฆ it is what it is.
18:21
<ljharb>
MylesBorins: i'm not a fan of shutting down any possibility of in-person meetings in 2020, i'm just acking the likelihood that they won't be possible
18:21
<littledan>
I'm a big fan of providing certainty this year. We have enough to worry about. I'm not a fan of this situation.
18:22
<apaprocki>
my (elided) queue item was that I can't wait until June to move on Tokyo in September.. I need to make a call on it within a month, as ~1k people /day are dying in NYC, and that call will 99.9% be => cancel
18:22
<brad4d>
asking here - can drop from tcq if answered
18:22
<ystartsev>
the situation in budapest is also very problematic
18:22
<brad4d>
how much lead time is needed to plan an in-person plenary?
18:22
<apaprocki>
~180 days it starts
18:22
<brad4d>
ok, thx
18:22
<littledan>
and it's not like we could move to Barcelona to solve the problems in Budapest!
18:22
<apaprocki>
:P
18:24
<jackworks7>
ljharb: I like the new PDF, I can upgrade from es2018 to es2020 now
18:24
<ljharb>
MylesBorins: i just hope that after covid is done and everyone's comfortable, we don't need consensus to restart in-person meetings
18:24
<ljharb>
jackworks7: glad to hear it!
18:24
<littledan>
+1 to msaboff 's comment
18:24
<jridgewell>
++
18:24
<ystartsev>
++
18:24
<ystartsev>
+
18:24
<ystartsev>
:|
18:25
<jridgewell>
๐Ÿ˜›
18:25
<shu>
one is unary one is binary
18:25
<devsnek>
111
18:25
<littledan>
did we move from JS to BF as the language for this channel?
18:26
<ystartsev>
can find a reason to make :| a valid opeerator? i feel like that emoji expresses my feelings while coding
18:26
<devsnek>
[>>++]
18:26
<jackworks7>
just for curious, is there a diff between spec of last year and current year so that the implementer can know what details has changed in a year?
18:26
<rbuckton>
I've always been partial to :/
18:26
<Bakkot>
littledan http://www.jsfuck.com/
18:26
<ystartsev>
^also good
18:26
<msaboff>
LOL to Mark Cohen's queue item
18:26
<devsnek>
jackworks7: you can diff it using the github releases, and we also list important changes at the top of the document
18:27
<wsdferdksl>
:(){ :|:& };:
18:27
<ljharb>
jackworks7: there's a "commits" link on the github repo
18:27
<ljharb>
jackworks7: also, the intro summarizes changes in each edition
18:28
<jackworks7>
oh cool
18:28
<rwaldron>
MylesBorins akirose shu can I ask a favor?
18:28
<ljharb>
jackworks7: but i believe most implementers don't use the yearly editions; the instant it lands in master it's in the languge
18:28
<akirose>
what up
18:28
<Bakkot>
jackworks7: git log --pretty=oneline --abbrev-commit es2019..es2020 | grep 'Normative:'
18:28
<rwaldron>
Would we be able to do "Atomics.waitAsync error rejection PR" before my hard 5pm EST stop?
18:28
<michaelficarra>
ึถ๐Ÿ‘ฎโ€โ™‚๏ธ๐Ÿ‘‰ #tdz
18:29
<shu>
rwaldron: weakrefs is more pressing
18:29
<Bakkot>
ljharb a lot of tooling implementors do use the yearly versions
18:29
<ljharb>
ah that's true, eslint and babel and whatnot
18:29
<ljharb>
fair
18:29
<rwaldron>
shu no doubt, but I was hoping that maybe MylesBorins wouldn't mind doing the process change topic at the end of the day
18:29
<devsnek>
tooling implementations need to stop using yearly versions
18:29
<shu>
rwaldron: i think we should consider waitAsync bumped until next meeting if schedule is tight. i'm also going to try to do the incubator call chartering in ~10mins
18:30
<shu>
rwaldron: ah okay, then the only constraint for me is weakrefs don't get bumped
18:30
<MylesBorins>
I think that process discussion will be super short fwiw
18:30
<rwaldron>
shu I also need an answer on weakrefs <3
18:30
<MylesBorins>
if think we probably can squeeze both in before lunch
18:30
<akirose>
we have some extra time, just a matter of juggling around some things
18:30
<rwaldron>
MylesBorins if shu agrees, then I would be very appreciative
18:31
<jridgewell>
There's a 75min empty slot at the end of today
18:31
<jridgewell>
We should have time for everything and then some
18:31
<akirose>
yeah like i said it's all about juggling
18:31
<shu>
i'm happy to move waitAsync up and try to time it to 15mins, though i feel like it'll overflow to at least 20 or 25
18:31
<MylesBorins>
want to do yours first?
18:31
<MylesBorins>
shu ?
18:32
<shu>
which of mine?
18:32
<shu>
the answer is yes though
18:32
<MylesBorins>
We have 25 minutes ish
18:32
<MylesBorins>
I'll move process discusssion
18:32
<rwaldron>
MylesBorins if we could do both the weakrefs and waitAsync before I have to depart for child care, I would be ever so grateful
18:32
<shu>
weakrefs is going to need more than 25 minutes
18:32
<shu>
i can try to do either incubator call chartering or waitAsync in 25 minutes, so let's do incubator calls?
18:33
<shu>
err, i mean waitAsync?
18:33
<rwaldron>
I don't know what the incubator calls topic is
18:33
<MylesBorins>
shu are you ok with me swapping incubator and weakrefs?
18:33
<rwaldron>
yes waitAsync
18:34
<rwaldron>
Here's my wishlist: can we do weakrefs and waitasync next
18:34
<shu>
MylesBorins: i'm not up to date on the ordering, what concrete times are we takling about?
18:34
<MylesBorins>
https://hackmd.io/8Ok_eshBSTCfd8Zh8crQ3Q
18:34
<MylesBorins>
stomics would be next
18:34
<MylesBorins>
with 25 minutes
18:34
<MylesBorins>
then lunch for an hour
18:34
<MylesBorins>
then weakrefs
18:34
<rwaldron>
phonetically... stomics will come after whatever we do next
18:34
<akirose>
-_-
18:34
<rwaldron>
:D
18:35
<rwaldron>
akirose gets me
18:35
<akirose>
lol only begrudgingly
18:35
<shu>
MylesBorins: that looks okay with me
18:35
<devsnek>
we have 75m of extra time?
18:35
<rkirsling>
rwaldron: nice
18:35
<rwaldron>
:D
18:35
<MylesBorins>
yup
18:35
<rwaldron>
rkirsling ^5
18:35
<MylesBorins>
I moved stuff around
18:35
<MylesBorins>
PTAL
18:35
<akirose>
๐ŸŽ‰
18:36
<rwaldron>
MylesBorins thank you so much
18:36
<MylesBorins>
rwaldron you will be done at 1:25 PT
18:36
<rwaldron>
I really appreciate that
18:36
<jackworks7>
devsnek: (re: tooling implementations need to stop using yearly versions
18:37
<rwaldron>
And thank you to everyone else for being so flexible and accamodating
18:55
<rbuckton>
While it possibly suffers from the same drawback as the `load` workaround, is it feasible to workaround with a `Atomics.wait` with a 0ms timeout for fail-fast, then call `Atomics.waitAsync`?
18:55
<Bakkot>
that suffers the same drawback as the `load` workaround
18:55
<Bakkot>
oh actually
18:55
<Bakkot>
the actual problem is that you cannot `.wait` on the main thread
18:56
<Bakkot>
the point of waitAsync is that you can do it on the main thread
18:57
<rbuckton>
You cannot `.wait` on the main thread? or you "should not" `.wait` on the main thread?
18:57
<Bakkot>
cannot
18:58
<devsnek>
it throws
18:58
<rbuckton>
Ah: https://tc39.es/ecma262/#sec-agentcansuspend
18:59
<devsnek>
"the main thread" is an iffy way to describe it imo
18:59
<devsnek>
in node's main thread you can use Atomics.wait just fine
18:59
<rbuckton>
Its agent dependent, so on the web you *cannot*, but in other hosts you might be able to.
18:59
<rbuckton>
devsnek: that's why I was confused, as I've done this successfully in Node.
19:00
<devsnek>
had same confusion with shu yesterday :P
19:00
<Bakkot>
sorry, I should have specified on the web, yes
19:00
<devsnek>
do things still ship Atomics.wake
19:00
<Bakkot>
chrome does, looks like
19:01
<devsnek>
looks like everything still does
19:01
<jridgewell>
For the uninitiated, Zalgo is:
19:01
<devsnek>
wasn't that supposed to be removed at the same time as SAB is reenabled
19:01
<jridgewell>
https://www.irccloud.com/pastebin/p0JJpKT7/zalgo.js
19:01
<jridgewell>
The logs must always be 'ABC' or 'ACB'
19:01
<ljharb>
littledan: by "no change" do you mean, sometimes throws sometimes returns a promise? or always returns a promise
19:01
<littledan>
ljharb: Yes, unfortunately
19:01
<jridgewell>
If it's sometimes one and sometimes the other, you've unleased Zalgo
19:01
<littledan>
that it sometimes throws a promise, sometimes not
19:02
<littledan>
so, tip of tree
19:02
<ljharb>
littledan: right, that violates the consensus/policy we all agreed on with async functions
19:02
<Bakkot>
"no I hat thenables" +1
19:02
<ljharb>
i'd consider that a blocker
19:02
<jridgewell>
Returning a sync thenable doesn't solve Zalgo
19:02
<rbuckton>
Much prefer the tagged/discriminated union approach
19:04
<devsnek>
the argument validation is definitely a problem
19:05
<rbuckton>
If you're using `async/await` it's not that bad. I'd argue that returning `Promise | string` is worse.
19:08
<ljharb>
not that bad anyways imo; `result.async ? result.value.then(doWork) : doWork()` or similar
19:09
<rbuckton>
-1 to zalgo by way of untagged union, +1 to tagged union
19:10
<ljharb>
lol, horrible idea: the string constants could instead be well-known frozen Promise objects แ••( แ› )แ•—
19:10
<rbuckton>
ljharb: I'd consign that one to #temporaldeadzone
19:10
ljharb
slinks away
19:11
<rbuckton>
/s
19:11
<devsnek>
this is one weird api
19:11
<rbuckton>
No kidding.
19:11
<Bakkot>
atomics get weird fast
19:12
<rbuckton>
Consensus is `Promise | "ok" | "not-equal" | "timed-out"`?
19:12
<Bakkot>
no, consensus is tagged
19:12
<rbuckton>
Ok, good.
19:12
<shu>
{async:true|false, value:"not-equal"|"timed-out"|Promise}
19:12
<Bakkot>
{ async: true, value: Promise } or { async: false, "ok" | "not-equal" | "timed-out" }
19:12
<Bakkot>
oh yeah not "ok" in the last branch
19:13
<shu>
yeah ^
19:13
<rbuckton>
`{ async: false, value: "ok" | "not-equal" | "timed-out" } | { async: true, value: Promise<"ok" | "not-equal" | "timed-out"> }`
19:13
<devsnek>
`any`
19:13
<rbuckton>
Why would `"ok"` not be valid if the timeout is 0ms?
19:13
<shu>
rbuckton: almost
19:14
<shu>
there is no promise resolution of "not-equal"
19:14
<shu>
there is no slow fail-fast case
19:14
<rbuckton>
Ah, I see.
19:14
<Bakkot>
wait shu can you give the actual correct type
19:14
<Bakkot>
I keep confusing myself
19:14
<Bakkot>
for which is legal where
19:15
<shu>
`{async: false, value: "not-equal" | "timed-out" } | { async: true, value: Promise<"ok" | "timed-out"> }`
19:15
<sffc>
howdoi: if you send me your Gmail I'll add you to the Google Group which comes with the weekly meeting invite
19:15
<rbuckton>
๐Ÿ‘
19:15
<Bakkot>
great
19:16
<shu>
for async:false to be able to return `"ok"`, the implementation would need to implement a microwait like `pause` to see if it got changed to the value you want in the 1microsecond OS quantum or whatever
19:16
<shu>
and that is just weird
19:16
<howdoi>
sffc: sure, thanks!
19:16
<shu>
and thus not allowed
19:16
<rbuckton>
shu: Yeah, makes sense.
20:06
<robpalme>
we will resume in 5 mins
20:11
<devsnek>
weakrefs ๐ŸŽ‰
20:14
<devsnek>
are there any major engines where allocating an ordinary object isn't just incrementing a pointer
20:15
<shu>
only young generations tend to be bump allocated
20:16
<devsnek>
yeah i'm guessing the result of atomics.waitAsync would not be old generation :P
20:16
<shu>
almost always they will be young
20:17
<Bakkot>
also there's no way that object allocation is going to be as expensive as a microtask tick from the application's perspective
20:17
<devsnek>
i know in v8 you can explicitly ask for young or old generation too
20:17
<devsnek>
actually i don't know if that's exposed to torque yet
20:19
<ghmcadams>
I noticed that today, people do not have their full name and company showing. Can we all make this change as we did on Tuesday?
20:21
<ghmcadams>
(in zoom)
20:22
<MylesBorins>
point of order raised
20:25
<ghmcadams>
Thank you, Myles
20:27
<jridgewell>
Is there an example use case that needs sync finalization with long-running task?
20:27
<jridgewell>
Like, games, but how are the games allocating JS objects?
20:27
<jridgewell>
And why do they need to be cleaned up?
20:28
<devsnek>
jridgewell: right now they have to emit manual cleanup
20:28
<devsnek>
which can introduce subtle leaks and such
20:28
<jridgewell>
Cleanup of what?
20:29
<jridgewell>
The thing I don't understand is how they're using JS objects
20:29
<devsnek>
they're allocating memory in arraybuffers
20:29
<devsnek>
emscripten/wasm
20:29
<devsnek>
the memory has to be manually deallocated
20:29
<jridgewell>
And they're sending individual array buffers to the main thread?
20:29
<devsnek>
no
20:29
<jridgewell>
To do what?
20:30
<devsnek>
you have some native code that does things
20:30
<devsnek>
it uses a not shared arraybuffer as its memory
20:30
<devsnek>
when you pass a reference into that memory to js
20:30
<devsnek>
you have to manually track the lifetime
20:30
<devsnek>
finalizationregistry means you no longer have to manually track the lifetime
20:30
<jridgewell>
Yes, I understand that part
20:31
<jridgewell>
What I don't understand is how they're using the JS objects on the JS side of the bridge
20:31
<jridgewell>
If they're sending something to JS, what do they use that for?
20:31
<devsnek>
you usually are wrapping a native lib and calling it from js
20:31
<jridgewell>
Any explanation of that would be really helpful for me to understand
20:32
<devsnek>
like `{ ref: n, x() { _binding.x(this.ref) }`
20:32
<devsnek>
you have instances like that
20:32
<devsnek>
they're just wrapping native libraries
20:32
<devsnek>
like native addons in nodejs but using wasm/emscripten instead
20:33
<devsnek>
(native addons in node get weakref tracking btw)
20:33
<jridgewell>
> you usually are wrapping a native lib and calling it from js
20:33
<jridgewell>
Doesn't that mean you live in JS world, and are subject to the JS event loop?
20:34
<devsnek>
not inherently
20:34
<devsnek>
the applications are usually a lot more complex
20:34
<sffc>
Is GitHub down?
20:34
<mhofman>
it is for me in SF
20:34
<rickbutton>
yeah
20:34
<devsnek>
i think the emscripten repo might have some more in-depth examples
20:34
<devsnek>
yeah it seems down
20:35
<jridgewell>
Lol, bad timing.
20:35
<ljharb>
sffc: https://www.githubstatus.com/
20:35
<bterlson>
github pages is up at least๐Ÿ˜
20:35
<ljharb>
gist is down too tho
20:39
<mmarchini>
+1 thanks gus
20:39
<devsnek>
lol
20:44
<devsnek>
a usable decorator api might start from a most scoped api instead of a least scoped api
20:44
<devsnek>
`const a = with operator Vector { v1 + v2 }` or something
20:44
<devsnek>
expands out to multiple statements
20:44
<devsnek>
but encourages you to keep it small so you don't slow down other operations
20:48
<devsnek>
s/decorator/operator overloading/ lol
20:49
<rbuckton>
aren't the cases where you do a binary operator like `+` between a number and a non-number already not fast path because of `@@toPrimitive` and `valueOf`?
20:50
<devsnek>
depends on what you call fast path
20:50
<devsnek>
engines optimize based on whether those methods exist, have been modified, and whatnot
20:53
<ljharb>
https://tc39.es/ecma262/2020/
20:53
<rbuckton>
Couldn't they also optimize based on whether those operators are present on the object?
20:53
<bradleymeck>
rbuckton: there are cases where it is a non-fast path yea, but also cases where it is fast
20:54
<rbuckton>
You shouldn't be able to add operators to an existing primitive, so `1 + 1` would always remain fast-path.
20:55
<ljharb>
https://usercontent.irccloud-cdn.com/file/uUWGvAJE/ECMA-262%2011th%20edition%20June%202020.pdf
20:55
<rbuckton>
Depending on how the `struct` proposal I'm working on evolves, if operators are limited to only `struct` values then that becomes a specific heuristic that would reduce the need for a `with operators`-like syntax.
20:56
<rkirsling>
yay expedited roll call
20:56
<bradleymeck>
i had to drop due to baby but wanted to say yes
20:57
<devsnek>
is that an official yes from godaddy
20:59
<rwaldron>
Ok, I have to roll off for childcare now. Thanks everyone!!
21:00
<akirose>
wycats: we are missing you this week
21:00
<ljharb>
MylesBorins: i assume applicant members don't count
21:00
<MylesBorins>
I don't think so
21:00
<devsnek>
๐ŸŽŠ
21:01
<devsnek>
ljharb: how many pages this year
21:01
<ljharb>
856
21:01
<Bakkot>
860 pages in the PDF
21:02
<ljharb>
4 cover, + 856 from the spec itself
21:02
<devsnek>
a good amount
21:02
<MylesBorins>
such spec
21:02
<ljharb>
2019 had 764 of spec, 2018 had 801, 2017 had 881
21:02
<rkirsling>
many text
21:02
<devsnek>
1000 by 2030
21:03
<Bakkot>
46 of those pages are the table of contents
21:03
<Bakkot>
ljharb wait, we were actually trending down for a while?
21:03
<bterlson>
btw you cannot re-log in to TCQ
21:03
<ljharb>
oh lol true, i didn't count TOC pages
21:03
<devsnek>
ljharb: the fonts in this pdf are iffy
21:03
<ljharb>
Bakkot: lol yes apparently!
21:03
<devsnek>
or at least rendered iffy
21:03
<bterlson>
so I recommend not closing tcq while github is down :)
21:03
<Bakkot>
devsnek they look great to me
21:03
<ljharb>
devsnek:in the first 4 pages? or the rest
21:03
<devsnek>
https://gc.gy/53566426.png
21:03
<ljharb>
devsnek: ignore the first 4 pages
21:03
<ljharb>
hm
21:04
<devsnek>
these letters are too thin
21:04
<devsnek>
and the bold text for literals is too thick
21:04
<Bakkot>
devsnek: https://i.imgur.com/yTTpqAt.png
21:04
<devsnek>
https://gc.gy/53566480.png
21:04
<Bakkot>
looks fine to me
21:04
<devsnek>
hm
21:05
<devsnek>
maybe firefox then?
21:05
<rkirsling>
linux woes?
21:05
<devsnek>
i don't have anything custom in linux fontstuff except for fira code
21:05
<Bakkot>
linux has traditionally had problems with rendering
21:05
<devsnek>
why is it green
21:06
<devsnek>
well that shade of green
21:07
<Bakkot>
historical reasons :P
21:07
<ljharb>
all color shades were chosen by me and brian 2-3 years ago in the print-only CSS to make the contrast better
21:07
<devsnek>
i see
21:07
<ljharb>
give me CSS diffs and i'm happy to change them
21:07
<devsnek>
nah its fine
21:07
<ljharb>
(the web colors looked bad on print, so i override them for print)
21:07
<devsnek>
was just curious
21:07
<devsnek>
the font thing is annoying though, can you use acrobat to save the fonts in the pdf
21:08
<ljharb>
not sure
21:08
<devsnek>
i've done that with illustrator before
21:08
<devsnek>
i've never used acrobat though
21:08
<leobalter>
ljharb 262 is 10x bigger than 402
21:09
<devsnek>
but not 10x better
21:09
<ljharb>
but 262 is 1.5 times smaller than 402
21:09
<leobalter>
but 402 weights much more in data for sure :)
21:09
<bterlson>
github is back!
21:10
<gibson042>
the size of 402 is hidden in phrases like "implementation- and locale-dependent"
21:23
<mpcsh>
shu: can you put the link to these slides in the agenda and/or in the notes
21:30
<devsnek>
a few proposal repos need to be archived
21:31
<devsnek>
optional chaining, import.meta, nullish coalescing
21:31
<devsnek>
maybe more
21:32
<Bakkot>
I kinda dislike archiving, because it prevents editing for misinformation while leaving it available for google, but i guess we're going with it
21:32
<devsnek>
i mean it puts a huge yellow banner on it
21:32
<ljharb>
we can always unarchive, edit, and rearchive
21:32
<devsnek>
hopefully people can make the connection
21:33
<ljharb>
i feel it's much better to discourage driveby issues on totally closed proposal repos
21:33
<Bakkot>
devsnek the yellow banner does accomplish much of anything
21:33
<ljharb>
the inability to file issues and PRs is the important part
21:34
<ljharb>
devsnek: for import.meta, you should be an admin on that repo, so you can take care of it
21:34
<Bakkot>
in particular, if I state a factual point in an issue, and the repo is then archived, and then I discover the thing I stated was in fact not true, the yellow banner will not inform people of this
21:34
<devsnek>
ljharb: i'm not
21:34
<ljharb>
Bakkot: we can unarchive, add your comment, and rearchive for that case
21:34
<ljharb>
devsnek: ping a chair, as champion you should be
21:35
<Bakkot>
ljharb yeah with a bunch of overhead, and in the case where it is a member of the committee for whom this arises
21:35
<ljharb>
true
21:36
<ljharb>
however people much-later correcting incorrect statements on a merged proposal repo has not, in practice, happened; whereas the async/await repo continues to get people asking how promises work
21:37
<devsnek>
(it's just domenic manually handling everyone's http requests)
21:38
<Bakkot>
ljharb yeah I do see the benefit
21:39
<Bakkot>
I wonder if the github issue template thing lets you just not have any templates
21:39
<ljharb>
there's no way to disable issue filing, sadly
21:40
<ljharb>
you can turn off PRs, but then old PRs aren't viewable, which is bad
21:40
<ljharb>
archival afaik is the only way to prevent new content from being created while leaving all content publicly viewable
21:44
<Bakkot>
ljharb you can't turn off issues entirely, but:
21:44
<Bakkot>
see what happens when you got to open an issue on https://github.com/bakkot/misc/
21:46
<Bakkot>
sorry, you can turn off issues but that hides the existing ones
21:46
<shu>
Bakkot: oh damn i got bamboozled into the discourse
21:46
<Bakkot>
I am much less worried about people creating spurious PRs than spurious issues
21:48
<ljharb>
in my experience when PRs are on and issues are off, people create a random file to simulate making an issue
21:49
<Bakkot>
I suspect that would happen far less frequently
21:49
<ljharb>
stopping new issues is nice, but commenting on old ones is a bigger problem
21:49
<ljharb>
iow i think the problem i want solved directly conflicts with the ability you want retained :-/
21:50
<Bakkot>
hmm
21:50
<Bakkot>
alas
22:09
<ghermeto>
it is hard to know who is in the zoom call when they don't have full name and companies. Is that just me?
22:09
<ljharb>
ghermeto: add a point of order to the queue about it?
22:09
<msaboff>
We have asked many times for Full names and organization.
22:10
<keith_miller>
Mine keeps getting cleared because I quit the call and rejoin...
22:10
<keith_miller>
I wish I could set it for the call #
22:10
<michaelficarra>
yeah it's hard when Zoom resets it every time you leave...
22:11
<ghermeto>
just added a point of order... is that too late?
22:11
<ljharb>
no
22:11
<ljharb>
thanks
22:15
<brad4d>
OT: I'm fighting to make my info show up right in IRC - anyone willing to IM me directly to hold my hand on this?
22:15
<ljharb>
brad4d: sure
22:16
<apaprocki>
The BIS re-opened the public comment period for extension of the temporary general license
22:16
<michaelficarra>
I want to thank the note takers for this meeting!
22:16
<apaprocki>
Are any Ecma members submitting comments?
22:16
<ljharb>
apaprocki: BIS? what license?
22:17
<michaelficarra>
the note takers provide an incredibly valuable service, and the quality has really been amazing lately
22:17
<apaprocki>
ljharb: https://bis.doc.gov/index.php/documents/regulations-docs/federal-register-notices/federal-register-2020/2542-85-fr-17300
22:18
<apaprocki>
the 3rd text column on the 1st page
22:19
<Bakkot>
oh god clicking this link is going to increment a counter
22:19
<Bakkot>
a very small counter
22:19
<Bakkot>
"223 downloads"
22:19
<devsnek>
lol
22:20
<apaprocki>
you know somewhere in some damp basement are people in suits presenting pdf download statistics
22:20
<ljharb>
apaprocki: meaning, this is the way to submit comments to ask for more guidance?
22:21
<apaprocki>
it would seem they'd be open to comments requesting clarification to make the situation easier... whether or not they do it is a different story
22:22
<ljharb>
right
22:23
<ljharb>
thanks