00:09:30  * AtumT_quit (Remote host closed the connection)
00:13:04  * not-an-aardvarkjoined
00:15:20  * keith_millerjoined
00:33:41  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:09:03  * keith_millerjoined
01:12:30  * caridyjoined
02:24:12  <jschoi>I’m also confused about how step 1’s assertion in https://tc39.github.io/ecma262/#sec-arrow-function-definitions-runtime-semantics-iteratorbindinginitialization will hold true for a call with no arguments on an arrow function with one or more parameters, like `(x => x)()`.
02:25:07  <jschoi>Considering `(x => x)()`, Step 24 of https://tc39.github.io/ecma262/#sec-functiondeclarationinstantiation will create an _iteratorRecord_ from _argumentsList_, which here I understand would be an empty list « ».
02:26:47  <jschoi>Then step 26 would perform ? IteratorBindingInitialization for _formals_.
02:28:36  <jschoi>_formals_ in this case, I understand, would be the |ArrowParameters| : |BindingIdentifier| that covers the first `x` in `x => x`. So https://tc39.github.io/ecma262/#sec-arrow-function-definitions-runtime-semantics-iteratorbindinginitialization will be used for the IteratorBindingInitialization in FunctionDeclarationInstantiation’s step 26.
02:29:38  <jschoi>Step 1 of IteratorBindingIntialization associated with |ArrowParameters| : |Binding Identifier| asserts that _iteratorRecord_.[[Done]] must be *false*.
02:30:16  <jschoi>But this _iteratorRecord_ parameter was created from the _argumentsList_, which was an empty list. It *would* be false.
02:30:37  <jschoi>My logic somewhere above must therefore be incorrect, but I cannot determine where it is incorrect.
02:30:58  <jschoi>How does `(x => x)()` not violate the assertion in step 1 of https://tc39.github.io/ecma262/#sec-arrow-function-definitions-runtime-semantics-iteratorbindinginitialization?
02:37:10  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:42:27  <devsnek>IteratorRecord is always initially false
02:42:59  <devsnek>you have to explicitly consume an iterator to make it true
02:43:43  <devsnek>jschoi: ^
02:44:16  <devsnek>you can search through the spec for places where [[Done]] is set to true if you like
02:47:25  <jschoi>devsnek: By “IteratorRecord is always initially false”, do you mean “a IteratorRecord’s [[Done]] is always initially false”? I see…
02:47:29  <devsnek>yea
02:47:38  <devsnek>sorry for being unclear :)
02:47:40  <jschoi>And this holds true then…even for CreateListIteratorRecord(« »), empty lists. I see it in step 6 of https://tc39.github.io/ecma262/#sec-createlistiteratorRecord, though I still am confused by the choice to make it always initially false…
02:47:54  <devsnek>its always false until its consumed in some way
02:48:04  <devsnek>you can search for "[[Done]] to true"
02:48:16  <jschoi>Yeah, taking a look.
02:48:57  <jschoi>So…the purpose of this (this initial setting of [[Done]] to false) is to be able to ensure that the iterator hasn’t yet been consumed at all by any other operation?
02:49:51  <jschoi>Like, step 1 of https://tc39.github.io/ecma262/#sec-arrow-function-definitions-runtime-semantics-iteratorbindinginitialization is basically asserting that IteratorStep(_iteratorRecord_) hasn’t yet been called at all by any other operator?
02:49:58  <jschoi>I mean, that’s the purpose of it?
02:50:09  <devsnek>i'm not quite sure
02:50:12  <jschoi>I’m checking out “[[Done]] to true” right now.
02:50:21  <jschoi>Anyways thanks for the pointer for now; this helps a lot.
02:50:23  <devsnek>eventually someone who is actually in tc39 might come online and you can ask them :)
02:51:38  <jschoi>Heh, yeah, but I’m still thankful
03:43:51  * caridyquit (Remote host closed the connection)
04:31:03  * gibson042quit (Ping timeout: 245 seconds)
05:29:04  * caridyjoined
05:33:13  * caridyquit (Ping timeout: 240 seconds)
06:08:39  * gskachkovquit (Quit: gskachkov)
06:28:13  * howdoijoined
06:29:06  * jmdyckquit (Remote host closed the connection)
07:42:26  * gskachkovjoined
08:18:34  * keith_millerjoined
08:32:57  * gskachkov_joined
08:35:43  * gskachkovquit (Ping timeout: 248 seconds)
08:35:43  * gskachkov_changed nick to gskachkov
08:52:47  * not-an-aardvarkquit (Quit: Connection closed for inactivity)
08:55:32  * gskachkovquit (Quit: gskachkov)
09:06:41  * gskachkovjoined
09:37:13  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:37:45  * keith_millerjoined
11:25:12  * mylesborinsquit (Quit: farewell for now)
11:25:42  * mylesborinsjoined
11:31:19  * serbangjoined
12:11:08  * AtumTjoined
12:56:20  * gskachkov_joined
12:57:27  * gskachkovquit (Ping timeout: 240 seconds)
12:57:28  * gskachkov_changed nick to gskachkov
13:40:58  * serbangquit (Quit: Connection closed for inactivity)
13:53:47  * jmdyckjoined
14:11:28  * gibson042joined
15:18:07  * caridyjoined
16:18:28  <jschoi>Why does the last step of https://tc39.github.io/ecma262/#sec-initializeboundname return NormalCompletion(*undefined*) instead of just returning the EnvironmentRecord’s method’s result, which is NormalCompletion(~empty~)?
16:44:01  * Fishrock123joined
16:44:31  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:01:43  * AtumT_joined
17:05:05  * AtumTquit (Ping timeout: 248 seconds)
17:14:37  * jwaldenjoined
17:15:33  * AtumTjoined
17:15:57  * AtumT_quit (Ping timeout: 240 seconds)
17:22:51  <ljharb>jschoi: not sure, but would that impact what `eval` returns?
17:32:34  * keith_millerjoined
17:41:50  <jschoi>ljharb: The only place I can find so far where `eval` distinguishes between NormalCompletion(~empty~) and NormalCompletion(*undefined*) is in step 26 of https://tc39.github.io/ecma262/#sec-performeval … which, as far as I can tell, results in the same thing in the end either way: a NormalCompletion(*undefined*).
17:51:50  <ljharb>hm, not sure then
17:55:52  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:03:11  * gskachkovquit (Ping timeout: 248 seconds)
18:17:52  * keith_millerjoined
18:18:25  * srl295joined
18:24:40  * howdoiquit (Quit: Connection closed for inactivity)
18:32:14  * cloudshujoined
18:51:58  * gskachkovjoined
19:00:47  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:04:14  * TimothyGuquit (Quit: WeeChat 1.6)
19:05:57  * keith_millerjoined
19:09:10  * gskachkovquit (Quit: gskachkov)
19:34:06  <aklein>littledan: yt?
19:34:15  <aklein>littledan: wanted to follow up about this decorator branding question
19:40:42  * gskachkovjoined
19:41:53  <aklein>littledan: responded on the issue: https://github.com/tc39/proposal-decorators/issues/56#issuecomment-368624483
19:48:40  * Fishrock123quit (Remote host closed the connection)
19:59:50  * gskachkovquit (Quit: gskachkov)
20:00:13  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:06:37  * Fishrock123joined
20:15:13  * gskachkovjoined
20:55:41  * gskachkovquit (Quit: gskachkov)
20:59:40  * gskachkovjoined
21:02:46  <littledan>aklein: Thanks, will respond there
21:03:43  * keith_millerjoined
21:03:57  * jwaldenquit (Ping timeout: 245 seconds)
21:17:31  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:18:09  * keith_millerjoined
21:23:47  * jwaldenjoined
23:07:03  * Fishrock123quit (Remote host closed the connection)
23:10:13  * Fishrock123joined