Subject: Re: [Jgeneral] Interpreter Bug From: Raul Miller <[email protected]> wrote:
> My reading of these two concepts suggests that x and y are sometimes > prohibited as global names. And, it's easy enough to conduct an > experiment to test this concept: > > 3 :'y=:0' 0 > |domain error > | y =:0 This is not because y is forbidden as a global name. The definition of =: was changed in J 6 to forbid a global assignment to an unlocalized name that have already been defined locally, because such assignments are most frequently the result of typographical errors. So you could assign m n u v or x in the above verb, but not y. Note that you CAN do it if it has a locale: 3 : 'y__=:0' 0 0 y 0 As an amusing side-note, =. will make global assignments to localized names: 3 : 'y__=.42' 0 42 y 42 > Yes, originally, the language used x. y. u. v. m. n. > > However, this caused problems with the syntax for locales. Yes. Now you can say name_y_, but before J 6 you would have needed to say name_y._ which is forbidden by J rhematic rules. -- Mark D. Niemiec <[email protected]> ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
