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