[armedbear-devel] progress on Maxima + ABCL -- light at the end of the tunnel!

Robert Dodier robert_dodier at yahoo.com
Mon Jul 27 04:41:05 UTC 2009


I've compiled Maxima (from CVS) with ABCL (from svn)
and run_testsuite() shows just a few errors due to
different floating point results. Hurray!

The key change to Maxima seems to have been changing
EQ to EQUAL in a pattern-matching function ... 
In ABCL it appears that numbers are not necessarily EQ
so a lot of patterns failed. Since the pattern-matching
stuff is widely used in Maxima (especially integrals)
there were a lot of failed tests. Just that one change
seems to have fixed dozens of test failures!

I found it necessary to run the autoconf machinery
(sh bootstrap && ./configure at least; I ran make as
well, although I don't know if that's actually necessary,
and then I ran configure.lisp as described in INSTALL.lisp)
before compiling with ABCL via:
(require 'asdf) (asdf:operate 'asdf:load-op :maxima)
Without the autoconf stuff, src/autoconf-variables.lisp
has incorrect values, it seems.

Maxima + ABCL is extremely slow -- something like 7 times
slower than Maxima + Clisp, which is the slowest of the
established Lisp implementations I've tried (GCL, ECL,
SBCL, CMUCL, and Clisp). I'm working on Linux, maybe it
helps to run on Windows -- I'm thinking the Java
implementation might be faster. Just a guess.

I'm pretty excited about the possibilities here.
A long-term project is to organize Maxima into modules
in hopes of making it possible to load different modules
a la carte -- I think that might make it attractive for
bolting it onto different projects.

Thanks to the ABCL developers for all their work.


Robert Dodier
Maxima developer


More information about the armedbear-devel mailing list