00:00 | <Ashley Claymore> | only needs to remain a movable if the intention is to move again |
00:02 | <rbuckton> | Wouldn't you just use DisposableStack itself for this? |
00:03 | <Ashley Claymore> | Yeah I would |
00:03 | <bakkot> | only if it's all-or-nothing |
00:03 | <James M Snell> | DS was my initial response on the discussion on this side but the feedback is that it just *feels* cumbersome |
00:03 | <bakkot> | making one stack per resource is kinda annoying |
00:03 | <bakkot> | though I guess not really any different than the wrapper, in practice |
00:03 | <rbuckton> | Maybe, but it works. |
00:03 | <James M Snell> | More context from the discussion I've been having on this side. It should give more context |
00:03 | <rbuckton> | Changing ownership should be rare. |
00:04 | <James M Snell> | Keeping in mind that this is coming from someone who is super familiar with RAII patterns and move semantics in C++ |
00:04 | <bakkot> | yeah but it takes one more line than my little wrapper, because you have to new the stack before you can use it |
00:04 | <bakkot> | difference between two lines of boilerplate and one line of boilerplate is a lot! |
00:05 | <bakkot> | anyway yes it totally works, just saying that if this was bothering someone a lot I would recommend they write a wrapper such as the above and maybe that will placate them |
00:05 | <rbuckton> | Except your wrapper could just new up a DisposableStack . It also breaks the RAII pattern, since you need a 2nd const { resource: foo } = ... line. |
00:08 | <bakkot> | implementation of the wrapper is not important, just the ergonomics, and if it were me I would definitely be happier breaking the RAII pattern and having one line of boilerplate per resource, vs having two lines of boilerplate |
00:11 | <rbuckton> |
is just as many lines |
00:12 | <bakkot> | Sure; I guess I wasn't thinking of the const { resource: foo } = movableFoo; as boilerplate. |
07:41 | <Rob Palmer> | FYI we had to switch the Notes (Google Doc) link. Please see the reflector post for the new link. |
07:50 | <Rob Palmer> | The meeting begins in 9 minutes!!! |
07:50 | <Rob Palmer> | Please could someone dial in and help us check the AV. |
07:51 | <rkirsling> | I'm on the call, if you need me to try something |
07:55 | <rkirsling> | really interesting integration of multiple cameras in the room there |
07:55 | <naugtur> | TCQ link in the Reflector for the meeting is a github issues view with a TODO for a filter. Is that expected? |
07:56 | <naugtur> | I see it updated now |
07:56 | <canadahonk> | uhh hackmd.io is down for me btw (for draft schedule) |
07:56 | <rkirsling> | TCQ, we seek you |
07:57 | <rkirsling> | it loaded crazy slow for me but I thought it was my company's network, heh |
07:57 | <canadahonk> | ah yeah I refreshed like 5 times and it loaded now lol |
08:01 | <canadahonk> | TCQ link is up on Reflector now |
08:09 | <jkup> | Is there history where we are nervous to / unable to alter TCQ? |
08:09 | <jkup> | (always curious when we get to the "please do not click the button" part of the intro) |
08:10 | <canadahonk> | notes are indeed online and being transcribed 🎉 |
08:11 | <Christian Ulbrich> | TCQ is just waiting to be reborn. Groundwork has been done, we just need some decisions. -> https://github.com/zalari/tcq/tree/feature/minimal-dockerized |
08:11 | <Christian Ulbrich> | Hope to find some time during the plenary... |
08:21 | <sffc> | I am getting a 504 Gateway Time-out on the Hackmd draft schedule page. |
08:22 | <naugtur> | keep refreshing |
08:23 | <rkirsling> | hell yeah, editors' update |
08:24 | <rkirsling> | (just felt the need to counter Michael's sarcasm 😁) |
08:27 | <rkirsling> | oof, that sucks to hear, Chip |
08:27 | <jkup> | +1 sorry to hear but as always love your JSON updates |
08:28 | <nicolo-ribaudo> | Maybe Chip should have told AA "without JSON, none of your airplanes would ever take off" |
08:32 | <Michael Ficarra> | @nicolo-ribaudo probably also without JS 😭 |
08:37 | <nicolo-ribaudo> | Oh are we going to use this as the first inline "normative optional" step? nice |
08:38 | <Michael Ficarra> | @nicolo-ribaudo no, technically not |
08:39 | <Michael Ficarra> | https://github.com/tc39/ecma262/pull/2952 will be landing first |
08:45 | <Jesse (🇪🇸)> | looking at the fairly light schedule on Friday, is there any interest in having some optional self-organized breakout sessions, similar to what we did in Seattle? |
08:48 | <Rob Palmer> | Thanks for raising this Jesse. I think Friday is currently up for debate as to what we do given we have at most 1 hour of content so far. |
08:48 | <Christian Ulbrich> | I'll gladly discuss moving TCQ forward... |
08:53 | <Rob Palmer> | Christian, please send a PR to the agenda so others get visiblity. |
08:55 | <Christian Ulbrich> | Rob Palmer: I'll do! |
08:58 | <Jesse (🇪🇸)> | I've also made one (not sure about the placement in the agenda): https://github.com/tc39/agendas/pull/1891 |
09:14 | <waldemar> | Where can I find the time zone history of Niue? Currently it's in the UTC-11 time zone. |
09:16 | <Chengzhong Wu> | it could be in "Longer or open-ended discussions" instead of "Overflow items, right? |
09:17 | <Michael Ficarra> | tzdata, presumably https://www.iana.org/time-zones |
09:17 | <JaseW> | https://github.com/eggert/tz/blob/main/australasia#L644-L657 |
09:19 | <Jesse (🇪🇸)> | updated, thanks! |
09:22 | <ryzokuken> | how's the view of the meeting room for folks online? Does it look good? awkward? disorienting? |
09:23 | <ryzokuken> | "aaaand with that the camera moved to him again" |
09:23 | <snek> | the camera's auto framing seems a bit wonky yeah |
09:24 | <ryzokuken> | it relies on the in-built microphone and only works precisely if we use it as everything (camera, mic and speakers) |
09:24 | <ryzokuken> | but we gotta use the room's sound |
09:25 | <snek> | ah so it gets confused by the room speakers |
09:25 | <Michael Ficarra> | "pre-approval" for something so arbitrary seems... bad |
09:25 | <ryzokuken> | so it's a tradeoff... if you prefer to be framed you could speak a bit louder but it's not exactly in the middle either |
09:25 | <naugtur> | The 1st sentence is ambiguous about the undefined being returned in place of string or object |
09:27 | <snek> | it's the same level of ambiguous as saying one of the string values could be returned in place of the object. |
09:34 | <Chengzhong Wu> | my first impression on category "standard library" is https://github.com/tc39/proposal-built-in-modules |
09:34 | <Chengzhong Wu> | the proposal also claims "Built In Modules Proposal (aka JavaScript Standard Library)" |
09:37 | <Michael Ficarra> | @dminor the slides said the champions assign the topics |
09:40 | <Michael Ficarra> | I think the categories part still needs a lot more thinking |
09:41 | <Jesse (🇪🇸)> | this could be a little breakout topic! |
09:42 | <nicolo-ribaudo> | Is Bigint a new capability? |
09:42 | <nicolo-ribaudo> | Technically transpilable, but in practice it's not |
09:44 | <Rob Palmer> | Transpilable-with-terrible perf, vs previously-impossible (WeakRef) |
09:44 | <Jesse (🇪🇸)> | I guess for bigint, we have a new primitive type, so I guess new capability |
09:45 | <nicolo-ribaudo> | Fwiw Babel polyfills+transpiles symbols |
09:45 | <nicolo-ribaudo> | Except for the Symbol object wrappers probably |
09:47 | <Andreu Botella> | are you transpiling typeof? |
09:47 | <nicolo-ribaudo> | Yes |
09:48 | <Michael Ficarra> | I would prefer we not spend too much time on the portion of this topic that was explicitly stated as a non-goal at the moment |
09:48 | <Rob Palmer> | maybe we should articulate levels of transpiling, (e.g. whole-program stuff where you handle typeof) |
09:55 | <Michael Ficarra> | obviously "process change" |
11:04 | <Rob Palmer> | The meeting has resumed with AsyncContext |
11:18 | <jkup> | Is someone (possibly an IE) asking questions via the Google Meet chat? I wanted to make sure we weren't missing anything important. I tried joining the Meet call but I can't see previous messages. |
11:18 | <jkup> | (Rob took care of this, sorry) |
11:20 | <ryzokuken> | thanks for raising it |
11:27 | <Rob Palmer> | MarkM's audio is not the high quality he normally has. Maybe a different mic is in use. |
11:28 | <ryzokuken> | should we let him know if it persists? |
11:28 | <naugtur> | @erights Mark Miller (Agoric) MM: It's a popular trick, used inside React and alike, to use postMessage instead of setTImeout(,0) to avoid the browser limiting how often it runs (setTimeout and others are being prevented from tightly looping) |
11:42 | <nicolo-ribaudo> | The good thing about properties is that they can be analyzed on a case-by-case basis |
11:42 | <Chengzhong Wu> | it could also be incrementally added, btw |
11:43 | <nicolo-ribaudo> | Steve Hicks Do you have examples of DOM events that are async and dispatched from JS? When I actually looked into them, most of them were either sync or browser-generated EDIT: Oh well, load and error obviously, as Michal has on the queue |
12:18 | <ryzokuken> | variantList |
12:44 | <Steve Hicks> | Looking through the HTML spec, I see a lot of cases where load/error and fired async with JS causes; media resize is async and can be caused by e.g. changing the track; various media events (abort, emptied, timeupdate, and many others) are an async result of load(); input elements' showPicker() can async-fire cancel/input/change; el.select() can async-fire various select events, dialog.show() async-fires a toggle event |
12:44 | <Steve Hicks> | This isn't an event, but toBlob() invokes its callback async |
12:46 | <Steve Hicks> | At one point we'd discussed having "queue a [...] task to" carry an implicit "propagating the current context" - I'm not sure I ever heard a reason why that wasn't viable. |
12:51 | <yulia> | Luca Casonato: Sorry i couldn't speak more re async-context, I'm in a really loud location and was just listening in. As Dan said, i think the best feedback you will get is from Ollie at hackfest later next week |
12:52 | <yulia> | i'll be moving to a quieter location so if necessary i'll be able to talk more at length |
13:02 | <Andreu Botella> | that would definitely work for some async events, but not for those that go "in parallel" |
13:02 | <Andreu Botella> | and implementing that could run into a lot of issues |
13:04 | <Steve Hicks> | if we're going case-by-case, then at least having the non-parallel tasks propagate might be a better compromise |
13:09 | <yulia> | sorry it looks like my mic is broken |
13:10 | <ryzokuken> | no worries I suspected you might still be in the loud location |
13:10 | <ryzokuken> | lmk if you fix it and would like to speak |
13:10 | <yulia> | if we have confirmation from moddable and v8 that they have no issues with the new changes and that they are implemented i think it is fine to go ahead. |
13:11 | <nicolo-ribaudo> | If we have confirmation that they didn't yet implement them, should the proposal stay at stage 3? |
13:11 | <yulia> | then i think there is more to discuss. its a similar issue as test262 -- are we closer to a month vs a year of getting those changes landed? My guess is closer to a month, if someone can sign up for that. In that case conditional advancement is appropriate |
13:13 | <yulia> | on our end we can't guarantee it will be in a month, but the work isn't that far off. I would rather that we have more experience than less with a spec change. i don't want to block this because outstanding issues have been addressed, but we may want to advance this at a later date just to make sure all the t's are crossed and i's are dotted |
13:13 | <yulia> | but that might fall outside of what we've defined as conditional advancement. |
13:14 | <yulia> | feel free to read it out, i'll switch locations and get a new mic after this proposal |
13:14 | <yulia> | ron -- it might be a blocking concern. I don't really want it to be but it might be. Can we get anyone from v8 or moddable to speak? |
13:17 | <yulia> | 100% support getting this through ron, sorry to be a pita here... |
13:17 | <rbuckton> | Not a problem. |
13:34 | <Luca Casonato> | @jschoi we were just joking about the fact that michael was so suprised by all of this |
13:38 | <Michael Ficarra> | serves me right for chatting in the hallway too long 😓 |
13:50 | <ljharb> | we usually don't pick reviewers til stage 2, i thought |
13:50 | <Andreu Botella> | who volunteered for stage 3 review? |
13:50 | <nicolo-ribaudo> | Yeah but if the hope is to do 1->2.7 at the next meeting |
13:50 | <Andreu Botella> | we missed noting the speaker on the notes |
13:50 | <ljharb> | ah right k |
14:22 | <eemeli> | As we've a longish queue and overall some slack in the meeting timetable, could the timebox for this discussion be extended until it's extinguished? |
14:24 | <ljharb> | there's tons of schedule constraints |
14:26 | <Rob Palmer> | eemeli: we've already given this more timebox than allocated. a continuation is possible another day. we have space after lunch tomorrow for example. |
14:26 | <Duncan MacGregor> | Is the decimal proposal now a subnormal distance from progressing? :-) |
14:28 | <nicolo-ribaudo> | Not sure if Mark is here, but to answer his question to Shane. For every Number value x, Number(Decimal(x)) gives back x. This means that if you create an Amount from a Decimal that was originally created with a Number, you can get the original number out of it by explicitly casting it to Number. |
14:28 | <nicolo-ribaudo> | (I'm not 100% sure this is true about Infinity because I don't remember what Decimal does with Infinity, and what Amount does with it) |
14:34 | <Jesse (🇪🇸)> | Infinity also works |
14:35 | <Jesse (🇪🇸)> | (the reason is to align with Decimal; i.e., since Decimal supports them, so should Amount) |
14:35 | <snek> | Decimal can represent every ieee754 double fp value? |
14:35 | <Jesse (🇪🇸)> | (one could argue that amount shoulnd't support infinity and NaN, but that's the current thinking) |
14:37 | <Jesse (🇪🇸)> | well, it doesn't support literally all of them (Shane offered a simple example, and Waldemar suggested another in the queue), but it practically does, in the sense that the toString of all binary64's have fewer than 34 significant digits |
14:38 | <nicolo-ribaudo> | What do you mean by "represent"?
|
14:38 | <snek> | ok |
14:39 | <Jesse (🇪🇸)> | there's a discussion of the representability issue here: https://github.com/tc39/proposal-measure/issues/26#issuecomment-2865053353 |
14:42 | <shu> | what is this in reference to? |
14:43 | <Chris de Almeida> |
|
14:45 | <shu> | new changes to what? |
14:45 | <nicolo-ribaudo> | Banning using in switch |
14:46 | <arai> | https://github.com/rbuckton/ecma262/pull/14 |
14:46 | <shu> | oh yeah, i started that issue and have implemented the ban |
14:46 | <shu> | didn't we get consensus last meeting for it? |
14:46 | <nicolo-ribaudo> | Yes, but the proposal was going for Stage 4 earlier today and we wanted to make sure that the change has actually been tested in an implementation |
14:46 | <shu> | ah ha |
14:46 | <nicolo-ribaudo> | Since well, stage 4 requires implementations |
14:47 | <shu> | confirmed v8 has no concerns here |