I opt for ignore it. To stack a deep copy is inefficient, but it is possible a clever way to do it will be discovered someday.
Just my 2 cents Пн, 20 июн 2016, Henry Rich написал(а): > The issue: > > ipm =: 3 : 0 > > ip =: 2 (0}) ip > > ) > > ip =: i. 3 > > (ipm '') ] ip > > 2 1 2 > > > As you see, ip was modified by call to ipm, which did an in-place > assignment. This violates the rules, which say that the value of ip should > have been stacked. In fact, a pointer to the value is stacked. > > > This requires a decision. I think we need a committee of J Language Experts > to decide how to resolve issues like this, and future enhancements. > > > The choices as I see them are: > > 1 - Fix to conform to the Dictionary. Possible; would slow things down a > little; would make some assignments currently done in-place perform a copy. > > > 2 - Ignore it. Leave as is. > > > 3 - Embrace it - declare that in-place assignments to global variables may > affect previously-stacked references to the same name. [With local > variables the problem does not arise] > > Now we need a Language Committee, and a decision. > > > Henry > > > > > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm