Skip to content

Commit

Permalink
Editorial: Explicitly note mathematical values (tc39#1135)
Browse files Browse the repository at this point in the history
This patch changes math in the ECMAScript specification to be based on
a concrete division into mathematical values and Numbers. All
numeric values and operations are explicitly either one or the other
with this patch. Previously, math took place in mathematical values,
based on a system of implicit conversions between these values and
Numbers.

Closes tc39/proposal-bigint#10

Additional commits:
 - Markup: fix 2 well-formedness errors
 - "numeric" -> "mathematical"
     You set up the dichotomy between Numbers and mathematicals, surely the f/v distinction is the same dichotomy.
 - in "the number value that is", change "number" -> "Number"
 - delete "the Number value of"
     Elsewhere, you changed "the Number value of the Element Size" to just "the Element Size". Here's a couple you missed.
 - remove space between operator and subscript
 - insert "the mathematical value of" in a few places
 - insert "<sub>v</sub>" in a few places
 - Re-work a step.
     One problem is that
         the Number value of X &times; Y
     is ambiguous -- it could mean:
         (the Number value of X) &times; Y
     or:
         the Number value of (X &times; Y)

     Another problem is that _n_ is mathematical, so in 10<sup>_n_</sup>, 10 should be mathematical too.
     And then, depending on how the above ambiguity resolves, you'd have to either convert that to a Number or change &times; to a mathematical operator.

     It's simpler (I think) to do all the arithmetic in the math realm, and then convert just the result to a Number.

     (I'm assuming that 'plus' and 'times' as *words* are mathematical operators.)
 - fix some typos in the definition of "integer"
 - Editorial: Switch from f and v to F and R
 - Editorial: Specify that general phrases mean Number
 - Editorial: "Number value of" -> "Number value for"
 - Conversion of mathematical values to Number values is already described in "The Number Type", and is denoted by the phrase "the Number value for X".
 - Editorial: insert "the Number value for" in a few spots (no implicit conversions!)
 - Editorial: reword "the number whose value is MV of |NumericLiteral|"
     The phrase:
         "the number whose value is MV of |NumericLiteral|"
     could be interpreted as:
         "the Number value for MV of |NumericLiteral|"
     but this would be incorrect, because "the Number value for" (6.1.6) doesn't completely describe the rounding that is applied to the MV when obtaining the Number represented by |NumericLiteral|.

     Instead, change to:
         "the Number value represented by |NumericLiteral|"
     which leaves MV out of it, and so refers to 11.8.3's whole process for arriving at a Number value.
 - Fixing some NITs on equations
 - Fixing some issues on text and removing redundant subscripts from operations of some equations
  • Loading branch information
littledan authored and ljharb committed Jul 4, 2019
1 parent a95e95a commit 890b103
Showing 1 changed file with 131 additions and 117 deletions.
Loading

0 comments on commit 890b103

Please sign in to comment.