00:00:57  * cybaijoined
00:13:00  * AtumT_quit (Quit: AtumT_)
00:34:47  * mgolquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:37:22  <ljharb>littledan: import await addresses one of my big concerns; but it’s vitality is one that remains.
00:47:14  <littledan>ljharb: Is there any version of top-level await you could imagine that would address the virality concern (regardless of other issues people have raised)?
00:50:23  <ljharb>yep! Maybe sugar for an AAIFE with import or import await? That makes adding TLA or import await not a breaking change (transparent) but using import await ensures all the bindings are available (desired behavior). Both sync and async static import would work with any module. (just came up with this now so i haven’t thought it through more than this comment)
00:54:33  * aki_joined
00:55:25  * akirosequit (Ping timeout: 246 seconds)
00:55:25  * aki_changed nick to akirose
01:00:59  * hellauerquit (Quit: WeeChat 2.4)
01:02:33  * cybaiquit (Remote host closed the connection)
01:16:41  * cybaijoined
01:21:48  * cybaiquit (Ping timeout: 272 seconds)
02:46:50  * ephemera_quit (Ping timeout: 250 seconds)
02:47:15  * ephemera_joined
03:01:33  * aki_joined
03:02:21  * akirosequit (Ping timeout: 246 seconds)
03:02:21  * aki_changed nick to akirose
03:20:49  * cybaijoined
03:25:13  * cybaiquit (Ping timeout: 255 seconds)
04:12:21  * cybaijoined
04:16:40  * cybaiquit (Ping timeout: 246 seconds)
04:24:00  * jmdyck1quit (Remote host closed the connection)
04:44:44  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
05:07:19  * aki_joined
05:08:06  * akirosequit (Ping timeout: 250 seconds)
05:08:07  * aki_changed nick to akirose
07:12:59  * aki_joined
07:13:47  * akirosequit (Ping timeout: 245 seconds)
07:13:47  * aki_changed nick to akirose
07:46:47  <littledan>ljharb: Do you mean, dependent modules would not be blocked?
07:53:05  <littledan>If so, I don't think this would meet the WebAssembly goals well, as those should wait for the module to be ready before exposing the exports
07:53:29  <littledan>it seems like a weird hazard that, if you leave off the `await`, you expose yourself to the race condition that the explainer walks through the techniques for avoiding.
07:53:45  <littledan>this really would be a problem when refactoring!
08:16:13  * cybaijoined
08:20:28  * cybaiquit (Ping timeout: 245 seconds)
08:54:41  * cybaijoined
08:55:57  * Nimelrianjoined
08:58:59  * cybaiquit (Ping timeout: 252 seconds)
09:19:11  * aki_joined
09:20:18  * akirosequit (Ping timeout: 250 seconds)
09:20:19  * aki_changed nick to akirose
09:51:37  * cybaijoined
09:55:50  * cybaiquit (Ping timeout: 250 seconds)
11:25:24  * aki_joined
11:26:18  * akirosequit (Ping timeout: 245 seconds)
11:26:18  * aki_changed nick to akirose
11:41:36  * cybaijoined
11:46:16  * cybaiquit (Ping timeout: 272 seconds)
11:50:41  * mgoljoined
12:17:50  * jmdyckjoined
12:24:21  * cybaijoined
12:28:22  * cybaiquit (Ping timeout: 245 seconds)
13:02:59  * gibson042joined
13:12:21  * Nimelrianquit (Ping timeout: 252 seconds)
13:22:54  * AtumTjoined
13:29:48  * AtumT_joined
13:31:12  * aki_joined
13:32:04  * akirosequit (Ping timeout: 250 seconds)
13:32:04  * aki_changed nick to akirose
13:32:20  * AtumTquit (Ping timeout: 246 seconds)
13:37:46  * cybaijoined
13:45:06  * cybaiquit (Remote host closed the connection)
14:25:58  * mgolquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:37:15  * aki_joined
15:38:23  * akirosequit (Ping timeout: 245 seconds)
15:38:23  * aki_changed nick to akirose
16:00:41  * Nimelrianjoined
16:05:01  <ljharb>littledan: yes, i dislike that dependent modules are blocked without them opting into it
16:05:21  <littledan>ljharb: They are opting into it by doing `import await`, right?
16:05:36  <littledan>I mean, they have the choice of not using the module at all, but it's not silently foisted on them
16:05:41  <ljharb>yes, but modules importing *them* are not
16:05:59  <littledan>OK, I think that's where we have some confusion. I'd say, if you import a module using import await, you also have to use import await
16:06:05  <littledan>(otherwise there's no point to any of it)
16:06:16  <ljharb>right, that’s the current proposal for import await iirc
16:06:31  <littledan>right, so what is it that you're against with that?
16:06:36  <littledan>or, what are you in favor of?
16:06:42  <ljharb>so that addresses my concern of silent optin - but it preserves the concern about vitality
16:06:45  <ljharb>*virality
16:06:54  <littledan>heh I keep making the same mistake
16:07:00  <ljharb>DYAC :-p
16:07:39  <littledan>so, do you have any ideas of what would meet your requirements, while also not encouraging races?
16:21:05  <ljharb>perhaps the same idea i said earlier, but the bindings start out as promises instead of undefined or in tdz?
16:22:21  <ljharb>it seems important that i can import a module that’s not using TLA, but that starts using import await, and that it doesn’t necessarily impact me
16:31:44  * Draggorquit (Remote host closed the connection)
16:32:28  * Draggorjoined
17:24:49  * Draggorquit (Ping timeout: 250 seconds)
17:25:36  * Draggorjoined
17:31:42  * Draggorquit (Ping timeout: 250 seconds)
17:35:28  * Draggorjoined
17:42:29  * aki_joined
17:43:30  * akirosequit (Ping timeout: 252 seconds)
17:43:30  * aki_changed nick to akirose
18:28:09  * cybaijoined
18:33:30  * cybaiquit (Ping timeout: 272 seconds)
19:19:58  <MylesBorins>ljharb littledan it seems to me that if the "import await" is not viral there isn't much point to it. if just the consumer needs to know if would be dead simple for package authors to introduce a single level of indirection and never have to let consumers worry about it... in which case there really isn't any value in it
19:25:48  <littledan>Yeah, I am similarly confused. Also, it's really hard for me to imagine how you'd use a module when you don't know whether its bindings are Promises or not. Is everyone supposed to defensively await everything?
19:26:41  <littledan>ljharb: Happy to keep bouncing ideas back and forth, but I think making all the exports into Promises wouldn't really work out
19:49:10  * aki_joined
19:50:22  * akirosequit (Ping timeout: 250 seconds)
19:50:22  * aki_changed nick to akirose
20:15:27  <ljharb>MylesBorins: if it is viral, then everyone will have to use it basically everywhere (unless, i suppose, if it errored on a sync module) but at that point either a graph leaf will never use TLA, limiting its usefulness, or it will, forcing the entire chain above it to use import await as well.
20:16:07  <ljharb>i suppose another alternative is that TLA modules can only be dynamically imported
20:16:48  <ljharb>and then `await import()` at the top level is how you’d consume that in a blocking fashion, and that would be your own TLA
21:00:17  * kesnejoined
21:15:33  * kesnequit (Quit: kesne)
21:17:34  * kesnejoined
21:20:30  * keith_mi_joined
21:28:04  * kesnequit (Quit: kesne)
21:36:26  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:55:51  * aki_joined
21:57:26  * akirosequit (Ping timeout: 272 seconds)
21:57:27  * aki_changed nick to akirose
22:35:34  * Nimelrianquit (Ping timeout: 252 seconds)
23:00:32  * marxojoined