Page 1 of 1

[2.1] Make arithmetic combinators more readable for non-programmers.

Posted: Mon Aug 17, 2026 12:08 pm
by everything-narrative
TL;DR
Change the display names of the operators in the arithmetic combinator to align with the commonly used mathematical notation, rather than the conventions used in programming languages.

See also: [2.1] Explanatory tooltips for operations in arithmetic combinators.
What?
Replace the symbols as follows:
  • × instead of *
  • ÷ instead of /
  • “rem” instead of %
  • – instead of -
  • “aᵇ” instead of ^
  • “L-shift” instead of <<
  • “R-shift” instead of >>
Why?
In lieu of the decided combinator having the proper unicode characters for its comparisons (≠ ≤ ≥) clearly the UI has full unicode support, and the arithmetic combinator deserves some typographical love.

The symbols currently used in the arithmetic combinator are taken from programming languages. This is very understandable for a game made by programmers; speaking for myself, I sometimes forget that 99% of the population does not program computers.

Problem is: the operators of programming languages use symbols that are chosen from the ASCII symbol set. ASCII was made for text and typography first and foremost; therefore the operators of programming languages are composed of typographical symbols, not mathematical symbols.

There are accepted symbols used in mathematical formulas that almost everyone learns in school, which should be used instead. They are all available as unicode characters that have glyphs in most fonts.

Alos, the percent sign % has no business place being the remainder-of-division operator in general.
Too Short; More Detail Please
Here's a full list of proposed subsitutions and reasonings behind them:
  • Multiplication operator
    Replace
    * U+00A2 ASTERISK
    with
    × U+00D7 MULTIPLICATION SIGN

    Rationale:
    In typography the asterisk is most often used to indicate a footnote (when numeric footnotes are not used), along with the dagger † and double dagger ‡. The cross symbol for multiplication is taught in many countries, and used in mathematical formulas when juxtaposition notation is not feasible.
  • Division operator
    Replace
    / U+002F SOLIDUS
    with
    ÷ U+00F7 DIVISION SIGN

    Rationale:
    The solidus typographical mark is used to denote alternation of possible readings of text. In contexts where rendering a fraction is not possible, the division sign is used which kinda looks like a fraction.

    The use of the solidus in programming languages is probably to simulate vulgar fractions, ½ ¼ ¾ and so on.
  • Subraction operationr
    Replace
    - U+002D HYPHEN-MINUS
    with
    U+2212 MINUS SIGN

    Rationale:
    The hyphen is used in hyphenated words and for hyphenation in text breaking. It is part of a whole family of typographical marks, dashes, which includes the en dash –, em dash — and more.

    This is more of an aesthetic choice, but the proper minus sign has the same width of the plus sign + and sits at the same height as the horizontal bar. Observe plus and minus sign:
    + −
    versus plus and hyphen:
    + -
    verus hyphen and dashes:
    - – —
  • Modulo operator
    Replace
    % U+0025 PERCENT SIGN
    with
    “rem”

    Rationale:
    The percent sign % means percent and percentages, and has a companion in the permille sign ‰. Its choice as denoting the remainder operator in programming is pretty much arbitrary, except for the fact that it includes a slanted line, giving it a nebulous visual connection to the solidus / which is used as division.

    Meanwhile, the word “remainder” is literally what it is called when taught in school, before fractions and decimals are introduced; shortened to “rem” is quite straightforward.
  • Power/exponential operator
    Replace
    ^ U+005E CIRCUMFLEX ACCENT (‘caret’)
    with
    aᵇ U+0061 LATIN SMALL LETTER A; U+1D47 MODIFIER SMALL LETTER B

    Rationale:
    The ^ character is rarely used in typography but has a number of meanings. The technical term, caret, is a typographical mark used by editors to denote the desired insertion of text between words The unicode name refers to the circumflex accent as it is placed above words such as in the traditional spelling of melee: mêlée.

    In mathematics, the operation of raising to a power is denoted by superscript, and this is how it is taught in school. Since the operator dropdown is free text, this can be used to simply display a superscript.

    Alternative:
    U+2191 UPWARDS ARROW
    This is sometimes used to suggest the superscript notation in contexts where superscripts are unavailable, sometimes attributed to Donald Knuth.
  • Bit shift operators
    Replace
    << 2 × U+003C LESS-THAN SIGN and >> 2 × U+003E GREATER-THAN SIGN
    with
    “L-shift” and “R-shift”

    Rationale:
    Here we get into the weeds of bit-wise operators, which are almost exclusively used in the world of computing. However, given that the boolean conjunction (AND), disjunction (OR), and symmetric difference (XOR) are already written as words, it seems strange that these are given by their programming symbols.

    Additionally in a mathematical context the ≪ and ≫ symbols mean “much less than” and “much greater than”, prespectively.
Localization
With the introduction of “rem”, “L-shift”, and “R-shift”, it begins to become necessary to localize the symbols as well.

Division with remainder is for instance called »division med rest« in Danish, and so would shorten to »div. m. rest« or similar (due to language conventions in Danish) and “L/R-shift” would be »V/H-forskydning«.

Additionally, some countries use symbols other than × and ÷, such as in Germany and Denmark, the middle dot ⋅ and colon ∶ are used for multiplication and remainder, respectively, so these could again be localized.

This would of course take some research to get right.

Note: the ⋅ and ∶ symbols above are actually U+22C5 DOT OPERATOR and U+2236 RATIO, rather than · and : which are U+00B7 MIDDLE DOT and U+003A COLON