00:05:21  * aki_joined
00:05:56  * akirosequit (Ping timeout: 260 seconds)
00:05:56  * aki_changed nick to akirose
00:33:45  * satoriprintsquit (Ping timeout: 252 seconds)
01:13:26  * asd7eb96IDjoined
01:14:06  * asd7eb96IDquit (Remote host closed the connection)
01:33:39  * chandankumarjoined
01:36:12  * chandankumarquit (K-Lined)
01:37:10  * AtumTquit (Quit: AtumT)
01:57:38  <devsnek>so i dunno if anyone has suggested this, but what if break/continue/return are just disallowed in loop initializers and function arguments
01:57:47  <devsnek>for do expressions
02:11:04  * aki_joined
02:12:31  * akirosequit (Ping timeout: 260 seconds)
02:12:31  * aki_changed nick to akirose
03:35:14  <dshepsis>What problems would you solve in so doing? I'm not totally familiar with the current issues for do expressions.
03:36:13  <devsnek>dshepsis: `while (true) { while (do { break }) {} }`
03:36:24  <devsnek>`function a(b = do { return; }) {}`
03:37:55  <dshepsis>My understanding of do is that it's essentially sugar on an iife. top level break in an iife is a syntax error, but top level return is not
03:38:08  <devsnek>its not sugar on an iife
03:38:31  <devsnek>its as close to no sugar as you can get
03:42:15  * CurryWurstjoined
03:44:08  * CurryWurstquit (Remote host closed the connection)
04:14:59  * deerbardjoined
04:16:53  * aki_joined
04:17:53  * akirosequit (Ping timeout: 244 seconds)
04:17:53  * aki_changed nick to akirose
04:20:57  * deerbardquit (Remote host closed the connection)
04:35:46  <dshepsis>Alright I've done some reading, I think I understand a bit better
04:35:55  * keith_millerjoined
04:36:04  <dshepsis>do blocks are statements as expression, so control flow statements can affect the surrounding scope
04:36:42  <dshepsis>in which case, my impression would be that `while (true) { while (do { break }) {} }` should probably be disallowed, like you said
04:37:07  <dshepsis>since the other interpretation is reaching the second while initializer and just breaking out of the first while loop abruptly.
04:37:24  <dshepsis>but maybe that's useful?
04:37:28  <dshepsis>doubt it
04:40:11  <dshepsis>`function a(b = do { return; }) {}` is probably the same? Either you're at top-level and return is illegal anyways,
04:41:50  <dshepsis>or you're in an even weirder situation where calling the function can break out of your current function call if you don't pass a parameter
04:41:54  <dshepsis>which sounds really annyoing
04:42:14  <dshepsis>if you didn't know about it
04:43:55  <dshepsis>devsnek: so you're right. control flow statements should not be allowed in those places
04:45:16  <dshepsis>I think any time you have an expression as part of a block statement (switch, for, function default arguments, while) all control flow statements should be disabled in do blocks
04:45:55  <dshepsis>`if` as well
04:46:46  <devsnek>well if in do blocks is a good thing
04:52:10  <dshepsis>I don't mean `if` in `do`. I mean `do` in `if` conditionals, e.g. `if (do { break; })`, which I think should be disallowed for the same reason as you proposed for loop conditionals.
04:54:13  <dshepsis>idk if there's good terminology already for this, but I might use the phrase "block-attached expression" to describe these places where I would like control-flow statements to be disabled in do blocks
04:57:48  <dshepsis>I guess the values of case clauses would also fall under this
04:58:38  <dshepsis>do you couldn't do `switch(foo) { case do { break;} console.log(foo); }` or something like that
05:00:26  <dshepsis>do you think it would be appropriate to make an issue explaining this concern?
05:18:21  * dshepsisquit (Ping timeout: 256 seconds)
05:31:34  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:39:34  * jmdyckquit (Remote host closed the connection)
06:23:01  * aki_joined
06:24:38  * akirosequit (Ping timeout: 268 seconds)
06:24:38  * aki_changed nick to akirose
06:34:48  * keith_millerjoined
08:30:15  * aki_joined
08:30:48  * akirosequit (Ping timeout: 252 seconds)
08:30:49  * aki_changed nick to akirose
09:11:45  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:29:08  * keith_millerjoined
09:30:23  * keith_millerquit (Client Quit)
09:48:47  * keith_millerjoined
09:51:50  * keith_millerquit (Client Quit)
09:56:16  * keith_millerjoined
09:58:22  * keith_millerquit (Client Quit)
10:27:27  * keith_millerjoined
10:28:38  * keith_millerquit (Client Quit)
10:36:28  * aki_joined
10:37:33  * akirosequit (Ping timeout: 245 seconds)
10:37:33  * aki_changed nick to akirose
10:44:06  * keith_millerjoined
10:45:41  * keith_millerquit (Client Quit)
11:10:54  * keith_millerjoined
11:11:24  * keith_millerquit (Client Quit)
11:27:59  * keith_millerjoined
11:45:58  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:57:28  * keith_millerjoined
11:59:58  * keith_millerquit (Client Quit)
12:29:09  * AtumTjoined
12:29:57  * keith_millerjoined
12:30:57  * keith_millerquit (Client Quit)
12:31:27  * keith_millerjoined
12:42:41  * aki_joined
12:44:12  * akirosequit (Ping timeout: 272 seconds)
12:44:13  * aki_changed nick to akirose
12:56:13  * jmdyckjoined
13:42:43  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:43:45  * keith_millerjoined
13:49:26  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:19:17  * keith_millerjoined
14:20:29  * keith_millerquit (Client Quit)
14:48:22  * dshepsisjoined
14:50:18  * akirosequit (Ping timeout: 268 seconds)
14:50:54  * akirosejoined
14:56:13  * keith_millerjoined
14:56:14  * keith_millerquit (Client Quit)
14:56:48  * keith_millerjoined
14:57:01  * keith_millerquit (Client Quit)
15:08:48  * keith_millerjoined
16:57:35  * aki_joined
16:58:23  * akirosequit (Ping timeout: 245 seconds)
16:58:23  * aki_changed nick to akirose
17:16:19  * dshepsisquit (Ping timeout: 256 seconds)
19:04:49  * aki_joined
19:05:03  * akirosequit (Ping timeout: 245 seconds)
19:05:03  * aki_changed nick to akirose
20:46:13  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:11:48  * akirosequit (Ping timeout: 252 seconds)
21:12:57  * akirosejoined
21:22:29  * keith_millerjoined
21:23:37  * keith_millerquit (Client Quit)
23:20:15  * aki_joined
23:21:16  * akirosequit (Ping timeout: 260 seconds)
23:21:16  * aki_changed nick to akirose
23:39:59  * AtumTquit (Quit: AtumT)