I believe this is what Pascal is trying to demonstrate (correct me if I am wrong):

   0 (1 : '/') \
/\

   0 ((1 : '/') \)
|syntax error
|       0((1 :'/')\)

A sequence of adverb applications when the first application returns an adverb is okay (it produces the adverb train), however, applied as a train of adverbs, which one might expect to behave the same, it is a syntax error.

I think it's confusing because

X (a0 a1)

in this case is not the same as

(X a0) a1

On 03/13/2016 10:32 AM, Raul Miller wrote:
As you point out, this works:
    + - (1 : '`u') `:6
+ -

If we fully parenthesize that expression, it looks like this:
    require 'trace'
    paren '+ - (1 : ''`u'') `:6'
((+ (- (1  : '`u'))) `: 6)

So when you put parenthesis around (1 : '`u') `:6 you break the expression.

And, as an aside, your original expression did not actually need any
parenthesis:
    + - 1 : '`u' `:6
+ -

Thanks,


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

Reply via email to