The issue of working around the special status of the names "m", "n", "u",
"v", "x", and "y" seems like a long walk off a short pier and the solution
seems just as simple:

          Don't do that.

They are only six names - many languages have hundreds of reserved words -
and they are pretty crummy names as well.  They're fine in their simple
roles as generic place-holders but I don't understand the desire to use bad
names: either use no names at all or use meaningful ones.  At least pick
names with more than one letter - the time you save when you have to do a
search will be well worth it.

On the related issue of tacit versus explicit, I, too find that long, tacit
expressions are hard to read though I'm slowly improving my ability to do
so.  Compare this simple explicit version of a verb

quoteIfSp=: 3 : 0
   ifsp=. '"'#~' ' e. y
   flnm=. ifsp,(y-.'"'),ifsp
)

(where the final assignment is purely documentary) to its tacit equivalent

(] ([,[,~ '"' -.~ ])~ '"' #~ ' ' e. ])

Perhaps a compromise would be useful:

quoteIfSp=: ] ([,[,~ '"' -.~ ])~ '"' #~ ' '&e.  NB.* quoteIfSp: surround
name with '"'s if embedded spaces (stupid MS!).

In any case, with locales and local assignment, I don't see namespace
clutter as being much of a problem.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to