compiling Maxima 5.29.1 on Allegro Common Lisp, 16X speedup



>>>>> "Richard" == Richard Fateman <fateman at eecs.berkeley.edu> writes:

    Richard> And also I changed the maxima-5.29.1/src/maxima.asd file
    Richard> to exclude numerical module

    Richard> .. line 114
    Richard>   #+ignore
    Richard>      (:module numerical

    Richard> ... because of compiler messages about f2cl-lib:integer4
    Richard> unrecognized, and stalling in compiling j4save.lisp.

Hmm.  Can you say what error you get about f2cl-lib:integer4?  This is
probably some really simple oversight in f2cl-lib.lisp.  j4save.lisp
is pretty simple; it shouldn't cause acl to stall.

I also remember that the the free version of ACL can't compile the
slatec code because there isn't enough heap.

    Richard> The nice thing about this recipe is that it uses just
    Richard> lisp.  No perl, make, config, gcc, m4, awk.  No
    Richard> makefiles, (except for maxima.asd).

Yes, that's nice.  But I can't live without the documentation, so this
doesn't appeal to me. :-)  There is a branch of maxima that uses
cl-ppcre to build the documentation.  This is nice, but I think it was
a little buggy.

    Richard> why did I do this?  I wanted to try out some
    Richard> functionality that runs in Allegro but not in GCL, but
    Richard> may run in SBCL or other "maintained" lisps.  It requires
    Richard> hash tables to allow for something like this....

    Richard> (setq *uniq-table*
    Richard>   (make-hash-table :size 10000 :test #'equal :weak-keys
    Richard>   :tenurable
    Richard> :values nil))

Does this mean you're using a hash table with weak-keys?  I think
clisp, cmucl, and sbcl support hash tables with weak keys values.

Ray