00:12:37  * srl295joined
00:18:57  * cybaiquit (Remote host closed the connection)
00:26:41  * AtumTquit (Quit: AtumT)
00:36:51  * cybaijoined
00:41:02  * cybaiquit (Ping timeout: 246 seconds)
01:05:49  * cybaijoined
01:53:04  * mquy90joined
01:57:27  * akirosequit (Ping timeout: 240 seconds)
01:57:31  * aki_joined
01:58:01  * aki_changed nick to akirose
01:58:32  * mquy90quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:16:26  * akirosequit (Quit: 👋🏻)
02:19:12  * akirosejoined
03:04:35  <devsnek>mathiasbynens: for the JSON.stringify fix, how would one get to the "List containing in order the code points of value when interpreted as a sequence of UTF-16 encoded code points" it requires using only pure JS
03:05:19  <devsnek>from what i can tell this could be very difficult due to js strings being outwardly ucs-2
03:06:24  * keith_millerjoined
04:16:58  * jmdyckquit (Remote host closed the connection)
04:37:55  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:57:03  * keith_millerjoined
04:57:38  * keith_millerquit (Remote host closed the connection)
04:58:16  * keith_millerjoined
05:29:52  * keith_millerquit (Read error: Connection reset by peer)
05:31:13  * keith_millerjoined
05:47:20  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:55:19  * keith_millerjoined
06:11:09  * Jessidhiaquit (Disconnected by services)
06:11:11  * Jessidhiajoined
06:14:21  * howdoijoined
06:19:35  * Jessidhiaquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:20:31  * Jessidhiajoined
06:47:41  * kpattich__joined
07:00:54  * Jessidhiaquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:04:39  * ghermeto_quit (Read error: Connection reset by peer)
07:05:07  * ghermetojoined
07:05:55  * srl295quit (Read error: Connection reset by peer)
07:05:55  * mattijsquit (Read error: Connection reset by peer)
07:06:00  * bterlsonquit (Read error: Connection reset by peer)
07:06:12  * bterlsonjoined
07:06:13  * srl295joined
07:06:16  * mattijsjoined
07:06:19  * musgravejwquit (Read error: Connection reset by peer)
07:06:22  * ryzokukenquit (Read error: Connection reset by peer)
07:06:25  * Wizekquit (Read error: Connection reset by peer)
07:06:33  * musgravejwjoined
07:06:41  * ryzokukenjoined
07:07:00  * Wizekjoined
07:19:17  * Jessidhiajoined
07:46:22  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
07:55:33  * akoserwa|wfhjoined
07:56:43  * mgoljoined
08:13:42  * mgolquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:21:35  * mgoljoined
10:01:26  * cybaiquit (Remote host closed the connection)
10:11:33  * srl295quit (Quit: Connection closed for inactivity)
10:55:39  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:21:21  * keith_millerjoined
12:03:43  * jmdyckjoined
12:11:32  <mathiasbynens>devsnek: that quote is followed by "as described in 6.1.4" which details it
12:11:50  <mathiasbynens>unless i misunderstand your question
12:13:31  <mathiasbynens>see "However, ECMAScript does not restrict the value of or relationships between these code units, so operations that further interpret String contents as sequences of Unicode code points encoded in UTF-16 must account for ill-formed subsequences [...]"
12:14:07  <mathiasbynens>devsnek: iow implementing this in JS is super easy
12:15:03  <annevk>saying UTF-16 encoded is rather misleading though as that typically means lone surrogates are gone
12:15:24  <mathiasbynens>i don't disagree
12:15:53  <mathiasbynens>devsnek: you want `const codePoints = [...value];`
12:16:18  <devsnek>mathiasbynens: everything I've tried to split the string gives those json invalid ones as single items instead of split surrogate pairs
12:16:33  <devsnek>which is what is needed as far as i can tell
12:16:53  <mathiasbynens>devsnek: you don't want to split surrogate pairs, you only want to have lone surrogates as individual items
12:17:04  <mathiasbynens>devsnek: the string iterator does that for you, which is why `[...string]` works
12:18:10  <annevk>What might help here is that the process of making "code points" out of "code units" is in particular about keep surrogate pairs together as they are two code units, but one code point
12:18:18  <devsnek>but isn't the change looking for \dc8whatever as a lone surrogate
12:19:02  <mathiasbynens>devsnek: yeah, it is
12:19:35  <annevk>devsnek: if you do [..."\uD800remainder"] the "\uD800" will be standalone still
12:19:47  <mathiasbynens>^ and that's exactly what you want here
12:20:18  <annevk>mathiasbynens: do you have any plans to tidy up the language?
12:20:30  <annevk>mathiasbynens: I looked into it briefly at some point, but it seemed like quite a bit of work
12:21:08  <mathiasbynens>in `[...'_\uDC00\uD800_đź’©_']` you want đź’© (a surrogate pair) to remain a single unit; it needs no escaping. otoh, you want `\uDC00\uD800` (a surrogate pair in the wrong order, i.e. two consecutive lone surrogates) to be two separate units
12:22:07  <mathiasbynens>annevk: hmm, i'm sure the editors would be open to a PR that tidies things up. i'm mostly interested in observable changes (like the recent change to make `JSON.stringify()` output well-formed)
12:24:41  <devsnek>mathiasbynens: maybe there is some other issue, but spreading the string didn't seem to work, when I'm in front of the code again I will take another look
12:25:12  <mathiasbynens>devsnek: happy to take a look
12:26:04  <devsnek>quotejsonstring is here https://github.com/devsnek/engine262/blob/master/src/intrinsics/JSON.mjs
12:26:12  <devsnek>I haven't pushed up the changes yet
13:03:29  <devsnek>mathiasbynens: back to computer, getting weird behaviour out of this
13:03:35  <devsnek>https://www.irccloud.com/pastebin/7iT65YLf/agh.js
13:03:49  <mathiasbynens>you're using charCodeAt instead of codePointAt
13:04:11  <mathiasbynens>devsnek: and fromCharCode instead of fromCodePoint
13:04:17  <devsnek>ey alright
13:04:43  <devsnek>should UnicodeEscape also use codePointAt
13:05:03  <devsnek>oh that's not in the paste
13:05:28  <mathiasbynens>it will never be reached for non-BMP code points, so it doesn't matter there
13:05:37  <mathiasbynens>i.e. code points above U+FFFF
13:06:00  <mathiasbynens>\uXXXX only works with exactly 4 hex digits anyhow
13:06:35  <devsnek>and for UTF16Encoding()
13:06:51  <devsnek>right now i return an array from it
13:06:59  <devsnek>should i do String.fromCodePoint(cu1, cu2)
13:07:23  <devsnek>(i never had to use UTF16Encoding before now lol)
13:15:36  * howdoiquit (Quit: Connection closed for inactivity)
13:17:50  * cybaijoined
13:22:20  * cybaiquit (Ping timeout: 268 seconds)
13:26:38  * AtumTjoined
13:33:03  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:44:45  * akoserwa|wfhquit (Quit: Leaving)
13:51:01  * ErrorIsNullErrorjoined
14:00:46  * cybaijoined
14:31:12  * Nimelrianjoined
14:47:19  * mquy90joined
14:51:20  <devsnek>is there an eslint to prevent `const x = expression that uses accidentally uses x`
15:00:14  * cybaiquit (Remote host closed the connection)
15:45:25  <ljharb>devsnek: I’m pretty confident there is, since that’d always be a tdz error
15:46:06  <devsnek>I couldn't find one, but maybe I'm just bad at reading
15:46:28  <ljharb>if not, make one and PR it into core :-)
16:02:36  * ghermetoquit (Read error: Connection reset by peer)
16:04:05  * ghermetojoined
16:08:36  * ghermetoquit (Ping timeout: 250 seconds)
16:11:59  * kpattich__quit (Ping timeout: 250 seconds)
16:25:51  * ghermetojoined
16:30:25  * ghermetoquit (Ping timeout: 268 seconds)
16:37:36  * mquy90quit (Ping timeout: 246 seconds)
16:38:07  * ghermetojoined
16:49:27  * ghermetoquit (Ping timeout: 240 seconds)
17:01:20  * PigDudejoined
17:27:14  * keith_millerjoined
17:49:05  * ghermeto_joined
17:55:42  * mquy90joined
18:01:44  * ghermeto_quit (Read error: Connection reset by peer)
18:02:17  * ghermetojoined
18:21:41  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:43:31  * keith_millerjoined
18:52:26  <Bakkot>devsnek / ljharb: you'll never get it to be complete, because `const x = () => x` is fine but `const x = (() => x)()` is a TDZ error, and distinguishing between those two is (in general) uncomputable
18:53:20  <Bakkot>but you can at least lint against the case where it's not in a closure, yeah
18:53:52  <devsnek>halting problem is ez
18:58:49  <ljharb>yeah true, the non-closure case is easy
18:59:30  <ljharb>but i suspect the lint rule would want to warn on `() => x` too - ie, it wouldn't just be for avoiding a tdz error, it'd be for likely mistakes
18:59:47  <Bakkot>I don't think that's a likely mistake?
19:00:17  <ljharb>i'm sure there's nonzero use cases for a function that returns itself but i can't imagine there's many
19:00:53  <Bakkot>oh, I just meant like
19:00:56  <Bakkot>`const fib = n => n <= 0 ? 1 : fib(n - 1) + fib(n - 2)`
19:01:07  <Bakkot>returning itself is probably a mistake, but _referencing_ itself isn't
19:01:38  <devsnek>a partial evaluator could help here
19:01:54  <devsnek>prepack or engine262 with some slight modifications
19:01:55  <Bakkot>true of many problems, but perhaps overkill for a linter
19:02:13  <devsnek>sometimes you gotta bring out the big guns
19:02:29  <ljharb>yeah fair
19:06:50  <Bakkot>rather than a new rule, probably the thing to do is make no-use-before-undef also give errors in the case where the RHS of the initial assignment references the LHS in a not-closure way
19:07:02  <Bakkot>but it's really quite hard to get eslint to accept new rules or changes these days
19:07:25  <Bakkot>been considering starting up a new project to be a home for all the good eslint rules which core has refused to accept
19:08:50  <devsnek>Bakkot: I'd give that a star
19:19:36  * keith_m__joined
19:20:38  * mgolquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:21:14  * keith_millerquit (Ping timeout: 268 seconds)
19:44:18  * jwaldenjoined
20:01:09  * ghermetoquit (Read error: Connection reset by peer)
20:01:26  * ghermetojoined
20:01:39  * ErrorIsNullErrorquit (Quit: Leaving.)
20:03:24  * ghermetoquit (Read error: Connection reset by peer)
20:29:30  * ghermeto_joined
20:29:46  <jmdyck>ljharb: any forecast re merges to master?
20:30:19  <ljharb>jmdyck: sorry about the delay; i'll get to it today :-)
20:30:29  <jmdyck>ok
20:34:47  * mgoljoined
20:34:56  * mquy90quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:39:21  * mquy90joined
20:46:17  <devsnek>I wonder how many spec bugs could be prevented by requiring a pr to engine262
20:51:37  * ghermeto_quit (Read error: Connection reset by peer)
21:04:03  * mquy90quit (Read error: Connection reset by peer)
21:06:38  * mquy90joined
21:10:16  * mquy90quit (Read error: Connection reset by peer)
21:12:17  * mquy90joined
21:18:36  * mquy90quit (Ping timeout: 252 seconds)
21:30:27  * ghermeto_joined
21:46:17  * Nimelrianquit (Ping timeout: 252 seconds)
21:56:33  <ljharb>TimothyGu: heads up that https://github.com/tc39/ecma262/pull/1406 needs a rebase, but also i'm still waiting for waldemar to review it
22:13:51  * PigDudequit (Quit: PigDude)
22:38:43  * mgolquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:03:53  * keith_m__quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:05:19  * keith_millerjoined
23:07:06  * keith_millerquit (Client Quit)
23:10:58  * isHavvyjoined
23:11:21  * Havvyquit (Ping timeout: 252 seconds)
23:17:13  * mgoljoined
23:21:14  * keith_millerjoined
23:23:20  <devsnek>are there tests for the change to await to reduce the ticks?
23:24:54  <ljharb>devsnek: https://github.com/tc39/ecma262/pull/1250 links to https://github.com/tc39/test262/pull/1843
23:25:00  <devsnek>hmmm
23:25:13  <devsnek>i just noticed AsyncGeneratorResumeNext in engine262 wasn't updated for that change
23:25:17  <devsnek>but no tests were failling
23:25:19  <devsnek>failing*
23:29:22  * mgolquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:37:30  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:40:24  * keith_millerjoined
23:42:45  * keith_millerquit (Remote host closed the connection)
23:43:26  * keith_millerjoined