00:12:41  * Fishrock123quit (Quit: Leaving...)
01:04:20  * not-an-aardvarkjoined
01:27:26  * AtumTquit (Remote host closed the connection)
01:31:12  * cloudshuquit (Quit: Connection closed for inactivity)
01:34:47  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
01:38:58  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:54:52  * keith_millerjoined
02:08:20  * keith_millerquit (Remote host closed the connection)
02:21:54  <devsnek>will WeakValueMap ever be a thing
02:22:25  <devsnek>weak values are used way more often than weak keys
02:29:10  * keith_millerjoined
02:54:02  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:58:39  <ljharb>devsnek: either that, or WeakRef
02:58:43  <ljharb>devsnek: there's a proposal
03:17:07  <devsnek>i'm surprised WeakMap even became a thing
03:17:18  <devsnek>the only thing i've ever seen it used for is polyfilling private fields
03:20:28  <not-an-aardvark>I use it as a substitute for Maps when I don't need to enumerate keys (for the "throws on null keys" behavior)
03:21:16  * keith_millerjoined
04:08:15  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:11:07  * bradleymeckjoined
04:16:08  * bradleymeckquit (Quit: bradleymeck)
04:17:33  * keith_millerjoined
04:33:46  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:37:44  * keith_millerjoined
04:47:46  <ljharb>devsnek: WeakMap is super useful for whenever you'd otherwise be forced to mutate an object to store side channel data
04:48:03  <devsnek>i guess
04:48:05  <ljharb>devsnek: for example, let's say you want to store extra DOM data but you don't want to just vomit data attributes everywhere
04:48:17  <devsnek>it still seems like a more niche thing than a weak value map
04:48:28  <devsnek>most languages have some sort of weak value map
04:48:32  <ljharb>basically any time you want to privately associate info with an object
04:48:38  <ljharb>WeakValueMap and WeakRef both have the same problem
04:48:45  <ljharb>which is that "knowing when GC happens" isn't ok
04:49:27  <devsnek>i get engines want that to be hidden but like
04:49:35  <ljharb>not engines
04:49:43  <ljharb>there's a shitload of security problems that happen if it's visible
04:49:45  <ljharb>think meltdown/spectre
04:49:51  <ljharb>timing attacksm all that jazz
04:50:31  <ljharb>WeakRef is coming, i'm pretty confident, but it's not a trivial thing to add
04:50:55  <devsnek>would we get both weakref and weakvaluemap
04:50:58  <ljharb>devsnek: also note that "most languages" are backend, ie, one controlled environment. that's just a cakewalk compared to infinite uncontrolled environments (ie, web browsers)
04:51:02  <ljharb>devsnek: you can build either one with the other
04:51:07  <ljharb>devsnek: so it really doesn't matter
04:51:23  <devsnek>thats why i was asking
04:51:26  <ljharb>devsnek: but my preference is the simplest one, WeakRef. then you can build WeakValueMap with a Map of WeakRefs
04:51:35  <ljharb>(or a WeakMap of WeakRefs)
04:51:47  <ljharb>otherwise to build a WeakRef you have to have a WeakValueMap of one
04:52:13  <ljharb>which is fine but a bit silly for the use cases where you only need one
04:52:25  <devsnek>i just imagine like
04:52:37  <devsnek>WeakValueMap would be a super common abstraction if we only have WeakRef
05:06:35  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:32:53  * caridyquit (Remote host closed the connection)
05:33:21  * caridyjoined
05:37:33  * caridyquit (Ping timeout: 240 seconds)
05:42:35  * caridyjoined
05:44:16  <ljharb>devsnek: sure. the reverse is true too
05:44:32  <ljharb>devsnek: personally i've needed WeakRef far more than WeakValueMap, but i'm sure it's anecdotal
05:44:49  <devsnek>you could make a weakset from a weakmap but we have both
05:45:47  <devsnek>i guess thats the point i wanna get across
05:47:01  * caridyquit (Ping timeout: 252 seconds)
05:47:29  * caridyjoined
05:52:48  <ljharb>devsnek: totally fair. i don't object to having both
05:52:56  <ljharb>i just think it'd be weird to have the "multiple" one and not the "single" one
05:53:03  <devsnek>yea
05:53:16  <devsnek>just whenever i hear about "something might not happen" with regard to ecma
05:53:19  <devsnek>i get scared
05:53:54  <ljharb>in this case, wasm needs WeakValueMap
05:54:11  <devsnek>oh that reminds me
05:54:13  <ljharb>so one way or another ecma is likely going to be forced to have something similar. my hope is that we can get a proper WeakRef in first.
05:54:17  <devsnek>i've heard talk of something about wasm modules
05:54:24  <devsnek>doesn't wasm already have static imports/exports
05:54:33  <ljharb>sure, there'll be many kinds of modules besides CJS/ESM. wasm, html, etc
05:54:46  <devsnek>so its just something to throw in a translate hook
05:54:52  <devsnek>not any new specific wasm feature
05:55:09  <ljharb>i'm not sure what you mean
05:55:23  <ljharb>from an ES point of view, it's just a module same as any other, sure
05:55:26  * jmdyckquit (Remote host closed the connection)
05:55:30  <devsnek>i meant uh
05:55:48  <devsnek>there are no new features coming to wasm regarding es module stuff
05:55:49  * caridyquit (Ping timeout: 252 seconds)
05:56:02  <devsnek>just trying to contextualize the conversations i've seen
05:58:40  <ljharb>i'm not sure what new features could possibly come to it that aren't part of the spec
05:58:52  <devsnek>yea thats why i was confused
05:59:04  <devsnek>the conversations i saw seemed to suggest some new features of some sort
05:59:08  <ljharb>link?
05:59:17  <devsnek>i have no idea at this point
05:59:22  <devsnek>github comments all over the place
06:00:32  <ljharb>without a link i'm skeptical :-)
06:00:39  <ljharb>(that something is possible; i believe you that it's been said)
06:00:53  <devsnek>nah i probably just misunderstood
06:00:58  <devsnek>wouldn't be the first time kek
06:02:26  * caridyjoined
06:10:13  * caridyquit (Ping timeout: 240 seconds)
06:10:40  * caridyjoined
07:06:57  * caridyquit (Ping timeout: 264 seconds)
07:22:57  * caridyjoined
07:27:35  * caridyquit (Ping timeout: 256 seconds)
07:32:36  * caridyjoined
07:36:33  * caridyquit (Ping timeout: 240 seconds)
07:50:05  * srl295quit (Quit: Connection closed for inactivity)
07:51:27  * caridyjoined
07:56:09  * caridyquit (Ping timeout: 263 seconds)
08:11:44  * caridyjoined
08:15:53  * caridyquit (Ping timeout: 240 seconds)
08:29:58  * caridyjoined
08:34:27  * caridyquit (Ping timeout: 240 seconds)
08:43:38  * caridyjoined
08:47:53  * caridyquit (Ping timeout: 240 seconds)
09:03:50  * caridyjoined
09:08:16  * caridyquit (Ping timeout: 248 seconds)
09:13:30  * caridyjoined
09:18:22  * caridyquit (Ping timeout: 268 seconds)
09:24:02  * not-an-aardvarkquit (Quit: Connection closed for inactivity)
09:30:05  * caridyjoined
09:31:29  * keith_millerjoined
09:37:33  * caridyquit (Ping timeout: 240 seconds)
09:44:37  * caridyjoined
09:49:15  * caridyquit (Ping timeout: 256 seconds)
09:59:46  * caridyjoined
10:03:53  * caridyquit (Ping timeout: 240 seconds)
10:25:40  * caridyjoined
10:30:05  * caridyquit (Ping timeout: 252 seconds)
10:34:35  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:35:35  * caridyjoined
10:39:57  * caridyquit (Ping timeout: 264 seconds)
10:57:37  * caridyjoined
11:02:35  * caridyquit (Ping timeout: 268 seconds)
11:16:25  * caridyjoined
11:20:27  * caridyquit (Ping timeout: 240 seconds)
11:22:37  * caridyjoined
11:25:10  * mylesborinsquit (Quit: farewell for now)
11:25:41  * mylesborinsjoined
11:26:55  * caridyquit (Ping timeout: 252 seconds)
11:30:30  * gskachkovquit (Quit: gskachkov)
11:33:42  * gskachkovjoined
11:40:15  * caridyjoined
11:44:33  * caridyquit (Ping timeout: 240 seconds)
11:54:04  * AtumTjoined
12:01:17  * caridyjoined
12:05:47  * caridyquit (Ping timeout: 252 seconds)
12:09:08  * caridyjoined
12:09:18  * gskachkovquit (Quit: gskachkov)
12:10:02  * gskachkovjoined
12:14:09  * caridyquit (Ping timeout: 264 seconds)
12:28:44  * gskachkovquit (Quit: gskachkov)
12:29:52  * caridyjoined
12:34:13  * caridyquit (Ping timeout: 240 seconds)
13:26:45  * bradleymeckjoined
13:28:58  * caridyjoined
13:33:58  * caridyquit (Ping timeout: 264 seconds)
13:46:07  * caridyjoined
13:46:40  * keith_millerjoined
13:50:40  * caridyquit (Ping timeout: 256 seconds)
13:51:18  * caridyjoined
13:55:47  * caridyquit (Ping timeout: 252 seconds)
14:04:16  * caridyjoined
14:08:49  * caridyquit (Ping timeout: 268 seconds)
14:09:29  * keith_mi_joined
14:10:29  * keith_millerquit (Ping timeout: 264 seconds)
14:15:38  * bradleymeckquit (Quit: bradleymeck)
14:23:02  * caridyjoined
14:23:43  * bradleymeckjoined
14:27:29  * caridyquit (Ping timeout: 260 seconds)
14:29:47  * caridyjoined
14:31:27  * bradleymeckquit (Ping timeout: 264 seconds)
14:32:37  * bradleymeckjoined
14:34:13  * jmdyckjoined
14:34:17  * caridyquit (Ping timeout: 252 seconds)
14:53:58  * caridyjoined
14:58:24  * caridyquit (Ping timeout: 260 seconds)
14:59:23  * caridyjoined
15:03:33  * caridyquit (Ping timeout: 240 seconds)
15:05:59  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:12:49  * caridyjoined
15:14:48  * bradleymeckquit (Quit: bradleymeck)
15:16:53  * caridyquit (Ping timeout: 240 seconds)
15:31:04  * gskachkovjoined
15:34:30  * caridyjoined
15:39:49  * caridyquit (Ping timeout: 260 seconds)
15:49:26  * caridyjoined
15:52:11  * keith_millerjoined
15:53:37  * caridyquit (Ping timeout: 248 seconds)
15:54:34  * caridyjoined
16:27:46  * AtumT_joined
16:29:19  * caridyquit (Ping timeout: 256 seconds)
16:29:50  * caridyjoined
16:30:33  * AtumTquit (Ping timeout: 240 seconds)
16:37:53  * caridyquit (Ping timeout: 248 seconds)
16:38:27  * caridyjoined
16:41:18  * AtumTjoined
16:41:35  * AtumT_quit (Ping timeout: 240 seconds)
16:42:41  * caridyquit (Ping timeout: 245 seconds)
16:46:47  * caridyjoined
17:02:02  * AtumT_joined
17:02:27  * AtumTquit (Ping timeout: 240 seconds)
17:03:19  * caridyquit (Ping timeout: 256 seconds)
17:03:47  * caridyjoined
17:11:33  * caridyquit (Ping timeout: 240 seconds)
17:12:16  * caridyjoined
17:32:32  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:41:27  * caridyquit (Ping timeout: 245 seconds)
17:42:13  * caridyjoined
17:50:27  * caridyquit (Ping timeout: 252 seconds)
17:50:56  * caridyjoined
17:58:33  * caridyquit (Ping timeout: 240 seconds)
17:59:07  * caridyjoined
18:11:53  * caridyquit (Ping timeout: 256 seconds)
18:15:44  * caridyjoined
18:20:09  * caridyquit (Ping timeout: 252 seconds)
18:20:49  * caridyjoined
18:25:29  * caridyquit (Ping timeout: 256 seconds)
18:29:10  * caridyjoined
18:29:40  * gibson042joined
18:41:13  * caridyquit (Ping timeout: 240 seconds)
18:41:40  * caridyjoined
18:42:43  * not-an-aardvarkjoined
18:44:24  * caridyquit (Remote host closed the connection)
18:44:31  * caridyjoined
18:49:52  * srl295joined
20:59:34  * srl295quit (Quit: Connection closed for inactivity)
21:38:51  * alextespart
21:42:59  * alextesjoined
22:12:17  * gskachkovquit (Quit: gskachkov)
22:14:27  * gskachkovjoined
22:18:35  * gskachkovquit (Client Quit)
22:21:53  * gskachkovjoined
22:27:50  * gskachkovquit (Quit: gskachkov)
22:28:57  * gskachkovjoined
23:16:41  * gskachkovquit (Quit: gskachkov)
23:18:13  * gskachkovjoined
23:30:57  * gskachkovquit (Quit: gskachkov)