On 11 Oct 2011, at 00:35, Philippe Verdy wrote:

> 2011/10/7 Hans Aberg <[email protected]>:
>> On 7 Oct 2011, at 22:22, Murray Sargent wrote:
>> 
>>> In the linear format of UTN #28, 1/2/3/4 builds up as ((1/2)/3)/4 as in 
>>> computer languages like C.
>> 
>> OK. I looked through the paper again, and could not find a description of 
>> that.
>> 
>>> The notation actually started with C semantics and then added a larger set 
>>> of operators, and finally adopted the full Unicode set of mathematical 
>>> operators.
>> 
>> In view of the problems of C semantics, as C++ shows, I am actually 
>> reviewing it.
> 
> I've seen various interpretations, but the ASCII solidus is
> unambiguously used with a strong left-to-right associativity, and the
> same occurs in classical mathematics notations (the horizontal bar is
> another notation but even where it is used, it also has the equivalent
> top-to-bottom associatity).
> 
> For me 1/2/3/4 means unambiguously ((1/2)/3)/4, i.e. 1/(2*3*4) when
> working with integer, rational, real or complex numbers with an
> infinite precision. Yes there are some notations of rationals using an
> additive space operator between the integer part and the fractional
> part, but it is not meant for being used in maths formulas, but only
> in common notations (notably in economy for stocks, or gaming, or some
> other pricings), and not in C or C++ or almost all programming
> languages.

This is the normal interpretation in computer languages, though in math, it is 
desirable to disambiguate by some technique (some graphical representation of 
parenthesizes).

But if 1/2/3/4 binds left, then it is not possible to use "/" to tokenize 
rational numbers, as it will parsed as 1/2 / 3/4. So for for rational number 
tokenization, some other character must be used, and ⁄ U+2044 FRACTION SLASH is 
a candidate.

Expressions like a/b/c and a/b/c/d can be disambiguated by making one operator 
different, indicating lower precedence. In math, that would be larger, as the ÷ 
is not really used. So ∕ U+2215 DIVISION SLASH is a candidate, which in fact is 
larger in the STIXGeneral font.

> Anyway, programming languages are another piece of text, it is not
> really plain-text and most Unicode algorithms do not apply to
> programming languages, that have much stricter constraints independant
> of what the TUS could attempt to standardize, plus very strong
> requirements on the preservation of "legacy" notations that are part
> of the lexical and syntaxic definitions of these languages (it is not
> tolerated to have multiple interpretations, even if they would seem
> more "evident" or intuitive by casual readers: you don't program with
> the same freedom in those languages like when you write a humane
> language).

I had no particular standardization in mind here, but just figuring of 
traditional use of the Unicode characters might be.

Hans




Reply via email to