Re: Difference between Axiom/Aldor and the rest of the world
"Ondrej Certik" <[email protected]>
| Newsgroups | gmane.comp.mathematics.axiom.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Martin and Bill, I understand your point. You realized you need a well defined (general) language, and Aldor is it's implementation. This is much better than Maple/Mathematica, I agree. I am just addressing the technological point of view - you have a nice language, tuned to the purpose of the CAS. This is certainly one way to go. There is certainly another way to go however, and that is the way I took - don't reinvent some language, just take already working language with a specification and a working (open source) implementation. And a large userbase. I think those are quite philosophical questions and it's not clear which approach is better. So you just need to make some decision, and I did one (with good arguments), you did another (with good arguments). Ondrej On 27 Mar 2007 09:19:39 +0200, Martin Rubey <[email protected]> wrote: > 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 > >