[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Learning Axiom (Literate programming, LaTeX etc)
From: |
Martin Rubey |
Subject: |
Re: [Axiom-developer] Learning Axiom (Literate programming, LaTeX etc) |
Date: |
17 May 2007 10:22:41 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
"Bill Page" <address@hidden> writes:
> Some of the internal design of MuPad was influenced directly by Axiom,
> specifically it's concept of domains (types) and categories.
"influenced" should be replaced by "copied".
> > This impression is not lessened by reading that Axiom aims to be the "best"
> > CAS in terms of its algorithms and implementation. This seems to imply
> > that plonkers like me, who are happy if a program just works, should keep
> > away from trying to write code in Axiom.
Definitively *not*! Everybody with some math knowledge can contribute to
axiom. And writing code in Axiom occurs in several layers:
Tutorials
HyperDoc has the concept of "examples" for a group of packages or domains.
Unfortunately, this is not done currently for all of them. You can get a
list of domains for which Tutorials exist by clicking on Examples and then
Domains in HyperDoc. You can get a list of all domains by clicking on Browse
and then Domains. (without typing anything into the field).
Examples per operation should be added to the docstrings of the individual
operations.
Currently only a tiny subset of LaTeX works, but as I have shown on
SandBoxHyperDocReplacement, prospects are very good for having a HyperDoc
replacement soon.
Documentation
most of Axioms code is only very lightly documented, if at all. It could be
very useful, if well done, if you would start with catdef.spad.pamphlet and
attreg.spad.pamphlet. Only general mathematical knowledge is needed here,
but I'm sure (in fact, I know) that you would discover some bugs and
inconsistencies.
Design of categories
note that the concept of Category in Axiom has very little to do with
mathematical category theory, rather, it is similar to a class in object
oriented paradigm.
To play this game, it is helpful to have a broad understanding of some
mathematical domain. My favorite project is to design (or in fact, write
down) some categories capturing the hierarchies of solutions of recurrences
and differential equations. Another one would be the world of factoring,
some number theory knowledge is needed here. Yet another one, very pressing
in fact, is to think about which categories support definite summation and
products.
Implementation of domains and packages
Code in the usual sense. See the WishList for what's missing. I do not know
enough about your interests to give advice here.
> There also doesn't seem to be a repository of programs developed by other
> users, a "share" directory, if you like, both for seeing examples of Axiom
> programs, and also to see what's also been developed.
Take the union of Gabriel dos Reis' and Bill Page's answers:
the "share" directory is src/algebra
and the stuff in AxiomContributions some day might be integrated into
src/algebra. For example, my guessing package moved already.
Martin