01:03:45  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:39:00  * keith_millerjoined
02:04:17  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:11:48  * keith_millerjoined
03:23:01  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:30:19  * not-an-aardvarkquit (Quit: Connection closed for inactivity)
03:39:36  * jmdyckquit (Remote host closed the connection)
03:40:08  * keith_millerjoined
04:07:31  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
06:02:09  * abernix_joined
06:05:21  * abernixjoined
06:05:25  <abernix>join #node-dev
06:05:52  <abernix>whoopsies poopsies.
06:07:26  * abernix_quit (Quit: Bye)
06:28:21  * keith_millerquit (Ping timeout: 240 seconds)
06:28:59  * keith_millerjoined
07:34:10  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:59:19  * araiquit (Remote host closed the connection)
08:17:29  <littledan>caitp: Yeah, I tried to make the "don't expose private information to arbitrary code" case to the committee, but I guess they weren't convinced
08:17:51  <littledan>for one, lexically scoped variables are also private information in a sense, and those are exposed, so...
08:18:31  <littledan>but I also agree with the "more work and not worth it" argument
08:18:56  <littledan>anyway based on this conversation seems like it'll be hard to convince the rest of the committee on this point
08:20:29  <littledan>I honestly don't think saying "lexical scope" conveys a normal JS programmer's mental model for what private means; I think eval supporting seeing things outside is more of a legacy feature that we need for old-style code loading systems
08:20:48  <littledan>not every wart of JS forms a core part of every programmer's mental model all the time
08:20:49  * seishunjoined
09:09:35  * keith_millerjoined
09:14:44  * howdoijoined
09:43:17  * seishunquit (Ping timeout: 276 seconds)
09:54:35  * seishunjoined
09:59:29  * seishunquit (Ping timeout: 260 seconds)
10:09:48  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:23:16  * keith_millerjoined
10:25:09  * mylesborinsquit (Quit: farewell for now)
10:25:40  * mylesborinsjoined
11:08:14  * seishunjoined
11:08:21  * araijoined
11:09:06  * seishunquit (Disconnected by services)
11:09:13  * seishunjoined
11:23:28  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:52:32  * keith_millerjoined
12:24:10  * AtumTjoined
12:52:40  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:52:46  * jmdyckjoined
12:54:46  * jmdyck1joined
12:54:46  * jmdyckquit (Read error: Connection reset by peer)
13:23:35  * howdoiquit (Quit: Connection closed for inactivity)
14:02:46  * keith_millerjoined
14:25:04  <caitp>I think not exposing it to arbitrary code in eval would be very easy --- all it takes is changing the spec to not build the initial `privateNames` list from the outer PNE, so that any unresolved PrivateReferences within the eval() code become SyntaxErrors
14:25:14  <caitp>the rest of the implementation stays the same
14:25:47  <caitp>it might even allow some simplification in the rest, like not having to keep a set of valid private names around for each PNE
14:26:47  <caitp>the rest of the strategy of treating them as lexical variables in engines would still very much work
14:27:39  <caitp>so it's an opportunity to delete some code and avoid a really bad idea from shipping :p
14:28:33  <caitp>*avoid shipping a really bad idea, prevent a really bad idea from shipping
15:08:36  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:16:11  * keith_millerjoined
16:56:34  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:04:00  * keith_millerjoined
17:13:51  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:33:53  * seishunquit (Ping timeout: 248 seconds)
17:38:42  * keith_millerjoined
17:40:53  * seishunjoined
18:34:01  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:34:40  * jwaldenjoined
19:41:02  <TabAtkins>Hm, if I want to close over something private for a global function, now I can just do it with a {} and let/const, right? No need for a function wrapper?
19:47:40  <bterlson>Yep!
19:48:07  <bterlson>Or just module global
19:50:14  <TabAtkins>These are inline scripts, so I don't get module behavior yet.
19:50:23  <TabAtkins>Just want to avoid polluting global scopes if possible.
20:23:27  * seishunquit (Ping timeout: 240 seconds)
20:44:42  * keith_millerjoined
20:52:56  * seishunjoined
21:05:05  * seishunquit (Ping timeout: 248 seconds)
22:31:56  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:46:27  * jwaldenquit (Ping timeout: 260 seconds)
22:48:45  * jwaldenjoined