As a new user I have wasted much time over
the two different evaluation orders to use.

 *  a manual quote:    " Arguments are evaluated from left to right."

  *  and another:    "When multiple functions are cascaded in this 
                     fashion, their results move from right to left."

For experienced users  the 'arguments'  probably  jump right out
from the code of  'cascading functions'  but when words can mean
functions it is easy for a newbie to get lost.

For example when presenting the example:
     ++: func ['word] [set word 1 + get word]

    used in the manual to show the need for 'literal word,
  here would be a good place to MAKE A NOTE  that it means

       ++: func ['word] [set word (1 + get word)]

and not:
     
       ++: func ['word] [set (word 1) + get word]

It's embarrasing now to remember my puzzlement when first
trying to make the later version work as an incrementer.

Don Mayhew


Reply via email to