An extra argument in 4. is that (also) the mathematical expression a^b^c^d
(generally) is interpreted as ^/a,b,c,d
"The convention for iterated exponentiation is to work from the right to the
left." from http://en.wikipedia.org/wiki/Tetration


R.E. Boss


> -----Oorspronkelijk bericht-----
> Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens
> Jack Andrews
> Verzonden: zondag 20 juli 2008 13:00
> Aan: Chat forum
> Onderwerp: Re: [Jchat] right to/of left -- what about left to right?
> 
> On Sat, Jul 19, 2008 at 8:09 AM, Roger Hui <[EMAIL PROTECTED]> wrote:
> >
> http://www.jsoftware.com/jwiki/Doc/Elementary_Functions_An_Algorithmic_Tre
> atment#evaluation_order
> >
> > by Ken Iverson, 1966.
> 
> in the interest of searchability, i copy the points on page 222 here:
> 
> The reasons for a right-to-left instead of a left-to-right convention are:
> 1. The usual mathematical convention of placing a monadic function to
> the left of its argument leads to a right-to-left execution for
> monadic functions; for example, F G x = F (G x)   [0]
> 2. The notation F/ z for reduction (by any dyadic function F) tends to
> require fewer parentheses with a right-to-left convention. For
> example, expressions such as +/ (x * y) [1] or +/ (u/x) tend to occur
> more frequently than (+/ x) * y and (+/ u) / x.
> 3. An expression /evaluated/ from right to left is easiest to /read/
> from left-to-right. For example, the expression
>     a + x * b + x * c + x * d + x * e + x *  f
> (for the efficient evaluation of a polynomial) is read as a plus the
> entire expression following, or as a plus x times the following
> expression, or as a plus x times b plus the following expression, and
> so on
> 4. In the definition
>    F/ x = x1 F x2 F x3 F ... F xn  [0][2]
> the right-to-left convention leads to a more useful definition for
> nonassociative functions F than does the left-to-right convention. For
> example, -/ x denotes the alternating sum of the components of x,
> whereas in a left-to-right convention it would denote the first
> component minus the sum of the remaining components. Thus if d is the
> vector of decimal digits representing the number n, then the value of
> the expression 0 = 9|+/ d determines the divisibility of n by 9; in
> the right to left convention, the similar expression 0 = 11|-/
> determines divisibility by 11.
> 
> [0] the symbol '=' here means congruence (triple horizontal lines in
> the original)
> [1] the symbol '*' here and later means multiplication ('x' in the
> original)
> [2] the 'n' in xn is denoted {rho} x in the original
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to