00:20:01  * ArashPTquit (Ping timeout: 245 seconds)
01:07:32  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:18:22  * keith_mi_joined
01:26:31  * keith_mi_quit (Remote host closed the connection)
01:26:46  * keith_mi_joined
01:54:37  * keith_mi_quit (Ping timeout: 246 seconds)
01:57:28  * keith_mi_joined
02:23:50  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:35:04  * cybaiquit (Remote host closed the connection)
03:43:41  * cybaijoined
03:47:53  * cybaiquit (Ping timeout: 246 seconds)
04:07:06  * jmdyckquit (Remote host closed the connection)
04:19:42  * cybaijoined
04:53:19  <rkirsling>so I've got a question that's most likely shockingly newbish
04:54:32  <rkirsling>does `Let R be the result of evaluating DefaultClause.` not carry any implication that we're actually going to evaluate something such that side effects would be seen? it seems that the answer has to be yes but I don't think I understand why
04:54:57  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
04:56:26  <ljharb>rkirsling: is this like in a switch statement?
04:56:30  <rkirsling>yessir
04:56:47  <ljharb>it's a statement list, so yeah that sounds right
04:57:18  <ljharb>i think there's something about the default clause not being required to be last, but it'll still be evaluated last?
04:57:26  <ljharb>switch statements are weird
04:59:06  <rkirsling>that's exactly what I opened the spec to search for
04:59:36  <devsnek>rkirsling: so
04:59:42  <rkirsling>but in the RS here https://tc39.github.io/ecma262/#sec-runtime-semantics-caseblockevaluation
04:59:59  <devsnek>the evaluation of switch is defined such that the `DefaultClause` is plucked out
05:00:01  <devsnek>and always run last
05:00:21  <devsnek>because its defined as `Clauses DefaultClause Clauses_opt` or something like that
05:00:56  <devsnek>oh yeah its those two syntax branches
05:01:39  <rkirsling>yeah but it seems that we check the cases before the default in source order, then evaluate default and tentatively set its completion value as the overall completion value, then go through the cases after the default in source order
05:02:07  <ljharb>that's probably so the spec can be written top down, but unobservably so that implementations can re-order the default clause and it works the same?
05:02:20  <ljharb>totally throwing out guesses
05:02:32  <devsnek>oh i see what you're saying
05:03:03  <rkirsling>yeah I'm clearly missing something because the engines all do the right thing (no side effects putting default above the case that we want)
05:03:34  <ljharb>hm, are you suggesting the spec implies that `default` should be ran always (when it's not last) even if it's not triggered? O.o
05:03:48  <devsnek>its doing it this way for fallthrough
05:03:55  <rkirsling>that's what I'm reading it as and feeling like I must be mistaken
05:04:11  <devsnek>things in front of the default might still need to fall through to the default
05:04:15  <devsnek>but things after don't
05:04:20  <ljharb>aha
05:04:28  <devsnek>which is why foundInB returns immediately
05:04:35  <devsnek>but a only returns if its abrupt (throw or break)
05:05:00  <devsnek>ngl this is confusing af
05:06:14  <rkirsling>oh for crying out loud
05:06:26  <devsnek>lol
05:06:45  <rkirsling>I think my eyes just jumped over step 7
05:22:24  <rkirsling>okay yeah I've fully got it now
05:35:05  <rkirsling>anyway that's what I get for skimming too fast
05:39:03  <rkirsling>since I wrote it out clearly for my own purposes, I'll copy-paste it here for closure's sake
05:39:52  <rkirsling>1. we check the _before_ cases in order
05:39:52  <rkirsling>2. if we match *and* hit a `break`/`return` somewhere before the `default`, we're done
05:39:52  <rkirsling>3. otherwise, we check the _after_ cases in order
05:39:52  <rkirsling>4. if we matched an _after_ case we're done (regardless of `break`/`return`)
05:39:52  <rkirsling>5. otherwise, we evaluate the `default`
05:39:53  <rkirsling>6. if we *still* haven't hit a `break`/`return` we evaluate on into the _after_ cases as necessary
05:40:13  <rkirsling>so that matches expected behavior
05:42:37  <rkirsling>(this all started because I was reading one of LLVM's tutorial docs and they've got a (C++) switch with default first, and I literally never thought about that being valid to do before now...)
05:44:22  <devsnek>i think the only valid thing to do is avoid c style switch cases
05:45:37  <rkirsling>we all know ljharb agrees ;)
05:46:28  <rkirsling>they're kind of like "goto's last bastion"
05:46:29  <rkirsling>heh
05:47:17  <ljharb>lol yes, burn them with fire
05:47:39  <devsnek>`do { break label } while (false);`
05:48:07  <devsnek>actually can you jump to labels that are defined later
05:48:26  <devsnek>aw you can't
05:58:13  * ArashPTjoined
05:59:51  * cybai_joined
05:59:54  * cybaiquit (Ping timeout: 250 seconds)
06:43:17  * ArashPTquit (Read error: Connection reset by peer)
06:43:39  * ArashPTjoined
06:52:33  * ArashPTquit (Ping timeout: 258 seconds)
06:54:38  * ArashPTjoined
06:54:56  * ArashPTquit (Client Quit)
06:57:42  * howdoi_joined
06:58:02  * howdoi_changed nick to howdoi
07:02:37  * cybaijoined
07:03:31  * cybai_quit (Ping timeout: 268 seconds)
07:10:32  * cybai_joined
07:12:04  * cybaiquit (Ping timeout: 246 seconds)
07:23:29  * kpattichajoined
07:25:01  * cybai_quit (Quit: Leaving...)
07:25:09  * kpattich_joined
07:28:11  * kpattichaquit (Ping timeout: 255 seconds)
08:14:34  * mquy90joined
08:18:51  * Nimelrian_joined
09:20:21  * cybaijoined
11:09:08  * JaseWquit (Quit: Connection closed for inactivity)
11:12:04  * cybaiquit (Remote host closed the connection)
12:05:23  * cybaijoined
12:10:10  * cybaiquit (Ping timeout: 276 seconds)
12:17:05  * jmdyckjoined
12:21:07  * cybaijoined
13:15:02  * howdoiquit (Quit: Connection closed for inactivity)
13:44:53  * howdoijoined
14:48:18  * keith_mi_joined
14:55:34  * mquy90quit (Quit: Leaving)
15:02:58  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:07:46  * keith_mi_joined
15:24:07  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:24:37  * keith_mi_joined
15:37:37  * jwaldenjoined
15:56:08  * Nimelrian__joined
15:59:14  * Nimelrian_quit (Ping timeout: 258 seconds)
16:51:39  * Nimelrian_joined
16:51:40  <cloudshu>what if i LIKE gotos huh??
16:54:49  * Nimelrian__quit (Ping timeout: 258 seconds)
16:55:45  <ljharb>cloudshu: then i can suggest somewhere for you to goto :-p
16:56:13  <cloudshu>when i say jump i want the cpu to say how high
16:56:48  <devsnek>Domenic: can you tell i don't do browser js very often :P
16:56:53  <Domenic>Hehe :)
16:58:41  <devsnek>Domenic: would that be `document.body.insertAdjacentHTML('afterbegin', WARNING_HTML)`
17:01:40  <Domenic>Seems likely
17:02:38  <devsnek>Domenic: also it seems like jsdom messed up the encoding of the <title> of the page
17:02:44  <devsnek>`ECMAScript® 2020 Language Specification`
17:03:07  <devsnek>(before and after removing 'utf8' in readFile)
17:03:09  <Domenic>Oh the source document doesn't have a meta charset doesn't it
17:03:17  <Domenic>Because it's not really HTML
17:03:20  <devsnek>lol
17:03:25  <Domenic>Yeah then I guess that advice doesn't work
17:03:34  <devsnek>is jsdom adding a meta charset
17:03:53  <Domenic>No it's doing encoding sniffing and with no meta charset it defaults to windows1252
17:04:03  <devsnek>ouch
17:04:17  <Domenic>Valid HTML needs to include a meta charset
17:04:24  <Domenic>But ecmarkup inserts it for you automatically
17:04:43  <Domenic>So the source document isn't really following the normal rules that jsdom expects
17:04:59  <devsnek>well i'm not passing the source
17:05:02  <Domenic>Maybe you should be running this as a post-processing step actually?
17:05:04  <devsnek>i'm passing the result of ecmarkup
17:05:05  <Domenic>Oh weird
17:05:15  <Domenic>Does ecmarkup not insert a meta charset then
17:05:27  <Domenic>Maybe I misremembered
17:06:07  <devsnek>passing string instead of buffer works
17:06:11  <devsnek>oh well
17:08:26  <Domenic>Can you check if the output of ecmarkup has a meta charset
17:08:34  <Domenic>If it does then maybe jsdom bug I should fix
17:08:40  <Domenic>If it doesn't then ecmarkup bug
17:09:03  <devsnek>will do
17:09:45  <devsnek>Domenic: it has `<meta charset="utf-8">`
17:10:12  <Domenic>Ok dang potential jsdom bug then
17:10:54  <devsnek>inb4 v8 memory corruption triggered by the sheer size of the spec
17:13:03  * gibson042joined
17:13:59  * AtumTjoined
17:15:57  * mgolquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:35:02  * howdoiquit (Quit: Connection closed for inactivity)
17:48:34  <ljharb>devsnek: is the intention here that the spec build job that runs on every master commit would use this?
17:48:52  <devsnek>ljharb: the intention was running it for pull requests
17:48:57  <devsnek>but master snapshots could be pretty cool as well
17:49:08  <ljharb>ah ok so it's just setting up scaffolding, but nothing's using it yet
17:49:11  <devsnek>yeah
17:49:23  <devsnek>i don't really have permission to install actual hooks and stuff on the repo
17:50:01  <ljharb>so for this snapshot thing, how does it work on mobile, and is it keyboard accessible?
17:50:16  <devsnek>it uses <details>
17:50:19  <devsnek>which is part of the html spec
17:50:30  <devsnek>which is why i don't need to define how it collapses
17:50:36  <devsnek>so it should just work (tm)
17:50:53  <ljharb>what does it do on older browsers that don't have <details>?
17:50:59  <devsnek>look funny
17:51:09  <ljharb>lol
17:51:18  <devsnek>whatwg uses this same thing for their snapshots
17:51:22  <devsnek>i actually copied most of it
17:51:27  <Domenic>Master should not have this
17:51:30  <Domenic>This redirects people to master
17:51:34  <devsnek>so i assume it hasn't been a problem
17:51:38  <ljharb>gotcha
17:51:41  <Domenic>IMO the things on ecma-international.org should have this
17:51:44  <devsnek>Domenic: i mean like renders of any point of master
17:51:46  <devsnek>not of master itself
17:51:56  <Domenic>Mmm OK
17:52:02  <devsnek>like if `tc39.github.io/ecma262/abcdef` existed
17:52:09  <devsnek>for every commit to master
17:52:13  <devsnek>i dunno
17:52:17  <Domenic>Right gotcha
17:52:27  <Domenic>https://dom.spec.whatwg.org/commit-snapshots/
17:52:36  <devsnek>or a nice list like that :P
17:52:56  <Domenic>It's just a styled nginx directory listing :)
17:55:24  * mgoljoined
18:21:20  * kpattich_quit (Ping timeout: 250 seconds)
19:33:43  * keith_millerquit (Ping timeout: 250 seconds)
19:34:36  * keith_millerjoined
19:55:08  * JaseWjoined
20:46:08  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:00:44  * keith_mi_joined
21:08:53  * Nimelrian_quit (Ping timeout: 268 seconds)
22:11:47  * mgolquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:26:23  * gibson042quit (Ping timeout: 255 seconds)
22:44:31  <devsnek>ljharb: when bigint lands will it be part of 2019 or 2020
22:44:42  <devsnek>assuming that pr doesn't sit there forever
22:44:50  <ljharb>devsnek: 2019 was conceptually frozen in like january, and actually frozen in march
22:44:57  <ljharb>more like november than january even
22:44:57  <devsnek>ok
22:45:19  <ljharb>certainly if it reaches stage 4 before november, then it'll be in 2020
23:16:37  * Havvyquit (Ping timeout: 268 seconds)
23:17:31  * Havvyjoined