2026-05-01 [08:26:46.0647] what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion_r3172092825 highlights some gaps, specifically about how to compare an [extended] mathematical value or bigint against multiple options (*which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more*). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a constant or collection of options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `=` or `≠` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `is` or `is not` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:34:21.0535] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > - when comparing an alias against a constant or collection of options, the alias should be on the left > - when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > - `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > - `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > - `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > - when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > - an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:34:36.0254] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > - when comparing an alias against a constant or collection of options, the alias should be on the left > - when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > - `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > - `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > - `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > - when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > - an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:35:01.0652] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a constant or collection of options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:36:34.0971] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a single value or collection of options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:36:50.0237] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a single value or collection of options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:37:36.0781] what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a single value or collection of options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:38:01.0756] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a single value or collection of options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:38:49.0352] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a single value or multiple options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ or _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:40:20.0239] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a single value or multiple options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either`/`neither` for a pair of options (`_x_ is neither _option1_ nor _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [08:41:17.0250] * what is the process for changing [Editorial Conventions](https://github.com/tc39/ecma262/wiki/Editorial-Conventions)? https://github.com/tc39/ecma262/pull/3832#discussion\_r3172092825 highlights some gaps, specifically about how to compare an \[extended\] mathematical value or bigint against multiple options (_which I think should be `If _x_ = $a or _x_ = $b` when there are two options, and presumably `If _x_ = $a or _x_ = $b or _x_ = …` when there are more_). So I think I'd like the first few bullets of that section to look like > * when comparing an alias against a single value or multiple options, the alias should be on the left > * when comparing an alias for equality or inequality against a single value, the preferred form depends upon the type of that value: > * `_x_ = …` or `_x_ ≠ …` for an extended mathematical value or bigint > * `SameValue(_x_, …)` for an object, non-well-known symbol, or arbitrary language value > * `_x_ is …` or `_x_ is not …` for anything else (boolean, number, string, well-known symbol, null, undefined, spec enum, etc.) > * when comparing an alias for equality or inequality against multiple options, preserve explicit pairwise `=`/`≠`/`SameValue` (`_x_ = _option1_ or _x_ = _option2_ or _x_ = …`) but consolidate `is`/`is not` using `either…or`/`neither…nor` for a pair of options (`_x_ is neither _option1_ nor _option2_`) and `one of` for more than that (`_x_ is not of of _option1_, _option2_, or _option3_`) > * an alias can also be compared against a number, bigint, or extended mathematical value using `<`, `≤`, `>`, or `≥` we should talk about migrating Editorial Conventions into the spec repository itself, but in the meantime I'd just like to clarify the above guidance but don't want to impose excessive churn by just unilaterally editing the GitHub wiki page [09:01:58.0148] we usually just get agreement in an editor call and then make the change [09:03:21.0975] then I guess I should open an issue on the repository so there's something to reference and comment on, right? [09:30:04.0515] What do you mean by "arbitrary language value"? [09:50:34.0823] good question. It's any ECMAScript language value that could possibly be an object or non-well-known symbol. More formally, this convention seems to call for use of `SameValue` whenever the intersection of the set of all possible ECMAScript language values for that operand and the set of all ECMAScript language values compared by identity contains at least one value that is not a well-known symbol (_and as an aside, I'd love to remove the well-known symbol exception, which isn't even used in the spec AFAICT—in which case the resulting guidance would be something like "`SameValue(_x_, …)` for an ECMAScript language value with specification identity or an alias that might be such a value during evaluation"_) [12:08:57.0529] Talking about "the set of all values for that operand" is a step in a good direction. The first 4 rules under 'Comparisons' assume that we're comparing two values of the same type. But when we're choosing what comparator to write, we don't (in general) have values, we have 'expressions' (in the meta-language), each of which might represent values of several types. 2026-05-02 [20:25:54.0739] did y'all come to an agreement about the standards for ready-to-merge? e.g. is two reviews on minor editorial tweaks sufficient? re https://github.com/tc39/ecma262/pull/3842 [22:27:45.0399] I’ll land whatever’s labeled tomorrow, fwiw