2023-05-02 [20:04:56.0373] * harsh isn't the right word, i mean curt [14:21:13.0195] the OAuth spec runs ads (through https://www.ethicalads.io/) [14:21:34.0066] maybe if we ran ads, we could afford basic committee necessities without begging Ecma [14:22:35.0113] we can also, you know, find other IPR umbrellas outside of Ecma [14:23:18.0428] also we should add a view counter to the draft spec to compare against Istvan's download numbers that he always touts [14:23:23.0582] I am serious about that one [14:24:30.0379] ooo [14:24:36.0628] please let's do a 90s-style visitor counter [14:25:57.0149] I was thinking it would be invisible, but sure [14:26:43.0832] welcome to our ecmascript specification Homepage!! [14:26:48.0153] couldn't you just scrape server logs? [14:30:31.0463] it's hosted on github pages [14:30:36.0816] we don't control that server [14:31:24.0214] ah [14:32:04.0422] GH pages _do_ have analytics though don't they? [14:33:01.0244] seems like there's only a sliding window of 2 weeks https://github.com/tc39/ecma262/graphs/traffic [14:33:01.0834] sadly not [14:33:18.0356] actually i don't know what Visitors means there [14:33:23.0023] i guess it means repo visitors not GH pages visitors [14:33:28.0315] 💯 [14:33:55.0074] there's a GH issue about this in the 262 repo [14:35:30.0105] https://github.com/tc39/ecma262/issues/1167 [14:37:59.0965] wow, daily repo views in the hundreds? [14:38:04.0597] that is not what I would've expected [14:38:54.0373] be hitting that F5 hoping for new features [14:39:23.0483] wait, is F5 Networks named after refreshing pages? [14:43:38.0660] no, it is named after the Fujita scale [14:45:45.0803] "move fast and break things" before it was cool [14:48:05.0562] interesting 2023-05-03 [12:08:42.0424] hm what is this thing: Error: getaddrinfo ENOTFOUND ci.tc39.es from https://github.com/tc39/ecma262/actions/runs/4875296114/jobs/8697312438 [12:11:00.0228] ci.tc39.es is an unknown hostname? [12:39:02.0885] yeah looks like all preview builds are down on all PRs [12:39:17.0819] either the DNS settings got broken or the host got broken [12:40:41.0577] If it were just the host, that wouldn't make DNS forget the domain, would it? [12:43:57.0259] yeah I suppose [16:03:01.0380] oh shit, it was the dns yeah [16:03:03.0709] i'll fix that 2023-05-04 [14:51:27.0362] Michael Ficarra: there are test262 iterator helper tests testing Iterator.prototype[@@iterator] [14:51:32.0499] where is that specified in the draft? [14:51:34.0071] i don't see it [14:55:05.0878] oh is this supposed to be %IteratorPrototype%[@@iterator]? [15:06:25.0135] yeah those are two ways of writing the same thing [15:10:50.0663] yeah okay i think these tests are wrong [15:11:21.0136] %IteratorPrototype%[@@iterator] always returns `this`, and there are tests that assume Iterator.prototype[Symbol.iterator] returns a function [15:11:30.0410] (i guess it's assuming it returns `Iterator`) [15:17:28.0858] ugh, those are left over from when I took over the PR from Rick [15:17:35.0155] I will look into them later [15:17:48.0333] in hindsight, I really should have started from scratch [15:18:05.0247] there's essentially nothing that's going to be left over from the original PR [15:18:17.0133] basically just the property descriptor tests 2023-05-08 [15:21:04.0766] Michael Ficarra: FYI: the biggest thing the V8 implementation got wrong was not tracking if an iterator helper was completed. since that's one of the things implicitly done by generators, and we implemented them as direct iterators [16:22:00.0570] shu: did tests help catch it? 2023-05-09 [06:47:47.0258] Michael Ficarra: indeed they did! thank you [08:28:55.0655] that's great! [08:29:16.0950] there's not much left to do, I could finish them this week, but probably won't since we have a couple stage3/4 reviews to do [09:53:09.0183] Hello Editors! [09:57:11.0234] I forwarded you a request from Istvan to get the formal TC39 vote on ES2023 onto the Reflector and agenda for next week's meeting. This is for Ecma rule compliance. Would someone like to take that? (I need to catch a train now. If no one picks that up I will create it in 4 hours time.) [12:00:10.0847] Rob Palmer: I feel that's more of a chair responsibility. If you are able, please create the notices. 2023-05-12 [17:25:45.0874] shu: it was a pleasure reviewing your waitAsync PR [17:26:17.0185] it's really nice when the PR author already knows our conventions, at both the micro and macro levels [07:51:56.0870] i give at least 50% of the credit to jmdyck [08:53:03.0092] aw shucks 2023-05-17 [08:53:45.0839] we really need to do something about the `NewTarget` special form [08:54:35.0503] I just want to get rid of it entirely and use `GetNewTarget()` and `lexicalEnvironmentRecord.[[NewTarget]]` [08:57:29.0670] nah it's fine [08:57:37.0084] it's no worse than "the this value" [09:03:12.0932] there's no need for the special form though [09:03:26.0698] we already have (and use) `GetNewTarget()` [09:04:08.0684] we just use hand-wavey prose to set the `[[NewTarget]]` slot, and it makes it sound like they're two distinct concepts [09:05:18.0770] hm [09:06:10.0511] I feel like it's at least somewhat reasonable to write the "I am using new.target in a builtin" and "I am defining the semantics of new.target" forms in a different way [09:07:04.0184] > When invoked with [[Construct]], the this value is uninitialized, the [[Construct]] argumentsList provides the named parameters, and the [[Construct]] newTarget parameter provides the NewTarget value. [09:07:26.0517] you can't tell me that that's a good way to say `Set lexicalEnvironmentRecord.[[NewTarget]] to _newTarget_` [09:07:56.0775] same here: [09:07:57.0618] > The this value is uninitialized, argumentsList provides the named parameters, and newTarget provides the NewTarget value. [09:12:17.0274] * you can't tell me that that's a good way to say `Set _lexicalEnvironmentRecord_.[[NewTarget]] to _newTarget_.` [09:13:54.0532] > <@michaelficarra:matrix.org> you can't tell me that that's a good way to say `Set _lexicalEnvironmentRecord_.[[NewTarget]] to _newTarget_.` that's because it's not doing that [09:14:07.0719] the [[NewTarget]] slot is only used for user code [09:14:40.0438] so they *are* two separate concepts then? [09:14:59.0716] they could be collapsed [09:15:12.0011] but we write them in different ways [09:16:01.0983] mostly, afaict, because we don't set up environment records for built-in functions [09:16:05.0468] only for user functions [09:16:08.0994] * only for user code [09:16:43.0090] so it is not trivial to just re-use the ambient lexical environment [14:31:04.0185] no editor call this week, I take it [14:57:29.0755] nope, generally not during plenary week 2023-05-25 [07:50:29.0182] do we want to lint for places where the chain production could be used but isn't? [07:50:38.0587] * do we want to lint for places where the chain rule could be used but isn't? [08:32:48.0681] eh, i don't really like the chain rule [08:33:08.0433] if we had that machinery i'd rather insert some kind of default-collapsed box that has the auto-generated chain rule [08:33:22.0270] * if we had that machinery i'd rather insert some kind of default-collapsed box that has an explicit, auto-generated chain rule [14:30:20.0558] ljharb: not a big deal, but https://github.com/tc39/ecma262/pull/2613 should have been one commit, not 7 [15:09:42.0660] ah, did someone say that or did i miss it? [15:09:54.0715] they all kind of looked atomic so i didn't think to check [15:12:01.0944] no one said it but it's just a single edit [15:12:37.0820] like there's a "merge paragraphs" commit and then later a "split them back again" commit [15:12:43.0046] didn't need both of those [15:13:00.0165] default should be to land things as single commits most of the time [15:23:22.0690] almost all of the time [15:50:58.0353] fair enough 2023-05-30 [10:35:34.0145] i may miss tomorrow's meeting [10:35:37.0797] (driving back from CO) 2023-05-31 [09:11:34.0252] Michael (and shu after you’re back), if y’all have any time to review https://github.com/tc39/proposal-array-grouping/issues/54 before next plenary that’d be appreciated. there’s plenty of time til then, but I’m traveling between, so if there’s issues i want to make sure i have time to fix them. Thanks! [09:41:17.0262] ljharb: yep, i'm actually converting to the static method version and reviewing it as i go along [09:41:33.0266] beautiful, thanks [13:44:32.0887] only thing I see is "c. Append entry as the last element of map.[[MapData]]." should just be "Append ... to ..." [13:46:58.0281] also, I've really warmed up to the name "assort" for this and wish we would've tried that [13:47:38.0695] same for "3. Append group as the last element of groups." [13:49:04.0165] * same for "3. Append group as the last element of groups." and "Append value as the last element of g.[[Elements]]." [15:38:50.0179] ljharb: JSON is a recursive data structure. `stringify` is a catamorphism; it "folds" the recursive structure into a flat summary (a string). `parse` is an anamorphism; it "unfolds" a summary string into a recursive structure. [15:40:17.0737] * ljharb: the JSON-safe subset of ES values (objects, arrays, numbers, etc) are a recursive data structure. `JSON.stringify` is a catamorphism; it "folds" the recursive structure into a flat summary (a string). `JSON.parse` is an anamorphism; it "unfolds" a summary string into a recursive structure. [16:31:38.0873] don't you put that evil on me [16:31:43.0844] parse and stringify are better words