axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] noweb syntax


From: daly
Subject: [Axiom-developer] noweb syntax
Date: Sat, 14 Jul 2007 13:17:50 -0500

Ralf,

Eh? I thought we HAD already discussed this on the list. We must have
discussed it since I know that Cliff's parser can handle either
syntax. gclweb works for CLtL1 and cl-web will work for ansi. I've
been working slowly on a latex chunk mode for a long time and have
discussed it here several times.



I'm not sure how changing the syntax changes the problem.
There has to be some string that any chunk parser recognizes.
So in place of

   <<this is a chunk>>=
   @

we put

   \begin{chunk}{this is a chunk}
   \end{chunk}

which is a pure syntax substitution. It has not changed the 
semantics of the problem at all. And emacs does have a latex mode.

This completely elides the need to have a weave command
and thus both simplifies and speeds up the build process.




So lets discuss the pros and cons of using latex vs noweb syntax
and make a list of advantages and disadvantages. We can discuss
points relative to the list. Please add additional points so we
can keep the discussion "on track" and rational.

A) NOWEB ADVANTAGES
  1) currently works
  2) easily recognizable syntax
  3) axiom noweb emacs mode recognizes syntax
  4) current build machinery uses noweb
  
B) NOWEB DISADVANTAGES
  1) collides with user syntax, e.g. [[1,2],[3,4]] vs [[escapedstring]]
  2) requires a weave step to get latex
  3) noweb is not as widely known as latex
  4) requires noweb
  5) requires time during build

C) LATEX ADVANTAGES
  1) pure latex files, that is pamphlet == tex
  2) latex users can use it immediately, without learning new syntax
  3) emacs has a latex mode
  4) pure latex is widely known
  5) enables latex commands within \begin{chunk} environments
  6) allows latex tools for chunks (auto-index, auto-table of contents)
  7) saves build time
  8) removes need for noweb

D) LATEX DISADVANTAGES
  1) breaks axiom noweb emacs mode
  2) requires rewrite of sources
  3) breaks ALLPROSE? (I don't know)




Of course, you've invested a lot into building ALLPROSE and have
thought quite a bit about the issues. It is not clear how a syntax
change causes a large impact but I obviously don't understand the
details. Please explain. 

The work involved to adopt latex syntax involves a rewrite of all
of the pamphlet files from <<>> to \begin{chunk} but, since it is
just a syntactic change it could be done automatically. The [[]]
syntax escapes would have to be changed to \verb. The calls to 
notangle need to be changed to calls to (tangle ...). Once that was 
done noweb could be removed from the system. This means that build
times are shorter. It removes the dependence on noweb completely.

Tim




reply via email to

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