00:11:52  * bradleymeckquit (Quit: bradleymeck)
00:14:14  * not-an-aardvarkjoined
00:26:59  * AtumTquit (Remote host closed the connection)
03:02:35  * h11joined
04:11:28  * trysoundquit (Quit: Connection closed for inactivity)
06:07:24  * keenwonjoined
06:07:52  * keenwonquit (Client Quit)
06:26:10  * M-IvanSanchezquit (Ping timeout: 264 seconds)
06:26:34  * M-IvanSanchezjoined
06:30:27  * jmdyckquit (Remote host closed the connection)
07:31:39  * darkSeid_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:07:56  * gibson042quit (Ping timeout: 255 seconds)
08:33:55  * not-an-aardvarkquit (Quit: Connection closed for inactivity)
09:06:56  * ack__joined
09:07:21  * ack__changed nick to Guest88547
09:07:48  * Guest88547quit (Client Quit)
11:25:10  * mylesborinsquit (Quit: farewell for now)
11:25:41  * mylesborinsjoined
12:28:26  <littledan>Bakkot: Which discussion?
13:01:37  * AtumTjoined
13:11:01  * TabAtkinsquit (Ping timeout: 252 seconds)
13:13:13  * TabAtkinsjoined
13:40:10  * jmdyckjoined
14:47:25  * bradleymeckjoined
15:11:10  * Fishrock123joined
16:02:50  * STRMLquit (Quit: ZNC - http://znc.in)
16:03:41  * bradleymeckquit (Quit: bradleymeck)
16:06:31  * STRMLjoined
16:24:30  * bradleymeckjoined
16:37:25  * jeffmoquit (*.net *.split)
16:38:09  * jeffmojoined
16:41:09  * devsnekjoined
17:17:40  * bradleymeckquit (Quit: bradleymeck)
17:40:54  * bradleymeckjoined
17:57:57  * bradleymeckquit (Quit: bradleymeck)
18:03:05  * darkSeid_joined
18:19:38  * TimothyGujoined
18:20:39  * Fishrock123quit (Remote host closed the connection)
18:24:57  <TimothyGu>Hey #tc39! I made a tutorial on how to get started with reading the ES spec for JS users. Would be awesome if y'all could provide some feedback/suggestions/correction on it! Link: https://timothygu.me/es-howto/
18:25:37  <TimothyGu>For now it's pretty focused on the runtime aspect of it, as that's what I assume people have the most questions about
18:28:39  * bradleymeckjoined
18:32:43  * Fishrock123joined
18:40:44  <devsnek>as someone who had tried to read the spec several times and failed
18:40:49  <devsnek>that page is so useful
18:40:55  <devsnek>it should be in the actual spec tbh
18:48:28  <TabAtkins>@TimothyGu: btw, the thinking-face emoji isn't present in the default fonts for some platforms (such as my Ubuntu Trusty).
18:48:47  <TabAtkins>(Had to manually decode it from the surrogates to figure out what it was supposed to be ^_^)
18:51:37  <TimothyGu>TabAtkins: :(
18:51:59  <TabAtkins>There's plenty of question marks you can use that have higher support!
18:58:13  <TimothyGu>TabAtkins: should be better now. Picked a pretty standard black question mark
18:58:54  <TimothyGu>looks more consistent with the existing checkmarks/crosses also
18:58:58  <TabAtkins>+1
18:59:17  <devsnek>should get noto
18:59:55  <TabAtkins>Sure, but in the meantime I was able to point out a problem that other people might have. ^_^
19:11:43  <littledan>TimothyGu: That's awesome! Thanks so much for doing that. I'll review it and get back to you
19:16:35  * alextesjoined
19:46:26  <TimothyGu>littledan: thanks!
20:30:07  <bradleymeck>ljharb: idk if you reread the new ASI text but i'm just going to assume you have at this point
20:30:35  <jmdyck>TimothyGu: s/an notation/a notation/
20:32:21  <jmdyck>"uses this notation to extensively": delete "to"
20:33:53  <jmdyck>Found https://github.com/TimothyGu/es-howto , maybe I'll just make a PR
20:48:31  <jmdyck>There are actually two more uses of the double-square-bracket notation: names of property attributes like [[Enumerable]] and [[Get]]; and [[Description]] of Symbol.
20:50:30  <TimothyGu>jmdyck: isn't property descriptor a Record?
20:51:14  <jmdyck>yes, Property *Descriptor* is a record, but that's different from a property
20:51:18  <TimothyGu>but PRs are always welcome!
20:51:44  <TimothyGu>oh heh
21:01:01  <ljharb>bradleymeck: not quite, one sec
21:05:20  <TimothyGu>jmdyck: what is the difference between property attributes and fields of a property descriptor? Are there any concrete reasons why they are not coalesced to a single concept?
21:08:10  <bradleymeck>TimothyGu: field -> record, attribute -> property -> object (not record)
21:08:22  <ljharb>bradleymeck: "In order to prevent cases where automatic semicolon insertion could change" - there will be no cases where it will change, but there will be cases where humans relying on certain patterns of ASI will use those patterns with new features, and their program will break as a result
21:08:44  <bradleymeck>slots ~= fields for objects
21:09:07  <Domenic>Wait what, how are property attributes not just fields in the PropertyDescriptor record
21:09:23  <bradleymeck>Domenic: just wording to my knowledge nothing in terms of usage
21:09:57  <bradleymeck>ljharb: the text is talking about alteration of source text right there
21:10:04  <ljharb>hm
21:10:32  <ljharb>bradleymeck: not in that paragraph tho
21:10:55  <ljharb>bradleymeck: maybe just "In order to prevent cases where automatic semicolon insertion could change when adding new code"?
21:11:08  <bradleymeck>ljharb: can rephrase to add that intent yea
21:11:56  <bradleymeck>"could change when adding additional source text around places with ASI"?
21:12:13  <bradleymeck>we don't need around places bit I guess
21:12:51  <ljharb>yeah
21:12:58  <bradleymeck>"by adding source text outside of a grammar productions existing text boundaries".
21:13:06  <bradleymeck>that should fully get it I think
21:15:04  <Domenic>zbraniecki: can you add me as a collaborator to your ecma262 fork so I can push directly to it?
21:21:54  <jmdyck>Domenic: there's a correspondence between the fields of a PropDesc record and the attributes of a property, but they're not the same thing. See ValidateAndApplyPropertyDescriptor maybe.
21:22:45  * trysoundjoined
21:22:51  <Domenic>Not seeing the difference there
21:23:15  <ljharb>hm, https://tc39.github.io/ecma262/#sec-validateandapplypropertydescriptor step 2 c?
21:23:34  <Domenic>That's just operating on a Property Descriptor record
21:23:43  <ljharb>https://tc39.github.io/ecma262/#sec-property-attributes
21:24:07  <ljharb>step 2 c says "create an own data property named P of object O whose [[Value]], [[Writable]], [[Enumerable]] and [[Configurable]] attribute values are described by Desc"
21:24:28  <Domenic>Oh, 2.c.i.
21:24:38  <Domenic>That's dumb
21:24:42  <ljharb>it'd probably be a lot simpler tho for the spec to have a property have a [[Descriptor]], rather than having separate properties
21:24:55  <jmdyck>TimothyGu: I'm not exactly sure why they're distinct, but it would probably be weird to have things called 'properties' that weren't associated with objects.
21:25:10  <Domenic>Objects should have an internal slot, [[Properties]], which is a List of PropertyDescriptor Records
21:25:13  <ljharb>then an "is enumerable" check would be "property.[[Descriptor]].[[Enumerable]]`
21:25:14  <ljharb>yeah
21:25:30  <ljharb>Domenic: tbh that seems like a moderately sized unobservable spec refactor that would make the spec simpler.
21:25:42  <ljharb>if that's true we should look into making that change
21:25:42  <TimothyGu>agreed
21:27:38  <TimothyGu>making that change could also reduce confusions between "have an own property" versus "result of obj.[[Has]]"
21:27:48  <TimothyGu>https://github.com/heycam/webidl/issues/366#issuecomment-306689819 for instance
21:28:06  <TimothyGu>*result of [[GetOwnProperty]]
21:29:24  <bret>@bradleymeck re https://github.com/tc39/ecma262/pull/1062#issuecomment-357358943 I'll re-review the current changes
21:45:35  <jmdyck>https://bugs.ecmascript.org/show_bug.cgi?id=3812
21:45:46  <jmdyck>(re properties of an object)
21:46:12  <devsnek>whats up with the certs on that site :/
21:46:12  <jmdyck>"Deferred to ES7" and then some.
22:13:58  <jmdyck>TimothyGu: not sure what's happening around "easily one of the [most undesirable features in JavaScript][ydkjs-object-wrappers] "
22:15:14  <jmdyck>(brackets look like markdown)
22:15:32  <devsnek>oyea i was gonna ask about that
22:20:01  * not-an-aardvarkjoined
22:28:04  * darkSeid_quit (Quit: Textual IRC Client: www.textualapp.com)
22:29:46  <jmdyck>TimothyGu: PR submitted
22:41:48  <bret>ljharb: how did https://github.com/tc39/ecma262/pull/1062#issuecomment-357371576 break COC?
22:46:10  <ljharb>bret: it didn't, but it's off-topic, and things like "overreaching" etc fuels the trolling we're trying to avoid.
22:46:38  <ljharb>bret: if it's a problem you can edit it back to remove the details tags
22:47:43  <bret>im try to stay on topic wrt the statement, not preferences on the interior of class body, though I do appreciate the energy Bakkot put into clarifying the situtaion
22:49:07  <bret>ljharb: I'm going to withhold 'overreaching' and remove the detail tag
22:50:43  <ljharb>sounds great, thanks
22:50:53  <ljharb>bret: i didn't realize you were on irc or i'd have pinged you directly; i'll do that in future
22:51:09  <bret>🙏
23:11:41  * iarnajoined
23:20:40  <linclark>we're trying to invite someone to the next TC39 but the form is saying "Words entered in the Captcha field contain errors."
23:20:50  <linclark>has anyone run into this before?
23:31:30  * trysoundquit (Quit: Connection closed for inactivity)
23:36:27  <Bakkot>linclark: on ECMA's site, or the doodle?
23:36:41  <Bakkot>ljharb: can you expand on "basically, which inner is it referring to"? I don't know what that means.
23:37:08  <linclark>Bakkot: on https://www.ecma-international.org/memento/contribute_TC39_Royalty_Free_Task_Group.php
23:37:48  <ljharb>Bakkot: `class A { inner x; foo = class B { inner y; } }` to me both x and y are "inner" the A class
23:39:52  <Bakkot>mm... ok, yes, but I don't see what's wrong with the keyword there; I don't expect confusion about which class the declaration is inner to, in that case
23:40:40  <Bakkot>it's also an existing term: https://en.wikipedia.org/wiki/Inner_class
23:40:46  <Bakkot>(though "nested" is too)
23:41:28  * AtumTquit (Remote host closed the connection)
23:49:59  <ljharb>i still like "class" tbh
23:50:16  <ljharb>"static" means to me "related to the constructor", so lexically scoped probably isn't actually great for that