[Gcl-devel] Re: [Maxima] Requesting input on some possible low-level changes



Greetings! The "CL" version is just a PCL wrapper around the "SI"
version, which is indeed functional and non-trivial.  We might clean
that up as in cmucl, I think.

In any case, our define-compiler-macro appears to be lacking in at
least one respect, namely it doesn't skip over 'funcall as required by
the spec.  I.e. (funcall #'foo ...) is not expanded.  I have a fix to
this which seems to be working.  What I'd like to know, however, is if
'apply, 'map, and any other functions taking a function descriptor as
an argument is also supposed to be expanded.  This ties into the
'dotimes enhancement' discussion Paul and I were having a while ago.
I'd like to include a default compiler macro for aref a i j ... ->
aref a (the fixnum i) (the fixnum j) ....  Can I only expect this
optimization to take place with either an (aref or (funcall #'aref
form?

Take care,

Wolfgang Jenkner <wjenkner@inode.at> writes:

> "Vadim V. Zhytnikov" <vvzhy@mail.ru> writes:
> 
> > define-compiler-macro [is] still missing in ANSI GCL.
> 
> It has actually two distinct symbols of that name (the more the
> merrier :-)
> 
> >(lisp-implementation-version)
> "GCL-2-5.2000000000000002"
> 
> >(find-symbol "DEFINE-COMPILER-MACRO" "CL")
> DEFINE-COMPILER-MACRO
> :EXTERNAL
> 
> >(find-symbol "DEFINE-COMPILER-MACRO" "SI")
> SYSTEM:DEFINE-COMPILER-MACRO
> :EXTERNAL
> 
> >(eq * **)
> NIL
> 
> In any case I think that SI:DEFINE-COMPILER-MACRO is usable (I
> actually used it in src/defopt.lisp), though I don't know if it has a
> non-trivial implementation.
> 
> Wolfgang
> 
> 
> 
> _______________________________________________
> Gcl-devel mailing list
> Gcl-devel@gnu.org
> http://mail.gnu.org/mailman/listinfo/gcl-devel
> 
> 
> 

-- 
Camm Maguire			     			camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah