axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] noweb "bug" (was: article "standard" header/footer)


From: Page, Bill
Subject: [Axiom-developer] noweb "bug" (was: article "standard" header/footer)
Date: Tue, 13 Dec 2005 17:46:35 -0500

On Tuesday, December 13, 2005 11:10 AM Tim Daly (root) wrote:

> Ralf Hemmecke wrote:
> > Well, in my opinion it would be better to tell people that 
> > axiom needs at least version x.y of noweb and provide
> > workarounds for bugs of noweb if Norman Ramsey does not
> > like to include them into his distribution. I would rather
> > say that we should take noweb as a tool and leave further 
> > development of that to other people. We should rather 
> > concentrate on something that is more mathematical, like
> > algebra. Would somebody disagree here?
>

I agree with Ralf. We should *not* be including noweb source
modified or otherwise in the Axiom distribution.

Similarly we should not be including gcl source in the Axiom
distribution. Camm has provided the patches necessary to build
Axiom from a previously installed gcl.

Yes, we should simply "tell people that axiom needs at least
version x.y of noweb" and version 2.6.x of gcl. These are
prerequisites. Download and install them first - then install
Axiom. If you are using apt-get on Debian or yum on Fedora,
etc. then these prerequisites are automatically installed for
you.
 
> disagree? is there something to disagree about? we use noweb.

No we do not use noweb! You modified a version of noweb and
included in the Axiom source distribution - that is called a
fork. That is something very different than using noweb. I
have a feeling that doing this rather ticked of Norman at an
early stage. Pity.

> it has a bug. we fix the bug and use the fixed version until
> the bug gets fixed in the distributed version.

Unless we really do want to fork noweb, that is the **wrong**
approach. Doing this implies to the developer that we do
not care what he thinks.

> the bug has been reported, the fix has been coded and
> submitted. the fix was rejected because it modified the C
> code (a language i speak) rather than using awk/sed/shell
> (languages i don't speak). so it's a static situation and
> has been for 3 years.

As I recall Norman did not actually agree that it was a bug
and originally said that we should just add escapes to the
affected source code. The preferred to modify noweb's behavior
is to write a custom awk script. About the C source
modifications he wrote:

> Absolutely *don't* do this.

See:

http://lists.nongnu.org/archive/html/axiom-developer/2002-11/msg00059.ht
ml

In fact, he even wrote the required awk script for us:

axiom-noweb:
------------

#!/bin/sh

awk '
/@use /  { uses [substr($0, 6)] = 1 }
/@defn / { defns[substr($0, 7)] = 1 }
{ print }
END {
  for (i in uses)
    if (!defns[i])
      printf "@begin address@hidden address@hidden@text <<%s>>address@hidden 
code\n", i,
i
}'

exit 0

# test with

sed '1,/test with/d' $0 | notangle -filter $0

<<*>>=
return x << 2 >> 2;
@

--------

All we have to do is include this script with the Axiom
distribution and call it as a filter as he shows.

% notangle -filter axiom-noweb

Really, this script is not so hard to understand is it? The
documentation for noweb filters is here:

http://www.literateprogramming.com/noweb_hacker.pdf

> the standard version fails, the patched version works. use
> the patched version.
>

I would very much prefer to use the unmodified version of
noweb with the awk script as suggested by Norman.

> if we get lucky your version of the fix will get accepted
> and we can stop using our local patch.
> 
> have you sent a bug report and your fix to Norman?
> is there a later version with your fix?
> 

You are calling it a bug and Norman thinks of it only as a
specific customization of noweb's behavior. There is no
need for a "fix".

Regards,
Bill Page.




reply via email to

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