I'm reading some of the debate surrounding literate programming
in the devel logs...
One of the primary reasons mentioned for not doing LP, indeed
for not writing any prose at all, is that there is no academic benefit.
Having worked at 3 Universities and chased a PhD at another I can
fully understand that line of reasoning. However, Axiom isn't being
developed as a stepstone for academics. Research is important
and will continue to play a role. But for Axiom to live there has to
be a way to teach it.
The target audience for Axiom is teaching. That implies that there
should be proper explanations for WHY we call certain functions
(e.g. the resultant for common subexpressions) so the student
or future developers have a clue.
The current crop of developers are experts in the field and see
no need to explain why they choose to call resultant. Indeed, the
attitude extends upward to all their code which, as the developer
they fully understand, so that they see no need to explain any
facet of their work. The focus is on "the bigger picture" they are
trying to solve (and, likely, a "publish" for academic credit).
Of COURSE everyone understands regular chains, right?
If not, go read Kalkbrener's PhD thesis. ... as if anyone ever
read a PhD thesis as part of a class assignment. Everyone
understands Hensel lifting or field extensions or branch cuts.
If not, go read the code (ha).
So there is a fundamental divide that won't ever be crossed.
That divide has long term implications.
If what you care about is tenure, money, promotions, and a
career then a CAS algorithm is just a tool, not a goal. Once