13:16 | <leobalter> | ECMA-262 + ECMA-402 2020 Editions approved. |
13:17 | <leobalter> | <sarcasm>(Now you can start using the new features.</sarcasm> |
21:16 | <rkirsling> | spec-editing question |
21:17 | <rkirsling> | if B.1.1 has a NonOctalDigit production and I want to use it in B.1.2 too, should I just duplicate it? is there going to be a problem with reusing that name? |
21:19 | <rkirsling> | (oh wait I might not need it, I think I can just inline the 8 and 9 since multi-digit numbers aren't allowed) |
21:40 | <Bakkot> | It would be fine to just use it, I think; that production does not have different variants in the main spec vs annex B so there's no chance of ambiguity |
21:40 | <Bakkot> | sidebar: I do want to get back to the "upstream annex b" project someday |
21:40 | <Bakkot> | someday... |
21:43 | <rkirsling> | oh they're essentially globals? |
21:43 | <rkirsling> | yeah Claude suggested merging B.1.2 in while I'm at it but that's a much larger change |
21:43 | <rkirsling> | another q: |
21:44 | <rkirsling> | can this line be deleted? |
21:44 | <rkirsling> | > The SV of EscapeSequence::LegacyOctalEscapeSequence is the SV of LegacyOctalEscapeSequence. |
21:44 | <rkirsling> | the main spec seems to assume such things without stating them |
21:45 | <rkirsling> | i.e. there is no "The SV of EscapeSequence :: CharacterEscapeSequence", there's just "The SV of CharacterEscapeSequence :: ..." |
21:46 | <Bakkot> | yeah, see https://tc39.es/ecma262/#sec-algorithm-conventions-syntax-directed-operations |
21:46 | <Bakkot> | Unless explicitly specified otherwise, all chain productions have an implicit definition for every operation that might be applied to that production's left-hand side nonterminal. The implicit definition simply reapplies the same operation with the same parameters, if any, to the chain production's sole right-hand side nonterminal and then returns the result. |
21:48 | <rkirsling> | nice, thanks! |
22:05 | <rkirsling> | oh shit |
22:05 | <rkirsling> | does this affect B.1.4 too given that LegacyOctalEscapeSequence is used there too? |
22:06 | <rkirsling> | it does... |
22:07 | <Bakkot> | b.1.4 already has IdentityEscape, which allows \8 and \9 (meaning 8 and 9) in regexp literals |
22:07 | <rkirsling> | ohh |
22:07 | <Bakkot> | so I don't think it really matters |
22:08 | <rkirsling> | SourceCharacterbut not one of c (or k) |
22:08 | <rkirsling> | yeah okay cool |
22:08 | <rkirsling> | almost missed that somehow |
22:44 | <rkirsling> | ugh why won't these productions link |
22:59 | <rkirsling> | I swear this used to work |