[Ecls-list] Maxima + ECL
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
(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,
More information about the ecl-devel