David Vincent-Jones wrote:
> There are cleaver ways to avoid the problem .. but remember that x and y are
> probably the most common of all mathematical variable names that are now
> being boxed into a special significance.
> 
> The names x., y. et all were special and looked special; fine but
> eliminating any part of the a through Z series as regular nouns I believe to
> be unfortunate.

Your messages suggest that you misunderstand the change. Certainly your
comments that "x and y cannot be assigned and are no longer regular
nouns" are incorrect. So at my risk of belaboring the point, the changes
made in J6 are:

1. A noun cannot be assigned both locally and globally in the same
definition.

2. y is assigned locally as the right argument (as well as y.), and same
for x etc.

These mean that your definition of test fails:

test=:3 : 0
x=:3+4
y=:1+2
ax's
)

But this definition works:

test=:3 : 0
x=.3+4
y=.1+2
ax's
)

So the effect of the change on verb test is that the global assignment
to y will not work.

I don't think this change is so bad - how often do you really want to
define a global named "y"? This is unlikely in production code. I have
typically made such assignments only when debugging definitions. I agree
there is now an inconvenience in not being able to do so, but I regard
this as minor.

If you look at the scripts, you will notice that x, y etc are still
assigned in definitions, e.g. search the scripts for:  'x y w h'=.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to