>One of my first, and most powerful, J epiphanies was that  f@:g~  is
>actually  (f@:g)~  and not  f@:(g~)  ... but that _it didn't matter_.  Can
>you think of a case where  f@:g~ -: f@:(g~)  doesn't hold?


That is a good observation (It seems to be equivalent even for the dyadic 
case).  Yet, this makes Martin's point even more relevant because a beginner 
might imply mistakenly a parsing rule and get confused afterwards, for 
example, by the behavior of f&g~



________________________________
From: Dan Bron <j...@bron.us>
To: Programming forum <programming@jsoftware.com>
Sent: Sun, November 22, 2009 12:13:51 PM
Subject: Re: [Jprogramming] On a curious property of 3435

Oleg wrote:
>      isMunchausen=: = +/ @: ^~ @: digits

Martin replied
>  This spacing suggests that ^~ is a sub-phrase
>  of the expression -- which is not true.

One of my first, and most powerful, J epiphanies was that  f@:g~  is
actually  (f@:g)~  and not  f@:(g~)  ... but that _it didn't matter_.  Can
you think of a case where  f@:g~ -: f@:(g~)  doesn't hold?

When I had this realization, years ago, I remember thinking "I'm beginning
to get this stuff..."

Oleg wrote:
>  Note also, no space is expected before =: 
>  unless aligned vertically in a group of lines.

I disagree here (and believe this expectation is very prevalent).  I prefer
space between the name and the copula, so that the name stands out. 
Assingment is a side effect, and I want my side effects obvious.

Often, I'll align all the global (and sometimes even the local) copulae in
an entire script, just so it's obvious at a glance what names are
assigned.  But that's a (long) extension of "aligned vertically in a
group".

-Dan
----------------------------------------------------------------------
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