Compiling local arrays



Hello all!

      I have just uploaded a bug on the erroneous maxima-to-lisp
translator when dealing with local arrays.

	   Basically, if you define in a text file "text.mac"

trial(a):= block([myvar, i],
 local(myvar),
 myvar : make_array('ANY,8),
 for i : 1 thru 7 do myvar[i] : [],
 myvar)$

and compile, you get the following:

GCL (GNU Common Lisp)  Version(2.4.0) Sat Jul 14 20:26:43 GMT 2001
Licensed under GNU Library General Public License
Contains Enhancements by W. Schelter
Maxima 5.6 Sat Jul 14 20:26:37 GMT 2001 (with enhancements by W. Schelter).
Licensed under the GNU Public License (see file COPYING)

(C1) compile_file("text.mac")$

(C2) load("text.o")$

(C3) trial(3);


Error: MLOCAL is invalid as a function.
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by MACSYMA-TOP-LEVEL.
Broken at MACSYMA-TOP-LEVEL.  Type :H for Help.
MAXIMA>>

------------------------

As compiling arrays improves performance by a factor of even 100 (as
my experience has shown),
I guess the lisp experts might be interested in fixing it, which
is why I am writing this message.

My idea is that the problem lies in lines 1050-1060 of the
file 

src/transl.lisp

(where MLOCAL's are inserted in the lisp code), but I cannot
even imagine my trying to fix this.

Thanks!

	Pedro.



-- 
Pedro Fortuny Ayuso ------------->          www.maths.qmul.ac.uk/~pf
School of Mathematical Sciences.    Queen Mary College, Univ. London
Mile End Road, London E1 4NS, UK    ------>           www.qmul.ac.uk
P.Fortuny@maths.qmul.ac.uk                  Tfn. Nr. 44 20 7882 5493