I have been working (slowly) on getting Waldek's finite state version of
notangle into a literate program, and I think I am making progress.  As
I do so, I would like to raise a question because it may impact how this
should be done.

Looking at the TeX output of the noweb command, it should be possible to
generate this output from Lisp as well and combine both the code
extraction and document generation.  If the scan records some additional
information, and the standard noweb TeX output style is used, this could
reduce the external requirement to only axiom.sty (which I gather
contains the noweb sty file?)

The obvious thing to want to do is generate vanilla TeX or LaTeX and be
able to use a garden variety external LaTeX system to do everything, but
 while page references are (I believe) within the standard package I'm
doubtful the automatic assignment of 2a, 2b, etc. to chunks on a page is
a standard ability - perhaps that's what the sty file defines.  (I
haven't dived into the style file as yet.)  The Lisp system doesn't have
enough information (any, actually) about page numbering to generate
these internally - it must be done as a TeX command (unless someday we
do the typesetting in lisp as well, and I don't think we want to wait
for that.)

My first thought is that a lisp notangle isn't going to be worth the
trouble without the additional noweb ability, since to generate the
documentation we still need noweb and Tim has repeatedly pointed out
document creation is an integral part of literate programming.  Given
that, the thing to do is to proceed to add the ability to generate both
the source file and the TeX file before proposing a literate version of
this for actual inclusion in Axiom.  Would everyone concur?

If so, should the extra step be taken of trying to generate vanilla TeX
or LaTeX that doesn't require an external axiom.sty file?  This might
mean inserting some important definitions into each file to eliminate
the sty file requirement, but I don't know enough yet to say.  Probably
the quickest and simplest thing to do would be to simply generate the
same output noweb does, and continue to require axiom.sty - if that is
OK with everyone I can take a crack at it.

Sorry about the long time it's been taking to get this done - I was sick
this last week and also keeping the finite state tangle straight has
been harder than probably it should be :-/.

Cheers,
CY


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to