| 02:36 | <shu> | jmdyck: Bakkot: copypasta, let me change now |
| 02:37 | <shu> | hm, there is some precedent for this, like `thisStringValue` having `<dfn id="sec-thisstringvalue">` |
| 02:38 | <shu> | that's kinda unfortunate |
| 02:38 | <shu> | Bakkot: do `<dfn>`s take oldids=? |
| 02:38 | <Bakkot> | not sure, let me check |
| 02:39 | <Bakkot> | shu: should, based on impl |
| 02:39 | <shu> | i'm not adding oldids to the ones i just introduced but for the older ones, we should keep the oldids |
| 02:39 | <shu> | okay great |
| 02:41 | <Bakkot> | yeah, tested experimentally |
| 02:41 | <Bakkot> | it's kind of funny actually; the oldids will link directly to the definition, rather than (as is normal for dnfs) the containing section |
| 02:44 | <shu> | https://github.com/tc39/ecma262/pull/2103 |
| 02:45 | shu | off |
| 11:32 | <ystartsev> | everybody ready for today? |
| 11:32 | <ystartsev> | https://youtu.be/jxi0ETwDvws?t=116 |
| 13:10 | <devsnek> | i suppose i did know this already, but i'm very surprised that optional chains aren't valid assignment targets |
| 14:56 | <jorendorff> | ljharb: hi - looking at https://github.com/tc39/ecma262/pull/2045, it seems very likely to land. Is that right? |
| 15:18 | <bradleymeck> | devsnek: i think there was some back and forth and it was dropped in ancient times due to back and forth |
| 15:18 | <devsnek> | ya |
| 15:19 | <rickbutton> | ystartsev: that channel has a lot of programming related music videos |
| 15:19 | <bradleymeck> | i asked people at godaddy about if they wanted it and the overwelming majority wanted if (z) x.y = z rather than that |
| 15:19 | <devsnek> | i am knowledgeable of that, but in the moment of writing code i just naturally did `a?.b = c` and then was sad when it failed |
| 15:19 | <devsnek> | isn't that `??=` |
| 15:19 | <devsnek> | or just `||=` |
| 15:19 | <jackworks> | jorendorff: there're still some work not done, including old ids and some review ExEBoss rises I'll handle them tomorrow |
| 15:19 | <devsnek> | oh no i guess that's the inverse |
| 15:20 | <jorendorff> | jackworks: yep -- it all looks good |
| 15:20 | <jorendorff> | i just wanted to make sure i'm not missing anything |
| 16:21 | <ljharb> | jorendorff: afaik all the editors are on board with the concept; it may need some more tweaks, and it’ll need review (but that will likely be after plenary) |
| 16:21 | <jorendorff> | ljharb: ok, thanks. that makes sense. |
| 16:22 | <Bakkot> | yeah I haven't gotten a chance to review the PR itself and so can't say if the current form works, but I still agree with the plan we talked about during last meeting |
| 16:22 | <ljharb> | jorendorff: the hope is to find some balance between “converting none of the existing iterator-producers” and “converting all of them” that both convinces us it’s viable and also doesn’t make jackworks do too much work :-) |
| 16:24 | <jorendorff> | ljharb: Ah, I see. Thanks for the extra context. Does this imply trying to change the prototype chains of the existing iterator-producers? |
| 16:26 | <Bakkot> | I don't think so; I am pretty sure when we discussed this at the last meeting we said that the point of this effort was strictly editorial improvement for specifying iterators |
| 16:27 | <Bakkot> | and I am in general not in favor of making normative decisions for editorial reasons |
| 16:57 | <ljharb> | jorendorff: no, it very much implies not doing that, since that'd be observable :-) |
| 16:57 | <jorendorff> | OK, good |
| 17:10 | <leobalter> | bterlson: I love your social isolation hair style |
| 17:14 | <bterlson> | leobalter: lol thanks |
| 18:57 | <bradleymeck> | how would people people want to spec export/import wildcards regarding arbitrary binding name strings, currently we use a special string: "*default*" , but that would be valid in https://github.com/bmeck/proposal-arbitrary-module-namespace-identifiers , so need to alter on a type somehow so it isn't a string |
| 18:58 | <bradleymeck> | same for "*" |
| 18:59 | <bradleymeck> | we could spec it using symbols as special well known values? |
| 18:59 | <jmdyck> | or use tilde-values? |
| 19:02 | <bradleymeck> | jmdyck: i guess we could, seems a bit odd to mix string and tilde values in a list |
| 19:02 | <devsnek> | can we refactor this https://gc.gy/62976763.png |
| 19:02 | <michaelficarra> | bradleymeck: sounds like a question for #tc39-editor-group |
| 19:03 | <michaelficarra> | I think we could use a spec enum value for it |
| 19:03 | <jmdyck> | devsnek: refactor how? |
| 19:03 | <bradleymeck> | can move it there |
| 19:03 | <devsnek> | don't need nested if statements i don't think |
| 19:04 | <devsnek> | jmdyck: might push this up in a minute https://gc.gy/62976833.png |
| 19:04 | <ljharb> | bradleymeck: a spec enum makes sense to me |
| 19:05 | <leobalter> | shu: |
| 19:05 | <leobalter> | I don't have a motivation for disallowing |
| 19:06 | <leobalter> | I'm just addressing a point that came out from the proposal issues, and my preference is to not disallow |
| 19:06 | <leobalter> | it's too specific and disallowing might involve some tricky change in the grammar to also extend DecimalLiteral in Annex B |
| 19:07 | <leobalter> | so if you don't see enough motivation, I'm totally onboard with you |
| 19:07 | <shu> | leobalter: yeah it just seems like more work to me |
| 19:07 | <shu> | leobalter: since as you said exponential parts have been allowed forever, and that's the same kind of weirdness |
| 19:08 | <shu> | so if we can't disallow all weirdness, it seems worse to me to bless some subset of weirdness and say "okay these weird things are allowed, but new weird things aren't allowed", if we don't expect people to use the feature anyhow |
| 19:08 | <shu> | all other things being equal, that is, like implementation and spec burden |
| 19:08 | <shu> | in this case it seems like they are? |
| 19:09 | <shu> | the flip side is maybe if we allow it it's likely to be implemented wrong? |
| 19:10 | <shu> | like, in the parser when you start parsing a legacy nonoctal you'll pass some flag that says "separators not allowed" which might get accidentally propagated to the part after `.` or `e`, but that's a pretty weak argument |
| 19:10 | <shu> | but given that it's all implemented already... |
| 19:11 | <devsnek> | we also have "*namespace*" |
| 19:12 | <jmdyck> | devsnek: I checked the history: that elseless-if-within-if goes back to a late draft of ES6. It seems like there's never been a reason for it. |
| 19:12 | <leobalter> | shu I created a new slide I'll show during the continuation: https://docs.google.com/presentation/d/1J-oYbstZX2W0LCIVtKG4XbTxWe3cH8JoWNGnoL2F-94/edit#slide=id.g8c6affb1a1_0_50 |
| 19:12 | <devsnek> | ljharb: https://travis-ci.org/github/tc39/ecma262/jobs/710124061 |
| 19:12 | <leobalter> | it's weird that I'm presenting a proposal that my goal is to reject it :) |
| 19:12 | <devsnek> | jmdyck: thx, made pr https://github.com/tc39/ecma262/pull/2105 |
| 19:13 | <rkirsling> | leobalter: :highfive: more or less |
| 19:13 | <rkirsling> | lol |
| 19:14 | <ljharb> | devsnek: that happens when the PR has too many commits, but i deployed a service fix for it an hour ago. rerunning. |
| 19:14 | <devsnek> | i mean its only got 1 commit |
| 19:14 | <rkirsling> | (once I can come up with a rationale for how things are then I feel less strongly about changing them, I suppose) |
| 19:16 | <jmdyck> | devsnek: I made a suggestion on 2105, and gh gives me an option to "Commit suggestion", which I don't think I've seen before. |
| 19:16 | <ljharb> | devsnek: hm, if it fails again i'll reach out to my contact at Begin |
| 19:16 | <devsnek> | jmdyck: if it works go for it |
| 19:16 | <ljharb> | jmdyck: it's supposed to always be there |
| 19:16 | <devsnek> | https://gc.gy/62977581.png |
| 19:16 | <devsnek> | when i try to use it |
| 19:16 | <ljharb> | there's a bug on github; if the suggestion is from someone with write access, you can't accept it |
| 19:17 | <devsnek> | incredible |
| 19:17 | <jmdyck> | Oh, I see it when people make suggs on *my* PRs, but this is my sugg on someone else's PR. |
| 19:17 | <devsnek> | what happens if you click it |
| 19:17 | <jmdyck> | let's see.... |
| 19:17 | <devsnek> | and try to commit it |
| 19:17 | <rkirsling> | that bug has been plaguing us forever 😭 |
| 19:18 | <ljharb> | jmdyck: iirc you have write access on 262, so you *should* have write access on all PR branches too |
| 19:18 | <devsnek> | do i have write access to 262? |
| 19:19 | <jmdyck> | Got the same old "This diff has recently been updated. Refresh and try again." |
| 19:19 | <ljharb> | devsnek: afaik no |
| 19:53 | <ljharb> | devsnek: build issue is fixed, job passed on rerun |
| 19:53 | <devsnek> | 👍🏻 |
| 20:22 | <leobalter> | rkirsling: we've had consensus for this one, right? https://github.com/tc39/test262/issues/2653 |
| 20:23 | <rkirsling> | leobalter: yep! :D |
| 22:55 | <devsnek> | if we have do expressions do we need static constructors |
| 22:58 | <ljharb> | devsnek: yes, for anything in the block that's not setting up a field |
| 22:58 | <ljharb> | like if it wants to put a data property on the prototype, or to defineProperty something |
| 22:59 | <devsnek> | ljharb: why can't you do that in a do expression |
| 23:01 | <ljharb> | because the do expression would still have to be assigned to a class field, and you may not want one? |
| 23:01 | <devsnek> | huh |
| 23:01 | <ljharb> | where else would you put a do expression except in the RHS of a class field |
| 23:02 | <devsnek> | ljharb: const X = do { create class here } |
| 23:02 | <devsnek> | or let X I guess |
| 23:02 | <devsnek> | why are class declarations mutable anyway |
| 23:59 | <ljharb> | devsnek: that wouldn't provide access to private fields outside the class body. |
| 23:59 | <Bakkot> | though private declarations would! |
| 23:59 | <Bakkot> | which we should do anyway |