I could be that as an experiment, the failure of Axiom as a viable
computer algebra system shows that there is something wrong with the
concepts of strong typing and object-orientation when it comes to the
design of computer algebra systems. After all most mathematics is not
conducted in anywhere near a rigorously typed manner as required by
even the simplest Axiom program.
I think it is clear to everyone that there are two things to achieve
with Axiom
1) write a good an maintainable library
2) call that library (being an ordinary mathematician)
I agree that 1) is hard, but without types that will end up in code
nobody understands. Look at today's Maple and Mathematica languages,
they add type information and check that at runtime. I think the
direction is pretty clear and Aldor is still miles ahead of the big M's.
Point 2) is a hard nut. I agree that if a mathematician (or however
wants to use Axiom) tries to understand his own field with the help of a
CAS doesn't want to be bothered with types. It should be possible to
add them, but initially it might not be very clear to the user. Think of
someone exploring a completely new field where perhaps no algorithm is
known to achieve some task. It is usually impossible to give a type.
However, I don't think it is a hard task to implement ExpressionTrees in
Aldor/SPAD as they exist in other CAS. With that domain everything is
basically typeless. The next task then would be to add properties to
things like "+", "*", "diff", "int", etc. That can be done as in Maple.
The biggest problem is to connect the typeless and the typed worlds.
That I consider as a research project.
Ralf
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer