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