01:27:33  * akirosequit (Ping timeout: 245 seconds)
01:28:17  * akirosejoined
01:43:33  * gibson042joined
03:35:34  * akirosequit (Ping timeout: 268 seconds)
03:37:30  * akirosejoined
03:37:59  * jmdyckquit (Quit: Leaving.)
04:02:01  * howdoijoined
04:14:34  * keith_millerjoined
04:33:25  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:36:00  * keith_millerjoined
04:46:28  * gibson042quit (Ping timeout: 250 seconds)
05:44:11  * aki_joined
05:45:07  * akirosequit (Ping timeout: 240 seconds)
05:45:07  * aki_changed nick to akirose
06:28:12  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:50:23  * aki_joined
07:50:51  * akirosequit (Ping timeout: 252 seconds)
07:50:51  * aki_changed nick to akirose
08:06:41  * akoserwa|wfhjoined
09:57:06  * aki_joined
09:57:54  * akirosequit (Ping timeout: 268 seconds)
09:57:55  * aki_changed nick to akirose
10:29:56  * akoserwa_joined
10:32:12  * akoserwa|wfhquit (Ping timeout: 252 seconds)
10:52:47  * akoserwa_quit (Ping timeout: 268 seconds)
11:07:14  * akoserwa|wfhjoined
12:02:46  * aki_joined
12:03:51  * akirosequit (Ping timeout: 252 seconds)
12:03:51  * aki_changed nick to akirose
12:30:06  * gibson042joined
12:37:12  * gibson042quit (Quit: Leaving.)
13:06:29  * jmdyckjoined
13:07:33  * keith_millerjoined
13:08:04  * keith_millerquit (Remote host closed the connection)
13:08:39  * keith_millerjoined
13:17:00  * gibson042joined
13:40:09  * gibson042quit (Quit: Leaving.)
14:03:32  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:03:44  * akoserwa_joined
14:05:44  * akoserwa_quit (Client Quit)
14:06:30  * akoserwa|wfhquit (Ping timeout: 252 seconds)
14:08:42  * akirosequit (Ping timeout: 252 seconds)
14:09:03  * akirosejoined
15:01:04  * gibson042joined
15:29:49  * bpaytonjoined
16:05:26  * cloudshujoined
16:17:09  * akirosequit (Ping timeout: 268 seconds)
16:18:40  * akirosejoined
16:40:47  * gibson042quit (Ping timeout: 240 seconds)
16:42:58  * howdoiquit (Quit: Connection closed for inactivity)
16:44:56  * bpaytonquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:56:09  * gibson042joined
17:35:18  * bpaytonjoined
17:44:02  * arkainjoined
17:55:09  * bpaytonquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:56:37  * arkaininvites everyone to have a look at https://github.com/rdking/proposal-class-members. He'd like to get as many eyes on it as possible.
18:02:53  <devsnek>arkain: what if the bind operator goes through
18:03:42  <arkain>Which one is that? `?:` ?
18:04:01  <arkain>sorry... `?.` ?
18:04:25  <devsnek>https://github.com/tc39/proposal-bind-operator
18:04:31  <devsnek>its also using ::
18:05:13  <devsnek>why can't we just allow lexical declarations inside class blocks
18:12:33  <arkain>I just looked over that proposal. Interesting. That just means there's competition over `::`. If bind goes through, I could always fall back to `->` as with the classes-1.1 proposal, or maybe find something different like `:>`. Either way, I'd have to find a new operator.
18:13:59  <devsnek>what would be wrong with leaving instance properties the way they are, and adding lexical declarations to classes as a form of private state
18:14:28  <devsnek>the confusion of `this.x` vs `x` i guess?
18:14:38  <arkain>Originally, class-members did treat the let & const declarations as lexical, allowing them to be used directly by name. However, shadowing is an issue without a way to scope them. Also ljharb convinced me that not scoping them was a bad idea.
18:14:55  <devsnek>wdym without a way to scope them
18:15:11  <devsnek>a class expression is already a lexical scope
18:15:40  <arkain>To access an instance variable of a class instance that is not `this`, you'd use `obj::variable`
18:15:56  <arkain>`::` is called a scope access operator
18:16:27  <devsnek>i would just leave instance properties alone
18:16:46  <arkain>instance variables are not properties of the instance.
18:17:22  <devsnek>you mean like `class X { let y; }`
18:17:23  <devsnek>the `y`
18:17:25  <arkain>They're contained in a separate closure attached to the instance and accessible via `::`.
18:17:35  <arkain>yes
18:17:38  <devsnek>i wouldn't expect that `y` to be accessible outside of `X`
18:17:46  <arkain>It's not
18:18:12  <arkain>..or rather, not accessible outside of functions declared in `X`
18:18:17  <devsnek>why bring up instance variables of other instances then
18:18:27  <arkain>sibling access
18:18:54  <devsnek>oh yeah i guess that is important
18:20:20  <devsnek>rdking/proposal-class-members looks sane then
18:21:31  <arkain>Yeah, but there's still one issue I'm having big problems with. If you have the time, go look at issue 3
18:23:05  <arkain>ljharb: got a minute to talk?
18:25:33  * aki_joined
18:26:01  * keith_millerjoined
18:26:06  * akirosequit (Ping timeout: 252 seconds)
18:26:06  * aki_changed nick to akirose
18:26:13  * keith_millerquit (Remote host closed the connection)
18:26:58  * keith_millerjoined
19:07:18  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:08:37  <ljharb>arkain: you can always PM
19:11:29  * keith_millerjoined
19:22:31  * jwaldenjoined
19:29:28  * AtumTjoined
19:29:37  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:32:21  * keith_millerjoined
19:37:00  <rkirsling>TIL the ChakraCore repo is "up for grabs": https://github.com/Microsoft/ChakraCore 😂
19:39:15  <rkirsling>makes me wonder what other unfortunate/comical repo tags there are out there...
19:39:27  <ljharb>lol that's a weird tag
19:39:36  <rkirsling>good issue tag, bad repo tag, hahaha
19:39:40  <ljharb>"help-wanted" is a weird thing to tag on the repo too, but maybe that's why up for grabs is there
19:39:46  <rkirsling>right
19:46:31  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:49:44  * keith_millerjoined
20:12:30  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:15:38  * bpaytonjoined
20:24:23  * bpaytonquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:32:56  * akirosequit (Ping timeout: 244 seconds)
20:33:04  * aki_joined
20:33:45  * aki_changed nick to akirose
21:27:52  * keith_millerjoined
21:59:18  <Bakkot>question for someone who understands the RegExp grammar (mathiasbynens?): AFAICT the way that the grammar for regexp literals is statically enforced is by the early error rule in 12.2.8.1, which says
21:59:20  <Bakkot>"It is a Syntax Error if BodyText of |RegularExpressionLiteral| cannot be recognized using the goal symbol |Pattern| of the ECMAScript RegExp grammar specified in <emu-xref href="#sec-patterns"></emu-xref>"
21:59:57  <Bakkot>But the Pattern grammar has flags; it does not make sense to talk about the bare |Pattern| goal symbol, no?
22:01:03  <Bakkot>and I can't tell how this early error rule would forbid e.g. `/\a/u`. that would be an error at runtime because of RegExpCreate, but I can't see how it is a static error.
22:01:21  * bpaytonjoined
22:38:15  * aki_joined
22:39:29  * akirosequit (Ping timeout: 268 seconds)
22:39:30  * aki_changed nick to akirose
23:32:31  <devsnek>anyone here know how to write new grammar productions
23:38:34  * AtumTquit (Quit: AtumT)
23:40:58  <Bakkot>devsnek: kinda; what's the context?
23:41:22  <devsnek>Bakkot: i'm trying to figure out how one would add formal parameter annotations
23:41:41  <Bakkot>What do you mean by "annotations" here?
23:42:01  <devsnek>python style
23:42:06  <devsnek>type annotations i guess
23:42:09  <devsnek>but i don't like the word type
23:44:55  <Bakkot>You'd add a `ParameterAnnotation : _:_ Whatever` production, then modify the FormalParameter production to be `FormalParameter : BindingElement ParameterAnnotation_opt`
23:45:10  <Bakkot>assuming you want them to be optional, that is.
23:45:16  <devsnek>yes definitely optional lol
23:45:17  <Bakkot>and then give it static and runtime semantics everywhere.
23:48:55  <devsnek>so it has to go with BindingElement i guess