[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-mail] finding source code
From: |
Ralf Hemmecke |
Subject: |
Re: [Axiom-mail] finding source code |
Date: |
Thu, 29 Oct 2009 20:35:07 +0100 |
User-agent: |
Thunderbird 2.0.0.23 (X11/20090817) |
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