[Top][All Lists]

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

Re: [Axiom-developer] Re: coerce, cast, partial fractions

From: Tim Daly
Subject: Re: [Axiom-developer] Re: coerce, cast, partial fractions
Date: Wed, 15 Oct 2003 12:34:06 -0400

David Mentre writes:
> Tim Daly <address@hidden> writes:
> > The primary use of chunking is to reorder the program source into
> > a document-style of explanation. 
> That's what I wanted to avoid: moving code chunks to fits the
> documentation. In my modest experience, it is better to follow usual
> coding practice for the given language. I may be wrong. Time will tell.

Knuth invented the machinery for literate programming because he felt
that the explanation of code should be arranged for the human needs
not for machine requirements. If you look at the TeX literate sources
you'll find he completely rearranges all of TeX to fit the need to
explain design choices.

I expect the Axiom code to be embedded in research papers (see
dhmatrix.spad.pamphlet) and textbook sources. The code should appear
"at the natural location" for the explanation.

So the whole point of chunking is the ability to move code.

If you don't move the code then all you have are "inline comments"
rather than literate programs. Inline comments are insufficient
to handle mixing research results, which are the primary items of
interest, with reduction to practice (that is, the code) which is
secondary and subject to change.

So far we have almost no research results embedded in the algebra
code so code chunking is only used to implement bootstrapping.
I expect this to change in the future. I have permission to use
several research papers and when I get the world stable I plan
to start with the research papers to re-chunk and rewrite the
algebra. We want the algebra directory to combine the mathematics
with the code. Otherwise no-one will be able to maintain and
extend the system. There is hardly a word of text about the
theory behind the integration code, not a comment about extending
the field of constants, not a hint of practical concerns of
intermediate expression swell, no discussion of missing cases.
The code is "just there". 

Beyond the math research there are computational mathematics issues
that need to be explained. For instance, how are domains created
by the compiler? What optimizations take place, where are they
done, and why? (See my note about SINT yesterday. I'm one of the
few people who know what these optimizations are, where they are,
why they are important, )

Think of Axiom as a huge mathematical library of textbooks
rather than a huge pile of code.


reply via email to

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