Miguel,
> Is there an easier way to understand maxima source code?
There are some notes on the Maxima wiki which can help --
http://maxima.sourceforge.net/wiki/index.php/outline%20of%20Maxima%20internalshttp://maxima.sourceforge.net/wiki/index.php/Maxima%20internals
> If i find spare time i would like to contribute to some of this modules.
That would be good, but bear in mind that one can also work with
the Maxima language, which is somewhat less esoteric than Lisp
(but also more limited than Lisp).
> I think that it would be very much productive to have a database, something
> like mathematica or prolog, so the user can contribute with transformation
> rules.
Ideally we will just "dump in" Abramowitz & Stegun and other
standard references.
> I think that coding in lisp with maxima is about 40 % making the rule of a
> compiler: that is you have to (caar) for the operator, (cdr ) for the list of
> arguments, (cond for testing the type of the arguments, ...
Not sure what you mean here. Be that as it may, Maxima has a system
for defining simplification rules (aside from writing Lisp code). See
http://maxima.sourceforge.net/wiki/index.php/User-defined%20simplification
and also try the reference manual (i.e.
? tellsimpafter
at the interactive prompt.)
There are some share packages which make use of simplification rules.
e.g. vect, log10, ezunits.
> Making code more readable would be a very good point.
Well, that's a good reason, but not many people read the code.
More important is to be able to state the simplifications (i.e. identities)
known to Maxima. That would benefit all users.
Thanks for your interest in Maxima, & hope this helps.
Robert Dodier