Re: finding source code

Ralf Hemmecke <[email protected]> Thu, 29 Oct 2009 20:35:07 +0100
Newsgroups gmane.comp.mathematics.axiom.user
Message-ID <[email protected]>
> I have been looking for an open source computer algebra system for some time 
> although I did not try any, I came across Axiom in lists of such systems but I 
> did not try it because (for some reason) I was put off when it said that it 
> was based on LISP.

Well, I guess, but now you have realised that axiom has a lot of languages.
http://axiom-wiki.newsynthesis.org/AxiomProgramming

SPAD being the language of choice for new library development. The input 
language that you type at the axiom prompt is close to spad, but add 
some convenient type coercions that are unwanted in library programming.

Anyway, SPAD is statically typed which means that every type must be 
known at compile time. There is no need for runtime type checking 
anymore. SPAD has been designed and developed with the goal to program 
mathematics. Although developed 30 years ago it has features that are 
much better done (compare java generics with parametric domains and 
categories in SPAD).

> As you can see the program seems to work except the draw function which seems 
> to fail with:
> 
>>> System error:
> Unknown bfd format

I guess Tim Daly will help you with that one. Graphics is not one of my 
strengths.

> So, that's my experience so far, apart from these small problems it looks like 
> a very useful program.

Axiom used to be one of the 3 big Computer Algebra Systems. 
Unfortunately, Axiom has a very steep learning curve. All these types 
that are actually quite useful get in the way when one wants to do 
things quickly. However, these types enable Axiom to construct type 
hierarchies that neither Maple nor Mathematica can construct today in a 
natural way.

And I would also like to draw your attention to the Axiom-Wiki. You can 
actually edit and add pages. Yes, you can! There, you even can enter 
actual Axiom code (inside \begin{axiom} ... \end{axiom}) and have it 
evaluated when you save the page. Try it out. Maybe you should first 
start with a page that has "SandBox" at the beginning of its page name.

Ralf