[Ecls-list] Maxima + ECL

Robert Dodier robert.dodier at gmail.com
Sat Jan 12 21:47:01 UTC 2008


I have been trying to compile Maxima (a computer algebra
program written in Lisp) with ECL. In summary I wasn't able
to compile it but it runs OK in the interpreter (after some
changes to the source code).

Here are some problems I ran into. I mention this for the
record in case someone eventually has time to work on
bug fixes.

(1) ECL apparently strips a leading period from a symbol
name sometimes. E.g. a symbol .n. was apparently read
as n. and then ECL complained that n. is not defined.
Such symbols might cause problems only when they are
macro arguments (at least I wasn't able to verify other
instances). This problem is minor in the sense that I can
work around it with a few changes to the Maxima source code.
The symbols are not instances of the #. macro
(i.e. what appears in the code is just .n. and not #.n.).

(2) ECL apparently sometimes generates incorrect function calls
when the function being called is not yet defined. This
appeared only in compiled code. Most function calls
work correctly but in a few cases it appears the function
to be called is not actually called. This is a serious problem.
Is there some post-compilation reconciliation phase or
something which I can invoke to fix up all function calls?

Because of (2) I gave up on trying to compile, and just
loaded the source code instead. As a result, Maxima runs
mostly or maybe entirely successfully, although of course
it is slower than if it were compiled.

If anyone has some advice about (2) I would be interested
to hear it.

All the best,

Robert Dodier

More information about the ecl-devel mailing list