josh@klaatu.rutgers.edu (J Storrs Hall) (09/26/90)
As far as I can tell (still without manual), J lacks what would in Lisp be called "destructive operations". I.e. you can't do the equivalent of APL's A[B]<--C . You can do a=.c b}a but the difference is that you haven't changed (part of) the contents of an object but have created a new object and reassigned a name. Assuming my guess is right, that should make for a notably easier job for an optimizer trying to do structure-sharing; it makes one suspect a compiler of some kind is planned. (On the other hand, the rest of J seems designed to be as hard as possible to compile!) Anyone know anything definite? --JoSH