00:45:41  * aki_joined
00:46:41  * akirosequit (Ping timeout: 244 seconds)
00:46:41  * aki_changed nick to akirose
01:28:37  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:25:10  * keith_millerjoined
02:50:49  * aki_joined
02:51:49  * akirosequit (Ping timeout: 246 seconds)
02:51:49  * aki_changed nick to akirose
03:09:25  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:21:39  * keith_millerjoined
03:24:41  * keith_millerquit (Remote host closed the connection)
03:25:19  * keith_millerjoined
03:59:00  * jwaldenquit (Quit: back in a bit)
04:18:54  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:27:43  * NaNquit (Quit: Connection closed for inactivity)
04:39:46  * jmdyckquit (Remote host closed the connection)
04:46:46  * howdoijoined
04:58:04  * aki_joined
04:58:10  * akirosequit (Ping timeout: 252 seconds)
04:58:16  * aki_changed nick to akirose
05:47:38  * jwaldenjoined
05:59:51  * bretquit (Ping timeout: 250 seconds)
06:00:57  * rwaldronquit (Ping timeout: 276 seconds)
06:01:16  * rwaldronjoined
06:01:30  * bretjoined
07:00:04  * bttfquit (Ping timeout: 264 seconds)
07:03:25  * aki_joined
07:04:07  * akirosequit (Ping timeout: 252 seconds)
07:04:07  * aki_changed nick to akirose
07:04:50  * bttfjoined
07:26:02  * howdoiquit (Quit: Connection closed for inactivity)
08:10:32  * NaNjoined
08:10:51  * NaNquit (Changing host)
08:10:51  * NaNjoined
08:10:51  * NaNquit (Changing host)
08:10:51  * NaNjoined
08:34:26  * bttfquit (Ping timeout: 268 seconds)
08:36:05  * bttfjoined
08:56:43  * Havvyquit (Ping timeout: 245 seconds)
08:56:45  * isHavvyjoined
09:08:31  * srl295quit (Quit: Connection closed for inactivity)
09:10:58  * akirosequit (Ping timeout: 272 seconds)
09:11:54  * akirosejoined
09:47:09  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
10:11:40  * bttfquit (Ping timeout: 252 seconds)
10:14:20  * bttfjoined
11:18:35  * aki_joined
11:19:26  * akirosequit (Ping timeout: 276 seconds)
11:19:27  * aki_changed nick to akirose
11:20:15  * NaNquit (Quit: Connection closed for inactivity)
11:36:50  * serbangjoined
12:35:22  * jmdyckjoined
13:26:11  * akirosequit (Ping timeout: 250 seconds)
13:26:19  * aki_joined
13:26:44  * aki_changed nick to akirose
14:05:10  * gibson042joined
15:31:31  * aki_joined
15:32:51  * akirosequit (Ping timeout: 252 seconds)
15:32:52  * aki_changed nick to akirose
17:00:17  * gibson042quit (Quit: Leaving.)
17:00:36  <devsnek>domenic: most implementations don't implement the spec in the same steps as the spec lists
17:00:52  <devsnek>the important part is the outward behavior
17:01:19  <devsnek>like v8 doesn't even have OwnPropertyKeys
17:01:30  <devsnek>it has JSKeyIterator or whatever its called
17:11:29  <Domenic>devsnek: I don't think that's a blanket statement you can make. Certainly, the clearer the spec is, the more likely implementations are to follow it. E.g. part of the motivation for the development of Torque is to allow more 1:1 correspondence with spec lines.
17:11:58  <Domenic>Optimizations, or (your case) things from before ES5, are certainly likely to cause not-exact-mismatches.
17:12:08  <Domenic>But the point remains that having to look at the HTML spec to know how to implement a JS engine is frustrating.
17:16:27  <ljharb>other than "web reality" things, where the spec hasn't yet caught up with the de facto standard, what's an example of that?
17:16:47  <Domenic>... the pull request we're discussing?
17:17:03  <ljharb>the template literal ting?
17:17:05  <ljharb>*thing
17:17:06  <Domenic>Yes
17:17:13  <ljharb>what about that slot is needed to implement a JS engine
17:17:24  <ljharb>CSP isn't needed for a JS engine, for example, and that's discussed in the OP
17:17:34  <Domenic>The JS engine is responsible for the parsing template literals and creating objects from them
17:17:38  <Domenic>Including those objects slots
17:18:04  <ljharb>right, but how is that slot needed to correctly parse template literals and create an object from them, outside a browser?
17:18:27  <ljharb>i'm sure there's something i'm missing here, and i'd love to understand it
17:18:32  <Domenic>It's needed for actual JS engine implementations, i.e. ones that run in a browser.
17:19:18  <ljharb>there are actual JS implementations that don't run in a browser, thoug.
17:19:32  <Domenic>Sure, and for those, the difference between implementing and not will be unobservable, so they're free to do whatever.
17:19:46  <devsnek>wouldn't that be them violating it then
17:19:54  <ljharb>it sounds like you're saying that this change is necessary to implement a browser tho, not a JS engine
17:19:58  <Domenic>But for implementations that run in a browser, asking them to ignore ECMA-262 for template literal parsing and using the HTML spec instead is frustrating.
17:20:06  <ljharb>oh totally, i agree with that
17:20:13  <Domenic>It is necessary to implement a JS engine that is used in a browser. I am pretty sure that such JS engines are in TC39's charter.
17:20:19  <ljharb>indeed they are
17:20:44  <devsnek>ok on the assumption that more things will need internal slots as the web does more security stuff
17:20:54  <Domenic>(Modulo the fact that "necessary" in this case is really "necessary for a speculative proposal that hasn't yet landed in browsers"... document.all changes are a more clear-cut case.)
17:20:59  <devsnek>what if there was HostAddExtraSlots or something
17:21:07  <ljharb>i'm not disputing the motivation here, for the record - i'm taking it on face value that browsers need to know if that template literal array came from syntax or not, whether it's for current or future proposals doesn't change that
17:21:47  <ljharb>but i'm not clear on a) how installing a slot on a value, that can be stored and passed around, offers that guarantee; and b) if installing a slot that's never referenced again in ecma-262 is in fact the cleanest/clearest way to solve the problem
17:22:50  <ljharb>i didn't block either of those two PRs on this, nor do i plan to. i'm just asking the question. there's no need to get defensive about it,
17:33:16  <annevk>ljharb: I think my main problem with your alternative is that it’s non-obvious how to use weakmaps in spec prose; also seems that’d be massively more complicated
17:34:01  <ljharb>annevk: to be clear, i wasn't suggesting that as an alternative
17:34:02  <annevk>ljharb: there’s also precedent for these kind of things; initial values and certain abstract operations come to mind
17:34:11  <annevk>Ok
17:34:19  <ljharb>annevk: just pointing out that there's no normative barriers to specs conceptually attaching metadata to any object
17:34:45  <ljharb>obv the goal is to end up with maximized clarity and simplicity in all specs, as well as maximized explicitness
17:35:19  <ljharb>nobody wants to make it harder than it already is to implement a browser, or a non-browser JS engine :-)
17:39:04  * akirosequit (Ping timeout: 246 seconds)
17:39:45  * akirosejoined
17:39:49  <devsnek>i think its weird that we wouldn't expect engines to attach random metadata to things
17:41:40  <ljharb>i mean, they already do, don't they? - whether an array is sparse or not, whether an object is in dictionary mode or not, things like that?
17:41:56  <annevk>As long as it’s not observable it’s fine
17:42:25  <ljharb>i agree. the slots in the two PRs we're talking about aren't observable either toh.
17:42:27  <ljharb>*tho
17:43:28  <annevk>Well, they are if you consider hosts, and considering hosts has precedent but always needs to be relitigated 😊
17:43:43  <ljharb>ah, observable to hosts, you mean
17:44:34  <annevk>Yeah, observable in the ecosystem at large
18:01:53  * gibson042joined
18:29:01  * howdoijoined
18:34:10  * keith_millerjoined
18:36:06  * gibson042quit (Ping timeout: 252 seconds)
18:39:11  * NaNjoined
18:39:19  * NaNquit (Changing host)
18:39:19  * NaNjoined
18:39:19  * NaNquit (Changing host)
18:39:19  * NaNjoined
18:50:37  * gibson042joined
19:44:53  * aki_joined
19:45:33  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:46:00  * akirosequit (Ping timeout: 252 seconds)
19:46:00  * aki_changed nick to akirose
20:46:24  * serbangquit (Quit: Connection closed for inactivity)
20:47:37  * keith_millerjoined
20:53:36  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:54:38  * keith_millerjoined
21:04:53  * jwaldenjoined
21:13:43  <devsnek>is https://github.com/tc39/ecma262/pull/1321 on the november agenda
21:13:56  <devsnek>item 11 links to it indirectly but there are also explicit items listed below
21:38:24  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:40:23  * keith_millerjoined
21:51:38  * aki_joined
21:52:45  * akirosequit (Ping timeout: 250 seconds)
21:52:46  * aki_changed nick to akirose
22:39:14  * gibson042quit (Quit: Leaving.)
22:51:22  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:53:57  * keith_millerjoined
23:41:43  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:52:13  * keith_millerjoined
23:54:16  * keith_m__joined
23:56:58  * keith_millerquit (Ping timeout: 268 seconds)
23:57:39  * aki_joined
23:58:07  * akirosequit (Ping timeout: 240 seconds)
23:58:07  * aki_changed nick to akirose