00:02:28  <Bakkot>cool, that's what I figured.
00:17:44  * AtumTquit (Quit: AtumT)
01:09:31  * cybaijoined
01:26:03  * aki_joined
01:26:47  * akirosequit (Ping timeout: 240 seconds)
01:26:48  * aki_changed nick to akirose
02:02:45  * ThainBBdLquit (Ping timeout: 252 seconds)
02:14:21  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
02:15:45  * ThainBBdLjoined
02:22:33  * keith_mi_quit (Ping timeout: 245 seconds)
02:35:39  * keith_mi_joined
03:18:13  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:31:15  * aki_joined
03:32:08  * akirosequit (Ping timeout: 245 seconds)
03:32:08  * aki_changed nick to akirose
03:39:49  * keith_mi_joined
03:53:05  * keith_mi_quit (Quit: Textual IRC Client: www.textualapp.com)
04:26:32  * STRML_quit (*.net *.split)
04:26:32  * bkstquit (*.net *.split)
04:26:32  * gsathyaquit (*.net *.split)
04:26:32  * gkatsevquit (*.net *.split)
04:53:35  * STRML_joined
04:53:36  * bkstjoined
04:53:36  * gsathyajoined
04:53:36  * gkatsevjoined
05:11:29  * jwaldenjoined
05:17:55  * jmdyckquit (Remote host closed the connection)
05:22:23  * gibson042quit (Quit: Leaving.)
05:24:02  * obensour1quit (Ping timeout: 255 seconds)
05:35:00  * keith_mi_joined
05:37:26  * aki_joined
05:37:33  * obensour1joined
05:38:23  * akirosequit (Ping timeout: 245 seconds)
05:38:23  * aki_changed nick to akirose
05:57:55  * jwaldenquit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805])
06:54:48  * howdoijoined
07:03:45  * jwaldenjoined
07:43:08  * aki_joined
07:44:26  * akirosequit (Ping timeout: 255 seconds)
07:44:26  * aki_changed nick to akirose
08:06:58  * isHavvyjoined
08:08:17  * Havvyquit (Ping timeout: 255 seconds)
08:26:39  * ThainBBdLquit (Read error: Connection reset by peer)
09:00:59  * kpattichajoined
09:49:55  * aki_joined
09:50:47  * akirosequit (Ping timeout: 240 seconds)
09:50:47  * aki_changed nick to akirose
09:57:18  * cybaiquit (Remote host closed the connection)
09:58:44  * cybaijoined
10:01:57  * cybaiquit (Remote host closed the connection)
10:07:51  * isHavvyquit (Ping timeout: 252 seconds)
10:09:07  * Havvyjoined
10:16:21  * cybaijoined
10:21:03  * cybaiquit (Ping timeout: 252 seconds)
10:21:28  * isHavvyjoined
10:22:27  * Havvyquit (Ping timeout: 240 seconds)
10:46:18  * AtumTjoined
11:19:37  * jwaldenquit (Quit: ψ)
11:20:26  * cybaijoined
11:24:34  * cybaiquit (Ping timeout: 246 seconds)
11:26:58  * keith_mi_quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:30:44  * keith_mi_joined
11:50:13  * keith_mi_quit (Quit: Textual IRC Client: www.textualapp.com)
11:56:04  * aki_joined
11:56:53  * akirosequit (Ping timeout: 244 seconds)
11:56:53  * aki_changed nick to akirose
12:57:10  * jmdyckjoined
12:59:47  <annevk>ljharb: https://github.com/web-platform-tests/wpt/pull/15720 might be of interest
13:00:06  * gibson042joined
13:01:27  * howdoiquit (Quit: Connection closed for inactivity)
13:04:57  * gibson042quit (Ping timeout: 252 seconds)
13:08:05  * superamadeus3joined
13:48:21  <superamadeus3>Hello all. Would this be a good place to see if there's any interest in a new language feature? I've already searched ESDiscuss and couldn't find any real discussion on it, though it was touched upon.
13:53:29  * cybaijoined
14:02:48  * aki_joined
14:03:27  * akirosequit (Ping timeout: 240 seconds)
14:03:28  * aki_changed nick to akirose
14:24:17  <jmdyck>superamadeus3: It's an appropriate place. Whether it's a *good* (i.e., useful) place varies over time, I'd say.
14:29:12  <superamadeus3>Well, I'll take my chances! The proposal is for a "try expression" which allows for imperative error handling patterns similar to how it's typically done in Go. While I came up with the semantics organically, it resembles a discussion I found on ESDiscuss from 3 years ago (specifically this post: https://esdiscuss.org/topic/just-try#content-4).
14:30:03  <superamadeus3>Here's a github gist with my attempt at an overview of it's behavior: https://gist.github.com/superamadeus/e81c0524d6991c6977cb4ab34b82321a . I apologize ahead of time if this has been proposed before, as it seems like it shouldn't be that novel of an idea.
15:01:17  * cybaiquit (Remote host closed the connection)
15:33:38  * kpattich_joined
15:36:18  * kpattichaquit (Ping timeout: 250 seconds)
16:03:47  * kpattich_quit (Ping timeout: 240 seconds)
16:09:00  * aki_joined
16:10:41  * akirosequit (Ping timeout: 268 seconds)
16:10:42  * aki_changed nick to akirose
16:19:07  * cloudshujoined
16:48:15  * Nimelrianjoined
17:05:41  <ljharb>annevk: thanks
17:06:35  <ljharb>superamadeus3: can you add some examples that don’t use await?
17:06:59  <devsnek>i don't understand this example
17:07:07  <devsnek>or what this is doing in general
17:07:24  <devsnek>oh wait i see now
17:07:30  <devsnek>it's an approximation of how go returns errors
17:10:51  * superamadeus3quit (Ping timeout: 256 seconds)
17:19:35  * howdoijoined
18:12:00  * superamadeus3joined
18:15:19  * aki_joined
18:16:10  * akirosequit (Ping timeout: 246 seconds)
18:16:10  * aki_changed nick to akirose
18:19:20  <superamadeus3>Hey,
18:19:28  <superamadeus3>I updated the gist to show examples without await.
18:21:38  <superamadeus3>Here's the link again for convenience https://gist.github.com/superamadeus/e81c0524d6991c6977cb4ab34b82321a
18:27:35  <superamadeus3>Yes, the goal of the proposal is to resemble this error handling pattern. It essentially wraps any expression into a result type `Result<TValue, TError> = [TValue, undefined] | [undefined, TError]`.
18:28:19  <superamadeus3>Also, sorry if this is spammy. I'm not totally used to IRC. If there's a better place for this discussion I would be happy to move it/set it up!
18:29:47  <ljharb>superamadeus3: i think we’d first need a Result before we’d want to add syntax to produce it
18:34:15  <devsnek>^
18:34:56  <superamadeus3>ljharb: For sure. Would that have to be a separate proposal, or could it be part of the same one?
18:35:06  <ljharb>I’d think separate
18:35:15  <ljharb>syntax is expensive, and a hard hill to walk up
18:42:13  <superamadeus3>Cool, thanks.
18:45:19  <superamadeus3>What might the next steps be if I want to work on this? Make a repo for the proposals and work on documentation and a spec for it and hope the community takes interest?
18:46:41  <superamadeus3>(Not to simplify the work that must go into it)
18:53:07  <Bakkot>you might consider checking with the Promise.allSettled champions if they'd consider using a more general result type
18:54:01  <Bakkot>the thing they're currently returning refers to promises in particular, but if there were a pattern for Result in JS, they could use that instead.
18:54:18  <Bakkot>("checking with" = opening an issue on https://github.com/tc39/proposal-promise-allSettled )
18:55:17  * keith_mi_joined
18:57:55  <Bakkot>but more generally, I don't know that this would be worth it, especially if we end up with syntax for statements in expression position more generally - you could just write `let [user, err] = do { try { [foo()] } catch (e) { [void 0, e] } }` instead of `let [user, err] = try foo()`
19:18:28  <superamadeus3>Bakkot: thanks for the lead! I'll check out that proposal. And hm, that's valid! I think it's worth exploring at least academically, or even if it just ends up being a babel plugin that I use myself :)
19:30:05  * superamadeus3quit (Quit: Page closed)
19:59:29  * guest271314joined
20:21:20  * aki_joined
20:22:10  * akirosequit (Ping timeout: 246 seconds)
20:22:10  * aki_changed nick to akirose
20:34:04  * jwaldenjoined
20:46:43  * superamadeus3joined
20:53:44  * howdoiquit (Quit: Connection closed for inactivity)
20:54:26  * srl295joined
22:10:37  * superamadeus3quit (Ping timeout: 256 seconds)
22:27:14  * Nimelrianquit (Ping timeout: 258 seconds)
22:28:00  * aki_joined
22:29:15  * akirosequit (Ping timeout: 252 seconds)
22:29:15  * aki_changed nick to akirose
23:10:07  * cybaijoined
23:14:21  * cybaiquit (Ping timeout: 252 seconds)
23:16:32  * AtumT_joined
23:19:12  * AtumTquit (Ping timeout: 245 seconds)
23:30:46  * AtumT_quit (Ping timeout: 244 seconds)