axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Axiom and the scientific commnunauty


From: root
Subject: Re: [Axiom-developer] Axiom and the scientific commnunauty
Date: Tue, 23 Sep 2003 06:55:42 -0400

Daniel,

The hyperdoc section of Axiom is coming. Hyperdoc was written before
browsers existed and thus is lacking some of the more modern features.
In particular it does not support .dvi file formats which appears to
be the likely Axiom documentation format. Active DVI (ADVI) supports
several interesting features including animated gifs (which will allow
the graphics to move in a .dvi file) and inline command prompts (which
will allow the user to type live Axiom commands into a document). It
probably supports hyperlinks also but I haven't checked into it yet.
I have Active DVI in my local source tree but have not yet got it
integrated properly.

Pamphlet files are intended as the primary document format. They are
little more than TeX files with a few additional tags, namely:

A code chunk definition for "any string" looks like:
<<any string>>=
... define code here ...
@

A code chunk reference to the "any string" definition looks like:
<<any string>>

The "default" code definition block is:
<<*>>
... default block ...
@

You can extract the documentation from a pamphlet file by typing:
noweave foo.pamphlet >foo.tex

You can extract the code from a pamphlet file by typing:
notangle foo.pamphlet >foo.lang

You can extract a particular code chunk from a pamphlet file by typing:
notangle -R"any string" foo.pamphlet >foo.lang

And you have an inline quoting mechanism to skip TeX format
[[ $foo\crufty!filename.nonsense ]]

(The literate programming package we use is by Norman Ramsey called noweb
with changes by me).

Everything else is TeX. Which produces .dvi files. Which needs 
hyperlinks. Which needs a .dvi browser. Which is coming.

Virtually every source file (including Makefiles) is now a pamphlet.
Look at src/algebra/dhmatrix.spad.pamphlet which is a first attempt
at documenting the algebra. All of these documents are based on the
primary research papers. The algebra documentation will eventually
show up where the DeveloperNotes.dvi file lives.

The Makefile.pamphlet files are where the most documentation exists
so far. We've been documenting the build process as we write it so
other people can understand and modify it.

Now we're trying to bring the book back to life. We've added one
chapter by Martin Dunstan for programmers and I'm writing a second 
new chapter with a tutorial on how to use the compiler.

VM/CMS! Wow, a blast from the past. I started at IBM working as a
VM systems programmer. Gerry Bozman and I wrote the free storage
mechanism that VM uses. VM was a beautiful operating system. The
complete definition of its behavior was contained in the hardware
reference manual which made it really easy to understand exactly
what it should do.

If you understand an area of math try finding the research papers
that support the Axiom algorithms. Hunt down the authors and get
permission to use their research paper. Rewrite it into the pamphlet
files that use the results and upload it to the CVS. You learn. The
research lives. Axiom get documented. We all benefit.

Or find a recent paper that contains research that Axiom needs. 
There is some beautiful work on symbolic summation that Axiom needs.
Not only would this be new documentation but also new algebra.
Carstan Schneider and Burkhard Zimmerman at RISC-LINZ appear to
have done very interesting work in this area.

Tim




reply via email to

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