axiom-mail
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-mail] Difference between Axiom/Aldor and the rest of the world


From: Martin Rubey
Subject: [Axiom-mail] Difference between Axiom/Aldor and the rest of the world
Date: 27 Mar 2007 09:19:39 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Dear Bill, Ondrej,

I'd like to make two differences between the extension languages of Maple,
Mathematica, MuPAD on one hand, and Aldor on the other hand very clear.

Aldor has semantics which are very well explained (in great detail, see the
"Aldor Compiler User Guide"), and are reduced to very few important
concepts. Most importantly: Types are first class objects and every object has
a type. This implies, for example, that the result of a function may be a type,
as is the case with the "Fraction" constructor, or the "Polynomial" constructor
in Axiom.

The current implementation of Aldor is quite good at following those
semantics. Really, with Aldor one should distinguish between the implementation
and the language. It is quite clear what is a bug and what is a feature,
although, of course, there are some borderline cases.

In other words, the definition of Aldor does *not* go like "Aldor is the
language implemented by the current Aldor compiler", but rather "Aldor is the
language as described in the Aldor Compiler User Guide", and there is an
implementation that tries hard to follow this guide.

If you look at it this way, you can *really* say that SPAD is version 1 of the
Aldor compiler, although this is not true historically. There are astonishingly
few semantic differences and some syntactic differences, but mostly, SPAD
implements simply a subset of what is described in the Aldor Compiler User
Guide.

I left out Maxima on purpose, since I believe that the "true" Maxima extension
language is Ansi Common Lisp, although the current group of developers thinks
otherwise.

If you can come up with a semantic description of Mathematica's extension
language, please tell Richard Fateman, since he tried but failed. :-)

-------------------------------------------------------------------------------

Concerning simplification, I'd like to add that this is really a
non-concept. The real concept behind it is "normal form" or "canonical form",
or at least, "test for zero".  And in fact, Axiom is very strong in those
domains very you have one of those things.  And that's exactly why I'd like to
have my hierarchy "rational - ... - differentially algebraic functions"
implemented in Axiom, since they all allow test for zero, and an incredible
amount of functions occurring in practice falls into one of these
domains. Although, the example you gave for the limit computation does not, as
far as I can see.



All the best,

Martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]