array questions



>>>>> "Camm" == Camm Maguire <camm at enhanced.com> writes:

    Camm> Greetings!  In getting maxima working on gcl 2.7.0, I came across the
    Camm> following strangeness:


    MAXIMA> (eq 'array 'lisp::array)
    Camm> NIL

    Camm> (defmacro arraycall (ign array &rest dims) ign
    Camm> 	  `(aref ,array . ,dims))

    Camm> This slows down array referencing enormously, at least when compiled
    Camm> with GCL, and I suspect others too.  What would be the matter with
    Camm> importing 'array into 'maxima, and then

I fail to see how importing cl:array into maxima changes anything.


    Camm> (defmacro arraycall (ign array &rest dims) ign
    Camm> 	  `(aref (the ,ign ,array) . ,dims))

A peek at some of the uses of arraycall shows that it's something like
(arraycall flonum aarray index).  Won't your macro expansion produce
(aref (the flonum aarray) index) which is totally wrong?

Ray