Archive-Date: Mon, 07 Dec 1992 22:47:42 CST
Date: Mon, 7 Dec 92 13:01:11 CST
From: grodecki@quivira.informix.com (Don Grodecki)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212071901.AA13923@quivira.lenexa.pd>
To: LitProg@SHSU.edu
Subject: c++web
CC: grodecki@quivira.informix.com, bradl@quivira.informix.com

(Reply to grodecki@informix.com)
I am just learning a bit about web, and I would like to know if anyone
knows about a version for C++ ?  Also, rather than using TeX I think that
we would prefer to write in FrameMaker, and then extract a file for
processing by tangle.  I am pretty good at extracting such things from
FrameMaker MIF files.  If anyone has done anything like this please let
me know.  Thanks!!
================================================================================
Archive-Date: Tue, 08 Dec 1992 00:20:40 CST
Date: Tue, 8 Dec 1992 00:19:13 -0600
From: Cameron Smith <cameron@symcom.math.uiuc.edu>
Reply-To: LitProg@SHSU.edu
Message-ID: <199212080619.AA25785@spica.math.uiuc.edu>
To: LitProg@SHSU.edu
Subject: Re:  c++web

> I am just learning a bit about web, and I would like to know if anyone
> knows about a version for C++ ?  [...]

Hans-Hermann Bode some time ago made available his patches for CWEB
to support C++.  Levy and Knuth are presently working on incorporating
those patches, and some other new features, into a new version of
CWEB, which is now being beta-tested.  I expect that in not too many
weeks a new official release will be available that supports C++ and
ANSI C.

--Cameron Smith
  cameron@symcom.math.uiuc.edu
================================================================================
Archive-Date: Tue, 08 Dec 1992 03:11:13 CST
Message-ID: <9212080800.AA09317@math.berkeley.edu>
To: grodecki@quivira.informix.com
Subject: Re: c++web
CC: LitProg@shsu.edu, levy@math.berkeley.edu
Date: Tue, 08 Dec 92 00:00:16 -0800
From: Silvio Levy <levy@math.berkeley.edu>
Reply-To: LitProg@SHSU.edu



Hans-Hermann Bode wrote modifications to Cweb that allow it to cope
with C++ syntax, and I have incorporated these changes, with his
permission, onto a beta version of Cweb.  When Knuth returns to the US
later this month we plan to make that the official version.  But if
you would like to test it out, I can send it to you.

Silvio
================================================================================
Archive-Date: Tue, 08 Dec 1992 06:08:40 CST
Date: Tue, 8 Dec 92 13:10:43 +0100
From: Marcus Speh <marcus@ips102.desy.de>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
Subject: C++ WEB is available [Re: c++web]

[This is taken from the FWEB FAQ file, 10/92. It can be obtained
 by including SENDME FAQ.FWEB in a mail to FILESERV@SHSU.edu ]
...

[9] Which WEB shall I use for C++ ?
===================================

   In the opinion of many people, FWEB is the best CWEB available. It
also supports C, C++, F90, Ratfor, Ratfor-90, and writing TeX macros
wherein (f)tangle produces `.sty' files.

...

Marcus
================================================================================
Archive-Date: Tue, 08 Dec 1992 09:03:22 CST
Date: Tue, 8 Dec 92 08:30:28 CST
From: infmx!quivira!grodecki@uunet.UU.NET (Don Grodecki)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212081430.AA20604@quivira.lenexa.pd>
To: uunet!SHSU.edu!LitProg@uunet.UU.NET
Subject: Re:  c++web
CC: quivira!bradl@uunet.UU.NET

Thanks for the note.  Levy actually responded to me and he may be sending
me a copy of his beta.

> From uunet!SHSU.edu!LP-Mgr Tue Dec  8 03:53:14 1992
> X-Listname: Literate Programming Discussion List <LitProg@SHSU.edu>
> Date: Tue, 8 Dec 1992 00:19:13 -0600
> From: Cameron Smith <uunet!symcom.math.uiuc.edu!cameron>
> Reply-To: uunet!SHSU.edu!LitProg
> To: LitProg@SHSU.edu
> Subject: Re:  c++web
>
> > I am just learning a bit about web, and I would like to know if anyone
> > knows about a version for C++ ?  [...]
>
> Hans-Hermann Bode some time ago made available his patches for CWEB
> to support C++.  Levy and Knuth are presently working on incorporating
> those patches, and some other new features, into a new version of
> CWEB, which is now being beta-tested.  I expect that in not too many
> weeks a new official release will be available that supports C++ and
> ANSI C.
>
> --Cameron Smith
>   cameron@symcom.math.uiuc.edu
>
================================================================================
Archive-Date: Tue, 08 Dec 1992 10:27:31 CST
Date: Tue, 8 Dec 92 09:23:16 MST
From: gilligan@central.bldrdoc.gov (Jonathan M. Gilligan)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212081623.AA09170@central.bldrdoc.gov>
To: grodeck@informix.com
CC: LitProg@SHSU.edu, bradl@quivira.informix.com
Subject: Re: c++web

   (Reply to grodecki@informix.com)
   I am just learning a bit about web, and I would like to know if anyone
   knows about a version for C++ ?  Also, rather than using TeX I think that
   we would prefer to write in FrameMaker, and then extract a file for
   processing by tangle.  I am pretty good at extracting such things from
   FrameMaker MIF files.  If anyone has done anything like this please let
   me know.  Thanks!!

FWEB and Hans Hermann Bode's CWEB-P support C++. CWEB-P is quite
imperfect: for example, the weave parser handles the trailing const in
a construction like

   int operator+ (int arg) const

incorrectly and tangle also handles some ansi constructs, like the letter
`U' or `u' after a constant to indicate that it's unsigned
(e.g. @d UNSIGNED_CONST 10240U), improperly---it inserts a space in the
tangled output, and thus confusing the c compiler.

However, it's a good start and one can try to improve the tokenizer
and parser to handle these defects.

I haven't used FWEB much, but it gets good comments from those who do.

Sorry that I don't know anything about Framemaker.

---Jon
================================================================================
Archive-Date: Tue, 08 Dec 1992 11:37:37 CST
Date: Tue, 8 Dec 92 11:35:54 CST
From: bart@cs.tamu.edu (Bart Childs)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212081735.AA01475@neuron.cs.tamu.edu>
To: LitProg@shsu.edu
Subject: An extract from comp.text.tex

Newsgroups: comp.text.tex
Subject: Lecture of Donal E. Knuth
Message-ID: <1992Dec7.161857.20099@wisipc.weizmann.ac.il>
From: dov@menora.weizmann.ac.il (Dov Grobgeld)
Date: Mon, 7 Dec 1992 16:18:57 GMT
Sender: news@wisipc.weizmann.ac.il
Organization: Weizmann Institute of Science, Computation Center.
X-Newsreader: Tin 1.1 PL4
Lines: 40

We have had the pleasure the last week of having Donal E. Knuth as
a guest lecturer here at the Weizmann Institute of Science.

He said somethings about TeX that might interest a general audience:

Version of TeX:

The current version of TeX is 3.141. Every year in February DEK takes
a period of two years to go over his E-mail on TeX (preprocessed by
his secretary) and carries out changes if there are any. If a new
version will need to be created in February it will get the version
number 3.1415. Here is a quote what DEK said about the TeX versions
"You might see a pattern in these version numbers. The day I die
I want someone to go into TeX and change the version to $\pi$, and
then it shall not change any more."

After the lecture today I went up and asked him about the philosophy
of TeX. Did he anticipate that people would actually write complicated
programs in TeX? His answer was that he thought there would be much
more use of the TeX web files. That any more complicated programming
would take place on the web level, through change files. The bulk
of a TeX file should be the text itself. He didn't even want to make
it easy to program.

IMHO: Perhaps it is time to make a super-TeX program. First of all
it should give a standard dvi files as output. But it should have a
complete programming language as its engine, instead of the
crippled language that TeX is. I'm imagining a program with an
escape mechanism for switching between text mode and programming
mode. And the language should be as powerful as perl, python, or
icon.

--
                                                        ___   ___
                                                      /  o  \   o \
Dov Grobgeld                                         ( o  o  ) o   |
The Weizmann Institute of Science, Israel             \  o  /o  o /
"Where the tree of wisdom carries oranges"              | |   | |
                                                       _| |_ _| |_


================================================================================
Archive-Date: Tue, 08 Dec 1992 19:42:40 CST
Date: Tue, 08 Dec 92 23:45:22 GMT
Message-ID: <6745@apusapus.demon.co.uk>
From: tfj@apusapus.demon.co.uk (Trevor Jenkins)
Reply-To: LitProg@SHSU.edu
To: LitProg@shsu.edu
Subject: Can't unzip CWEB ZIP file :-(

I just grabbed the ZIP file for CWEB v2.7 off of the fileserver but my
(MS-DOS) version of ZIP baulks at every file. Each one is marked with
"Unknown" as the storage mode.

I knew getting my hands on a literate programming tool was too good to be
true! Seriously, is the ZIP broken or is my zipper undone? :-)

Regards, Trevor.

---------------------------------------------------------------------------
Trevor Jenkins                                                Re: "deemed!"
134 Frankland Rd, Croxley Green, Rickmansworth, WD3 3AU, England
email: tfj@apusapus.demon.co.uk                               radio: G6AJG
phone: +44 (0)923 776436
================================================================================
Archive-Date: Wed, 09 Dec 1992 00:08:30 CST
Date: Wed, 9 Dec 1992 00:07:26 -0600
From: Cameron Smith <cameron@symcom.math.uiuc.edu>
Reply-To: LitProg@SHSU.edu
Message-ID: <199212090607.AA26904@spica.math.uiuc.edu>
To: LitProg@SHSU.edu
Subject: Re:  Can't unzip CWEB ZIP file :-(

> I just grabbed the ZIP file for CWEB v2.7 off of the fileserver but my
> (MS-DOS) version of ZIP baulks at every file. [...]

CWEB v2.8 was released last October, so probably the best thing for
you to do is to grab that directly from the source (labrea.stanford.edu,
36.8.0.47).  That should tide you over until next month, when CWEB v2.9++
(featuring support for C++ and ANSI C) is released (as Silvio Levy indicated
in a previous note).  I believe that v2.8 came out during the unfortunate
interval when a combination of George's illness and hardware problems
with the server prevented updating the archives, and it probably got
overlooked.

If you're totally new to CWEB, then in addition to the example programs
that are stored with the CWEB sources, you might also want to look at
a sample program I put together, the latest version of which *is* available
at the SHSU archive.  It illustrates several things: the use of a Makefile
with CWEB, breaking up a literate C program into multiple source files
(or "compilation units"), a tricky hack for merging separate listings
of the parts into a single listing with combined index and table of
contents, the use of ANSI function prototypes, and a few other tricks.
I wrote it when I was learning CWEB, to have a clean, simple example
to base other programs on, and I thought it might be useful to other
CWEB newcomers for the same purpose.  It is based on the (very basic)
RPN calculator example program from chapter 4 of the second edition
of the Kernighan and Ritchie C book.  I picked that example because
nearly every C programmer has that book, and I think that reading the
CWEB version in parallel with the K&R version is a good way to start
figuring out how CWEB works.

Please excuse the plug.

--Cameron Smith
  cameron@symcom.math.uiuc.edu
================================================================================
Archive-Date: Wed, 09 Dec 1992 05:49:19 CST
Date: Wed, 09 Dec 92 12:46:00 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu
Subject: Re: c++web
To: litprog@SHSU.edu
CC: gilligan@central.bldrdoc.gov, levy@math.berkeley.edu

<gilligan@central.bldrdoc.gov> pointed out:

>... tangle also handles some ansi constructs, like the letter
>`U' or `u' after a constant to indicate that it's unsigned
>(e.g. @d UNSIGNED_CONST 10240U), improperly---it inserts a space in the
>tangled output, and thus confusing the c compiler.

This can be fixed by applying the change

@x
  found: if (*loc=='l' || *loc=='L') loc++;
@y
  found: while (*loc=='l' || *loc=='L' || *loc=='u' || *loc=='U') loc++;
@z

to ctangle.w, Version 2.7, 2.8, or 2.9++ (beta). The line is located near
the end of the section <Get a constant>. This change should be associated by
a similar one to cweave.w (same versions, same location):

@x
  if (*loc=='l' || *loc=='L') {*id_loc++='$'; loc++;}
@y
  while (*loc=='l' || *loc=='L' || *loc=='u' || *loc=='U')
    {*id_loc++=*loc; loc++;}
@z

or something like that.

Jon stated further:

>... CWEB-P is quite
>imperfect: for example, the weave parser handles the trailing const in
>a construction like
>
>   int operator+ (int arg) const
>
>incorrectly ...

It sounds as you have detected more problems like this. If so, please tell,
because it's more efficient to fix a whole group of productions than to
repair single ones separately.

Hans-Hermann Bode
Arbeitsgruppe Systemforschung, Universit\"at Osnabr\"uck
Artilleriestr. 34, D-W-4500 Osnabr\"uck
Tel.: (49)-541-9692545
e-mail: HHBODE@DOSUNI1.BITNET, hhbode@dosuni1.rz.uni-osnabrueck.de
================================================================================
Archive-Date: Wed, 09 Dec 1992 08:52:00 CST
Date: Wed, 9 Dec 1992 08:48:26 -0600
From: thompson@qmsbs2.er.usgs.GOV (David Thompson)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212091448.AA04714@qmsbs2>
To: LitProg@shsu.edu
Subject: Re: Can't unzip CWEB ZIP file :-(

You need to pick up a copy of unzip from niord.shsu.edu (or another archive
nearby).  I've found that there is another compression mode available to
some (non-msdos) versions of a compression utility called "zip" (not pkzip)
incompatible with your familiar utility.

Good luck!

-=d (thompson@qmsbs2.er.usgs.gov)
================================================================================
Archive-Date: Wed, 09 Dec 1992 08:58:56 CST
Date: Wed, 09 Dec 92 08:36:08 CST
From: "Daniel H. Luecking" <DL24794@UAFSYSB.UARK.EDU>
Reply-To: LitProg@SHSU.edu
Subject: How did tangle and weave get there names
To: LitProg <litprog@shsu.edu>

   I know very little about web (actually not terribly much about programming
in general). I follow this list because of an overdeveloped curiosity gland.

   Now I'm curious why "tangle" and "weave" were given those names. I DO
realize that Knuth likes to play with words and the connection with the word
"web" is unmistakeable, but why choose "tangle" for the process that produces
the program source and "weave" for the process that produces the TeX file for
documentation? (Rather than, say, the other way around.) I have something of
a bad memory for names and I need hooks to hang them on. Presently I reason:
Tangle and TeX both start with "T" so naturally they are NOT associated, thus
weave produces the TeX file. I'd prefer a less perverse hook.

Dan Luecking

P.S. No flames, please, if I've got the names the wrong way round.
================================================================================
Archive-Date: Wed, 09 Dec 1992 09:06:54 CST
Date: Wed, 09 Dec 92 08:56:14 CST
From: "Daniel H. Luecking" <DL24794@UAFSYSB.UARK.EDU>
Reply-To: LitProg@SHSU.edu
Subject: Re: Can't unzip CWEB ZIP file :-(
To: LitProg <LitProg@SHSU.edu>

On Tue, 08 Dec 92 23:45:22 GMT Trevor Jenkins said:
>I just grabbed the ZIP file for CWEB v2.7 off of the fileserver but my
>(MS-DOS) version of ZIP baulks at every file. Each one is marked with
>"Unknown" as the storage mode.
>
>I knew getting my hands on a literate programming tool was too good to be
>true! Seriously, is the ZIP broken or is my zipper undone? :-)
>
>Regards, Trevor.
>email: tfj@apusapus.demon.co.uk
>
If you are using PKzip, you may just need to upgrade. Latest version is 2.0
but I don't think it is shareware any longer.

Dan Luecking
================================================================================
Archive-Date: Wed, 09 Dec 1992 09:58:45 CST
Message-ID: <9212091556.AA13242@bach.cs.wright.edu>
To: LitProg@shsu.edu
Subject: Re: How did tangle and weave get there names
Date: Wed, 09 Dec 92 10:56:01 -0500
From: cfarnum@valhalla.cs.wright.edu
Reply-To: LitProg@SHSU.edu

tangle produces ugly, tangled up Pascal code.  (tangle intentionally
   produces code that is difficult to read.)
weave produces a tex file that eventually produces a beautiful,
   tapestry-like document.

  /charlie
================================================================================
Archive-Date: Wed, 09 Dec 1992 10:04:16 CST
Date: Wed, 9 Dec 92 16:48:57 +0100
From: Marcus Speh <marcus@ips102.desy.de>
Reply-To: LitProg@SHSU.edu
To: Literate Programmers <litprog@shsu.edu>
Subject: Wanted: Routine posting
CC: "George D. Greenwade" <bed_gdg@shsu.edu>, John Krommes <krommes@lyman.pppl.gov>

It seems LitProg has now got more than 300 subscribers --
maybe it is time for another of George Greenwade's
"Routine Postings", mentioning the existence of a FAQ
for FWEB and informing about the state of FAQ affairs?

There are quite some FAQ already, concerning CWEB, C++
etc. - I wonder whether nobody else has volunteered;
if that is the case, I might enlarge the FWEB FAQ by
some really frequent FAQ's, such as those concerning
Cameron Smith's K&R-sample for CWEB etc. Since I plan
to update the FWEB FAQ by end of the year [i.e. now ;-],
I would very much appreciate receiving pieces and bits
from knowledgeable people to "web" them into the FAQ.
  Alternatively [preferred], if you have already decided
that you want to contribute, have an anonymous look at
niord.shsu.edu, the file [FILESERV.FAQ]FAQ.WRITING and
contact me if you want a Texinfo template.

Again, any kind of feedback regarding the present
form of the FAQ list is appreciated. Thanks to those
of you who have already responded.

"a certain" Marcus.

===================================================================
  Marcus Speh                      INTERnet <marcus@ips102.desy.de>
  II. Institut f. Theor. Physik    BITnet   <I02MSP@DHHDESY3>
  Luruper Chaussee 149             DECnet   <13313::SPEH>
  2000 Hamburg 50/Germany   Tel.(040)8998-2260  FAX:(040)8998-2267
================================================================================
Archive-Date: Wed, 09 Dec 1992 10:33:23 CST
Date: 9 Dec 1992 11:15:28 -0500
From: "Timothy Larkin" <Timothy_Larkin@qmrelay.mail.cornell.edu>
Reply-To: LitProg@SHSU.edu
Subject: Re: How did tangle and weave
To: LitProg@SHSU.edu

        Reply to:   RE>How did tangle and weave get their names
From the WEB user manual:

The TANGLE program is so named because it takes a given web and moves the
modules from their web structure into the order required by Pascal; the
advantage of programming in WEB is that the algorithms can be expressed in
"untangled" form, with each module explained separately. The WEAVE program is
so named because it takes a given web and intertwines the TeX and Pascal
portions contained in each module, then it knits the whole fabric into a
structured document. (Get it? Wow.) Perhaps there is some deep connection here
with the fact that the German word for "weave" is "web", and the corresponding
Latin impaerative is "texe"!


================================================================================
Archive-Date: Wed, 09 Dec 1992 10:35:14 CST
Date: Wed, 9 Dec 92 17:35:20 +0100
From: Marcus Speh <marcus@ips102.desy.de>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
Subject: Re: How did tangle and weave get there names

> Now I'm curious why "tangle" and "weave" were given those names. I DO
> realize that Knuth likes to play with words and the connection
>  with the word "web" is unmistakeable, ...

is it really? -- In his "FWEB User's Manual" [M-2.6], John Krommes
is quoting DEK himself:

" The name WEB itself was chosen in honor of [Knuth's] wife's mother,
  Wilda Ernestine Bates."

> ...but why choose "tangle" for the process that produces
> the program source and "weave" for the process that produces the
> TeX file for documentation?

because...

" The TANGLE program is so named
   because it takes a given web and moves the
   modules from their web structure into the order required by the
   compilers...
  The WEAVE program is so named
   because it takes a given web and intertwines the TeX and code
   portions contained in each module, then it knits the whole fabric
   into a structured document...
   Perhaps there is some deep connection here with the fact that the
   German word for 'weave' is 'web', and the corresponding Latin
   imperative is 'texe'! "


Hope that provides a "less perverse hook' ;-)
--Marcus
================================================================================
Archive-Date: Wed, 09 Dec 1992 10:54:43 CST
From: jfieber@sophia.smith.edu (John Fieber)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212091653.AA18478@sophia.smith.edu>
Subject: Re: How did tangle and weave get there names
To: LitProg@shsu.edu
Date: Wed, 9 Dec 92 11:53:34 EST

> tangle produces ugly, tangled up Pascal code.

If that isn't the understatement of the week...


Actually, the various web systems that have evolved since the
first pascal web tend not to "tangle" the code so the name may not
be so appropriate any more.  I'm sure it will remain for historical
reasons though.

> weave produces a tex file that eventually produces a beautiful,
>    tapestry-like document.

tangle produces a source file that eventually produces a
beautiful functioning program.  (in theory, practice may differ)

-john

=== jfieber@sophia.smith.edu ================================================
======================================= Come up and be a kite!  --K. Bush ===
================================================================================
Archive-Date: Wed, 09 Dec 1992 11:40:37 CST
Date: Wed, 09 Dec 1992 11:39:27 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
CC: tfj@apusapus.demon.co.uk, cameron@symcom.math.uiuc.edu, thompson@qmsbs2.er.usgs.gov, DL24794@UAFSYSB.UARK.EDU
Message-ID: <00964D3F.0C279F00.3254@SHSU.edu>
Subject: RE: Can't unzip CWEB ZIP file :-(

A quick collection of comments on the topic:

First, on Tue, 08 Dec 92 23:45:22 GMT, Trevor Jenkins
<tfj@apusapus.demon.co.uk> posted:
> I just grabbed the ZIP file for CWEB v2.7 off of the fileserver but my
> (MS-DOS) version of ZIP baulks at every file. Each one is marked with
> "Unknown" as the storage mode.
>
> I knew getting my hands on a literate programming tool was too good to be
> true! Seriously, is the ZIP broken or is my zipper undone? :-)

Which was followed by David Thompson's <thompson@qmsbs2.er.usgs.GOV>:
> You need to pick up a copy of unzip from niord.shsu.edu (or another archive
> nearby).  I've found that there is another compression mode available to
> some (non-msdos) versions of a compression utility called "zip" (not pkzip)
> incompatible with your familiar utility.

As noted above, for ZIPping purposes, I use the platform-independent
(UN)ZIP suite from Info-ZIP (ZIP 5.0 and UNZIP 1.9, through patchlevel 1). 
I recommend either including:
 SENDME ZIP_PC_COMPILED
or
 SENDME ZIP_MAC_COMPILED
in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu)
for the precompiled executable for MS-DOS and Macintosh (respectively); or
using anonymous ftp to Niord.SHSU.edu (192.92.115.8) and getting the files
UNZIP50.EXE and ZIP19P1X.ZIP in [FILESERV.ZIP_PC_COMPILED] (MS-DOS) or
ZIP_UZIP.HQX in [FILESERV.ZIP_MAC_COMPILED].

This was followed by Daniel H. Luecking <DL24794@UAFSYSB.UARK.EDU>:
> If you are using PKzip, you may just need to upgrade. Latest version is 2.0
> but I don't think it is shareware any longer.

In another package of economic data I uploaded on Monday (hey, I'm an
economist, after all!), there was PKUNZIP2.EXE.  Curiously, this doesn't
appear at many sites (it's probably at ftp.tex.ac.uk, but...).  This is
indeed Phil Katz's new version and it can handle files created by ZIP 5.0. 
I have moved this into [FILESERV.ZIP_PC_COMPILED] for retrieval, if you are
interested.  I will note that, following a few experiments, it appears to
be somewhat superior to UNZIP 1.9 in that it is capable of using the -d
switch found in PKUNZIP (to define target paths), which is not presently
supported in UNZIP 1.9.  It continues to be shareware (ZIP and UNZIP are
pd), and the license price has increased, as has the extra contribution for
more extended information and support.  If there is interest, I will make
PKUNZIP2 available from FILESERV somehow.

In the interim, Cameron Smith <cameron@symcom.math.uiuc.edu> noted:
> CWEB v2.8 was released last October, so probably the best thing for you to
> do is to grab that directly from the source (labrea.stanford.edu,
> 36.8.0.47).  That should tide you over until next month, when CWEB v2.9++
> (featuring support for C++ and ANSI C) is released (as Silvio Levy
> indicated in a previous note).  I believe that v2.8 came out during the
> unfortunate interval when a combination of George's illness and hardware
> problems with the server prevented updating the archives, and it probably
> got overlooked.

Yes, I was unaware of this (sorry).  I have retrieved the new file set; the
description is provided following my signature.  Please notify me when the
new files are out and I will move them here as soon as feasible.  Anyway,
the new files are now here and I am attaching the description file below. 
No one has really complained about the format I am now tending toward --
to UUENCODE a ZIP archive (yes, you need UNZIP 5.0/PKUNZIP 2.0).  This is a
*real* time and disk space saver at our end, so I am going to continue with
this unless someone has an objection.  These will probably be VVENCODEd
once the VV*CODE suite is formally announced (yes, in addition to forcing
you to a superior archiving software, I am going to force you to a superior
encoding software 8-)).

Regards,   George
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
George D. Greenwade, Ph.D.                            Bitnet:  BED_GDG@SHSU
Department of Economics and Business Analysis         THEnet: SHSU::BED_GDG
College of Business Administration                    Voice: (409) 294-1266
P. O. Box 2118                                        FAX:   (409) 294-3612
Sam Houston State University              Internet:        bed_gdg@SHSU.edu
Huntsville, TX 77341                      bed_gdg%SHSU.decnet@relay.the.net
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                                   CWEB
                                   ----
The CWEB package includes a UUENCODEd ZIP archive of the source and example
files for Silvio Levy's C language adaptation of Donald Knuth's WEB,
originally written in Pascal. This package includes version 2.8, dated
October, 1992.  Knuth's original Pascal programs have been entirely
rewritten in C; many changes were made to take advantage of features
offered by C but non-existent in Pascal.

CWEB is essentially a simplified subset of WEB. CWEB does not need WEB's
features for macro definition and string handling, because C and its
preprocessor already take care of macros and strings. Similarly, the WEB
conventions of denoting octal and hexadecimal constants by @'77 and @"3f
are replaced by C's conventions \v077\v and \v0x3f\v, respectively. All
other features of WEB have been retained, and a few new features have been
added.

To retrieve the set of 7 files in the UUENCODEd ZIP distribution of CWEB,
include:
 SENDME CWEB
in the text of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu).
The ZIP file, CWEB-2_8.ZIP is available for anonymous ftp retrieval from
Niord.SHSU.edu (192.92.115.8) in the [FILESERV.CWEB] directory.  The
individual files within their original directory structure reside in the
tree rooted at [FILESERV.CWEB.2_8].

Files in this package: (1 Block = 512 bytes)
File                          Blocks  Save file as: CWEB-2_8.UUE
-------------------------------------------------------------------------------
CWEB.UUE_1OF7                         UUDECODEs to CWEB-2_8.ZIP
 through
CWEB.UUE_6OF7                     77 (each)
CWEB.UUE_7OF7                     44

Approximate total blocks in full CWEB package = 506
***************************************************************************
Files in CWEB-2_8.ZIP
[cweb-2_8.zip] comment:
CWEB, version 2.8 (October 1992)
Copyright (C) 1987,1990,1992 Silvio Levy and Donald E. Knuth
Original authoritative sources at:
 anonymous@labrea.stanford.edu:/pub/cweb/*

 Length  Method   Size  Ratio   Date    Time    Name ("^" ==> case
 ------  ------   ----  -----   ----    ----    ----   conversion)
      0  Stored       0   0%  12-09-92  07:51   cweb/
    737  Deflate    390  47%  10-03-92  20:49   cweb/common-man.ch
   2486  Deflate   1129  55%  04-06-92  00:00   cweb/common-vms.ch
  19348  Deflate   5566  71%  10-03-92  19:20   cweb/common.c
   7926  Deflate   2766  65%  10-01-92  06:20   cweb/common.h
  47801  Deflate  15431  68%  10-03-92  19:19   cweb/common.w
    738  Deflate    392  47%  10-03-92  20:51   cweb/ctangle-man.ch
   1074  Deflate    527  51%  10-02-92  06:35   cweb/ctangle-vms.ch
  24510  Deflate   6779  72%  10-03-92  19:49   cweb/ctangle.c
  46433  Deflate  14817  68%  10-03-92  17:31   cweb/ctangle.w
    737  Deflate    389  47%  10-03-92  20:51   cweb/cweave-man.ch
   1060  Deflate    534  50%  10-02-92  06:36   cweb/cweave-vms.ch
 141574  Deflate  42748  70%  10-02-92  01:17   cweb/cweave.w
   3366  Deflate   1584  53%  06-15-92  23:57   cweb/cweb.1
   8899  Deflate   3227  64%  07-13-92  06:52   cweb/cweb.el
  12419  Deflate   4827  61%  10-03-92  19:46   cweb/cwebmac.tex
  67665  Deflate  23337  66%  10-03-92  18:10   cweb/cwebman.tex
      0  Stored       0   0%  12-09-92  07:44   cweb/examples/
  12125  Deflate   4634  62%  07-08-92  06:54   cweb/examples/extex.w
  10289  Deflate   3183  69%  07-13-92  22:15   cweb/examples/kspell.el
   8027  Deflate   2092  74%  08-07-92  15:34   cweb/examples/oemacs.el
  38418  Deflate  14642  62%  10-03-92  18:05   cweb/examples/oemacs.w
   6830  Deflate   2889  58%  07-08-92  18:38   cweb/examples/treeprint.w
   8516  Deflate   3715  56%  10-22-91  00:00   cweb/examples/wc.w
  22289  Deflate   7735  65%  07-08-92  19:04   cweb/examples/wmerge.w
  20856  Deflate   7753  63%  07-07-92  21:22   cweb/examples/wordtest.w
   1929  Deflate    642  67%  08-22-92  05:42   cweb/examples/xlib_types.w
   5882  Deflate   1435  76%  08-22-92  05:42   cweb/examples/xview_types.w
   2946  Deflate   1458  51%  10-03-92  18:16   cweb/examples/README
    962  Deflate    424  56%  10-03-92  18:25   cweb/examples/Makefile
   8346  Deflate   2665  68%  07-08-92  20:26   cweb/prod.w
   2673  Deflate   1197  55%  10-03-92  19:07   cweb/README
   4328  Deflate   1699  61%  10-03-92  12:31   cweb/Makefile
   2016  Deflate    498  75%  12-09-92  07:39   cweb/ls-lr.labrea
 ------          ------  ---                    -------
 543205          181104  67%                    34     
================================================================================
Archive-Date: Wed, 09 Dec 1992 11:50:04 CST
From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9212091748.AA16036@hp5.iti.informatik.th-darmstadt.de>
Subject: Re: How did tangle and weave get there names
To: LitProg@SHSU.edu
Date: Wed, 9 Dec 92 18:48:43 MEZ

Dan Luecking wrote:
>
>    Now I'm curious why "tangle" and "weave" were given those names.

Ha! Folklore -- I love folklore. My 0.02 DM are coming...

> I DO
> realize that Knuth likes to play with words and the connection with the word
> "web" is unmistakeable,

Really? Y'a know what WEB means? To quote from webman.tex:

    The name WEB itself was chosen in honor of my wife's mother,
    Wilda Ernestine Bates.

> but why choose "tangle" for the process that produces
> the program source and "weave" for the process that produces the TeX file for
> documentation?

Hmm, let's quote DEK again:

    The TANGLE program is so named because it takes a given web and moves
    the modules from their web structure into the order required by
    PASCAL; the advantage of programming in WEB is that the algorithms
    can be expressed in ``untangled'' form, with each module explained
    separately.  The WEAVE program is so named because it takes a given
    web and intertwines the TeX and PASCAL portions contained in each
    module, then it knits the whole fabric into a structured document.
    (Get it? Wow.)  Perhaps there is some deep connection here with the
    fact that the German word for ``weave'' is ``web'', and the
    corresponding Latin imperative is ``texe''!

[Actually, the German word for ``weave'' is not ``web,'' it's ``weben.'']


And now, why do I mail this? Easy answer: To show my new signature. :-) :-)

--
Joachim

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany

	    @d infinity=255 {$\infty$ (approximately)}
							[DEK, in weave.web]


PS: There are more quotes from DEK about the name:

    I chose the name WEB partly because it was one of the few
    three-letter words of English that hadn't already been applied to
    computers. But as time went on, I've become extremely pleased with
    the name, because I think that a complex piece of software is,
    indeed, best regarded as a web that has been delicately pieced
    together from simple materials. We understand a complicated system by
    understanding its simple parts, and by understanding the simple
    relations between those parts and their immediate neighbors. If we
    express a program as a web of ideas, we can emphasize its structural
    properties in a natural and satisfying way.
						[DEK, Literate Programming]
================================================================================
Archive-Date: Wed, 09 Dec 1992 12:31:35 CST
Message-ID: <9212091829.AA13221@neuron.cs.tamu.edu>
Date: Wed, 9 Dec 92 12:25:41 -0600
From: bart@cs.tamu.edu
Reply-To: LitProg@SHSU.edu
To: litprog@shsu.edu
Subject: Names, names, names


A quote from the original paper about Literate Programming
(which is reprinted in the book, Literate Programming.)
  ``I chose the name \WEB\ partly because it was one of
    the few three-letter words of English that hadn't
    already been applied to computers. But as time went on,
    I've become extremely pleased with the name, because
    I~think that a complex piece of software is, indeed,
    best regarded as a {\it web\/} that has been delicately
    pieced together from simple materials.
    We understand a complicated system by understanding its
    simple parts, and by understanding the simple relations
    between those parts and their immediate neighbors.
    If we express a program as a web of ideas, we can emphasize
    its structural properties in a natural and satisfying way.''

Please don't consider this a flame (Dan Luecking's note) but
the actual names are not all that important.

I know that Don wrote somewhere that WEB is/was the initials
of his Mother-in-Law's maiden name, Wilda Ernestine Bates.
INMHO, the tenor of that statement was please don't make
something out of the (non)mnemonic/(non)acronym.

I don't recall any real statement as to why tangle and weave
except that they go with WEBs.  You might want to think of
the results of our verbs tangle and weave.  The result of
weaving should be visually nice.  The document can be whereas
the program (especially tangle output) is not.
================================================================================
Archive-Date: Wed, 09 Dec 1992 16:28:21 CST
Message-ID: <9212092155.AA05528@rfi.radiomail.net>
From: Roger_Alexander@rock.intersolv.com
Reply-To: LitProg@SHSU.edu
Date: 09 Dec 92 16:10
To: LitProg@SHSU.edu
Subject: Re[2]: c++web

I'd also like to get a copy of c++web.  How can I do so ?

Roger Alexander (roger_alexander@intersolv.com)
Intersolv
================================================================================
Archive-Date: Wed, 09 Dec 1992 16:28:36 CST
Message-ID: <9212092155.AA05525@rfi.radiomail.net>
From: Roger_Alexander@rock.intersolv.com
Reply-To: LitProg@SHSU.edu
Date: 09 Dec 92 16:28
To: LitProg@shsu.edu
Subject: FWEB for PC

Can someone tell me how I can obtain a version of FWEB for the pc ?
Please note that I do not have access to ftp.

Thanks,

Roger Alexander (roger_alexander@intersolv.com)
================================================================================
Archive-Date: Wed, 09 Dec 1992 16:53:15 CST
Message-ID: <9212092251.AA10063@hydrus.mc.xerox.com>
To: LitProg@shsu.edu
Subject: Re: How did tangle and weave get there names
Date: Wed, 9 Dec 1992 14:51:54 PST
From: "Marty Leisner" <leisner@eso.mc.xerox.com>
Reply-To: LitProg@SHSU.edu


I think from:

"What a tangled web we weave"


marty
leisner@eso.mc.xerox.com leisner.henr801c@xerox.com
Member of the League for Programming Freedom
"People cannot be managed.  Inventories can be managed, but people must be led"  -- H. Ross Perot
================================================================================
Archive-Date: Wed, 09 Dec 1992 17:13:39 CST
Date: Wed, 09 Dec 1992 17:13:18 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
Message-ID: <00964D6D.AED27300.4374@SHSU.edu>
Subject: RE: FWEB for PC

On 09 Dec 92 16:28, Roger Alexander (roger_alexander@intersolv.com) posted:
> Can someone tell me how I can obtain a version of FWEB for the pc ? Please
> note that I do not have access to ftp.

The sources are in the FWEB package, so SENDME FWEB in a mail message to
FILESERV ought to get these.  The precompiled version is in
[FILESERV.PC-WEB] and has not not previously been FILESERV'able.  Since the
ZIP is there, I UUENCODEd it and broke it into mailer-digestible size
chunks.  It comes in 28 parts (and I haven't yet put the standard SHSU
headers on them or checksums, or anything else, but will -- look at the
subject line from FILESERV for the right sequence).

Anyway, to retrieve the precompiled executables for version 1.23a (which is
supposed to handle C++; this is still technically the beta release, I
believe -- Hans Herman?) via email, include:
 SENDME PC_WEB.FWEBEXE*
in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu).

Regards,   George
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
George D. Greenwade, Ph.D.                            Bitnet:  BED_GDG@SHSU
Department of Economics and Business Analysis         THEnet: SHSU::BED_GDG
College of Business Administration                    Voice: (409) 294-1266
P. O. Box 2118                                        FAX:   (409) 294-3612
Sam Houston State University              Internet:        bed_gdg@SHSU.edu
Huntsville, TX 77341                      bed_gdg%SHSU.decnet@relay.the.net
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
================================================================================
Archive-Date: Wed, 09 Dec 1992 17:27:17 CST
Message-ID: <199212092325.AA18675@oyster.vast.unsw.edu.au>
To: litprog@shsu.edu
CC: stevea@vast.unsw.edu.au
Subject: Change files for @i files
Date: Thu, 10 Dec 92 10:25:57 +1100
From: stevea@vast.unsw.edu.au
Reply-To: LitProg@SHSU.edu

Hi all,
	I have a bit of a sticky problem with Spider WEB, but it will
probably be the same for all WEBs that allow include files (@i).
	I have a set of changes I want to apply to a file that is common
between two main web files (actual it is the common.web for tangle.web
and weave.web). I have made some changes, and have diligently put them
in a file common.ch. Problem is, how do I now apply the change file
seeing as common.web is never explicitly tangled? I've tried putting the
changes in a change file for the individual programs (ie. in weave.ch
for weave.web), but it appears that tangle does not read in the included
file until after the changes have been applied.
	Anyone got any idea how to get around this hassle (other than
hacking tangle to apply changes after reading the included file) ?

	cheers
	-steve
================================================================================
Archive-Date: Wed, 09 Dec 1992 17:52:24 CST
Date: Wed, 9 Dec 92 18:50:19 -0500
From: ohl@chico.harvard.edu (Thorsten Ohl)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212092350.AA25308@chico.harvard.edu>
To: LitProg@SHSU.edu
Subject: Re: How did tangle and weave get there names
References: <9212091532.AA15363@hp5.iti.informatik.th-darmstadt.de> <9212091748.AA16036@hp5.iti.informatik.th-darmstadt.de>


[ This is *completely* off the topic, but I can't resist ... ]

>>>>> On Wed, 9 Dec 92 18:48:43 MEZ, Joachim Schrod <schrod@iti.informatik.th-darmstadt.de> said:

Joachim> Ha! Folklore -- I love folklore. My 0.02 DM are coming...

Joachim> Hmm, let's quote DEK again:

Joachim>     [...] Perhaps there is some deep connection here with the
Joachim>     fact that the German word for ``weave'' is ``web'', and the
Joachim>     corresponding Latin imperative is ``texe''!
                                 ^^^^^^^^^^

Joachim> [Actually, the German word for ``weave'' is not ``web,'' it's
Joachim> ``weben.'']

Bzzzzt!  You are wrong & DEK is right!  The German *imperative*
for `weave!' *is* `web!'.

Ciao,
-Thorsten

/// Thorsten Ohl, Physics Dept, Harvard University, Cambridge, MA 02138, USA
//////// net: ohl@physics.harvard.edu, ohl@crunch.ikp.physik.th-darmstadt.de
////////////////////////////// voice: +1-617-495-3219,  fax: +1-617-496-8396
================================================================================
Archive-Date: Wed, 09 Dec 1992 18:25:22 CST
Date: Wed, 09 Dec 92 20:50:41 GMT
Message-ID: <6924@apusapus.demon.co.uk>
From: tfj@apusapus.demon.co.uk (Trevor Jenkins)
Reply-To: LitProg@SHSU.edu
To: LitProg@shsu.edu
Subject: Re: Can't unzip CWEB ZIP file :-(

In message <9212091726.AA02829@central.bldrdoc.gov> Jon Gilligan wrote:

> Trevor Jenkins writes,
>    I just grabbed the ZIP file for CWEB v2.7 off of the fileserver but my
>    (MS-DOS) version of ZIP baulks at every file. Each one is marked with
>    "Unknown" as the storage mode.
>
>    I knew getting my hands on a literate programming tool was too good to be
>    true! Seriously, is the ZIP broken or is my zipper undone? :-)
>
> You probably are using Phil Katz's PKUNZIP.

Several others made the same comment and you all surmise correctly. I was
trying to use PKUNZIP.

>...To unzip the .zipped files
> from SHSU, you need the free UNZIP program (get the file UNZIP50.EXE,

I saw the UNZIP stuff and thought "Nah, I dont need that!"

> which is self-extracting (ironically, it seems to use Yoshi's Lharc
> self-extracter).

I regularly use LHARC (I only have PKUNZIP cos the UK PD archive insists
upon using it).

Off to shsu.edu to get UNZIP. Maybe I get to produce my literate
masterpieces after all. :-)

Regards, Trevor.

---------------------------------------------------------------------------
Trevor Jenkins                                                Re: "deemed!"
134 Frankland Rd, Croxley Green, Rickmansworth, WD3 3AU, England
email: tfj@apusapus.demon.co.uk                               radio: G6AJG
phone: +44 (0)923 776436
================================================================================
Archive-Date: Thu, 10 Dec 1992 02:58:35 CST
From: Vincenzo De Florio <edf@minsky.csata.it>
Reply-To: LitProg@SHSU.edu
Subject: unsub edf@minsky.csata.it
To: LitProg@shsu.edu
Date: Thu, 10 Dec 92 9:12:11 MET

unsub edf@minsky.csata.it
Please, unsubscribe me from this mailing list. Thanks,
- Enzo
================================================================================
Archive-Date: Thu, 10 Dec 1992 04:20:29 CST
From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9212101019.AA17566@hp5.iti.informatik.th-darmstadt.de>
Subject: Re: How did tangle and weave get there names
To: LitProg@SHSU.edu
Date: Thu, 10 Dec 92 11:19:04 MEZ

Thorsten Ohl wrote:
>
> [ This is *completely* off the topic, but I can't resist ... ]

Me, too.

> Joachim>     [...] Perhaps there is some deep connection here with the
> Joachim>     fact that the German word for ``weave'' is ``web'', and the
> Joachim>     corresponding Latin imperative is ``texe''!
>                                  ^^^^^^^^^^
> Joachim> [Actually, the German word for ``weave'' is not ``web,'' it's
> Joachim> ``weben.'']
>
> Bzzzzt!  You are wrong & DEK is right!  The German *imperative*
> for `weave!' *is* `web!'.

Do you know a German word with four characters, colloquially used for
questions? : H\"a? ... (Some misguided spell it H"a...)

In this context I don't care what the German imperative is; read the
sentence part which you underlined again. There it talks about the
**Latin** imperative. A line above it's the German *word*, and that's
still ``weben''. (Btw, I also don't see an exclamation mark in my quote.)

:-)

--
Joachim

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany

	    @d infinity=255 {$\infty$ (approximately)}
							[DEK, in weave.web]

================================================================================
Archive-Date: Thu, 10 Dec 1992 04:38:20 CST
From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9212101037.AA17766@hp5.iti.informatik.th-darmstadt.de>
Subject: Award for LitProg work, info anyone?
To: litprog@shsu.edu (Literate Programming Discussion List)
Date: Thu, 10 Dec 92 11:37:15 MEZ

From the SIGCHI Bulletin, October '92 issue:

----------------

1991 AWARDS OF THE SIGCHI GRANT-IN-AID OF RESEARCH FOR STUDENTS

As part of its on-going commitment to develop the educational base for
the field of Human-Computer Interaction and to provide opportunities
for students, the SIGCHI Executive Committee has provided an endowment
to support grants-in-aid of research. This program is being
administered by Sigma Xi, the Scientific Research Society. [...]

During 1991, the following awards were made:

[...]

Christopher Bertholf, Portland State University --- Program
Comprehension of Literate Programs by Novice, Intermediate, and Expert
Programmers

----------------

Has anybody more info on this work? Eg,
 -- Email address of Christopher
 -- ftp-able technical reports (yes, sometimes I dream ;-)
 -- snail mail address to order reports
 -- some short abstract about the preconditions and the results
	(is it still bound to WEB, does it use a modern programming
	language instead of Pascal, ...)

etc.

--
Joachim

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany

	    @d infinity=255 {$\infty$ (approximately)}
							[DEK, in weave.web]
================================================================================
Archive-Date: Thu, 10 Dec 1992 07:08:11 CST
Message-ID: <9212101232.AA12965@ocelot.ioc.co.uk>
To: LitProg@shsu.edu
Subject: unsubscribe
Date: Thu, 10 Dec 92 12:32:40 +0000
From: Gary Phillips <gary@ioc.co.uk>
Reply-To: LitProg@SHSU.edu

unsubscribe
================================================================================
Archive-Date: Thu, 10 Dec 1992 07:59:05 CST
Message-ID: <MAILQUEUE-101.921210084515.480@modicon1>
To: SHSU.edu!LitProg@pcd3.
From: "Reed Shilts" <modicon!RSHILTS@uunet.UU.NET>
Reply-To: LitProg@SHSU.edu
Date: 10 Dec 92 08:45:14 EDT
Subject: Receipt confirmation

Confirmation: message read at 8:45, 10 Dec 92
Subject: Re: How did tangle and weave
++rls;          a.k.a.  uunet!modicon!rshilts
================================================================================
Archive-Date: Thu, 10 Dec 1992 08:56:52 CST
Date: Thu, 10 Dec 1992 08:56:17 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
CC: modicon!rshilts@UUNET.UU.NET
Message-ID: <00964DF1.6AA5B460.7070@SHSU.edu>
Subject: RE: Receipt confirmatioon (and a few other things)

Yesterday, Marcus suggested a routine message for LitProg.  I will attempt
to get one put together sometime soon.  In the interim:

First, on 10 Dec 92 08:45:14 EDT, "Reed Shilts"
<modicon!RSHILTS@uunet.UU.NET> forwarded to the list:
> Confirmation: message read at 8:45, 10 Dec 92
> Subject: Re: How did tangle and weave
> ++rls;          a.k.a.  uunet!modicon!rshilts

I don't know is this was automatically generated or not (my real fear is
that it was).  I have removed the address from the LitProg distribution as
I don't want to get all kinds of bandwidth-wasting looping going on here. 
As I have no idea just how many posting may be affected here, I urge
everyone to have some patience with the list over the next few days as
these may come streaming back in.

I am by no means discouraging subscription as I believe what the list has
been (and is) accomplishing is marvelous (even though I sometimes have no
idea what some of you are talking about).  Reed: if this was a one-time
error which is not generally reproducable and was a simple mistake, please
re-subscribe; if it is a part of your mailer software, *please* visit with
your system administrator and figure out how to stop it before your
re-subscribe.  There are at least three things wrong with how your mailer
handled this (assuming it was a mailer problem).  If it is a mailer
problem, it needs to be fixed, regardless of your subscription to LitProg.

I will put up with bounces to me as list owner for quite some time prior to
unilaterally removing someone from any of my lists (and make every effort
to contact the Postmaster at the site where I get bounces from, or their
identifiable up-stream hosts or servers, as there is often a local problem
which usually requires some local attention); HOWEVER, I will automatically
remove anyone for anything which appears to be a possible loop producer as
these use up valuable bandwidth and disk space resources very quickly, in
addition to clogging up otherwise valuable discussion.

Second, if you should ever wish to have your name removed from the list of
subscribers and no longer receive LitProg, please send a MAIL message to
                 LISTSERV@SHSU.BITNET (LISTSERV@SHSU.edu)
                                 -- or --
                        LitProg-Request@SHSU.edu
stating in the text of the MAIL:
 SIGNOFF LitProg
Please remember to SIGNOFF of LitProg should you have reason to lose or
give up your account.

If you have any questions, comments, or suggestions about LitProg, please
contact the list owner at any of the addresses below.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
George D. Greenwade, Ph.D.                            Bitnet:  BED_GDG@SHSU
Department of Economics and Business Analysis         THEnet: SHSU::BED_GDG
College of Business Administration                    Voice: (409) 294-1266
P. O. Box 2118                                        FAX:   (409) 294-3612
Sam Houston State University              Internet:        bed_gdg@SHSU.edu
Huntsville, TX 77341                      bed_gdg%SHSU.decnet@relay.the.net
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
================================================================================
Archive-Date: Thu, 10 Dec 1992 09:25:53 CST
Date: Thu, 10 Dec 92 16:23:31 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu
Subject: RE: FWEB for PC
To: litprog@SHSU.edu

George D. Greenwade wrote:

>Anyway, to retrieve the precompiled executables for version 1.23a (which is
>supposed to handle C++; this is still technically the beta release, I
>believe -- Hans Herman?) via email, include:

It is not quite clear, whether FWEB 1.23a is still beta or not. FWEB's
read_me states:

>  The newest release, v1.23, is intended primarily for SYSTEM DEVELOPERS
>and KNOWLEDGEABLE FRIENDS willing to serve as ad hoc BETA TESTERS.  In
>fact, this version should be quite robust, but it needs to be beta-tested
>before I'm willing to announce it to the public.

And later:

>  Version 1.23 was updated to 1.23a in order to fix a bug that appeared on
>all machines for which |signed char| is the default.  Some files missing
>from the manual subdirectory were also restored.

Since, in contrast to v1.23, version 1.23a HAS BEEN announced to the public,
one could conclude that it isn't beta anymore. On the other hand, the first
statement above is located at the very top of the read_me, so it may still
be valid. I've found no hint that could remove this contradiction.

Hermann
================================================================================
Archive-Date: Thu, 10 Dec 1992 09:27:11 CST
Date: Thu, 10 Dec 92 16:25:12 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu
Subject: Re: Change files for @i files
To: litprog@SHSU.edu

stevea@vast.unsw.edu.au asked:

>        I have a set of changes I want to apply to a file that is common
>between two main web files (actual it is the common.web for tangle.web
>and weave.web). I have made some changes, and have diligently put them
>in a file common.ch. Problem is, how do I now apply the change file
>seeing as common.web is never explicitly tangled?

I guess, what you really mean is common.h instead of common.web. The
solution to your problem is a WEB file merger that takes a source file and a
change file as input and produces the resulting changed source. To my
knowledge there exist two such programs: tie and wmerge.

With tie you can even merge several change files at once to a source or you
can build an overall change file from several ones. Klaus Guntermann may
post, where the latest version is available.

The wmerge program is somewhat simpler, but if you only have one change
file, it will do its job as well. It comes as an example with CWEB.

Hermann
================================================================================
Archive-Date: Thu, 10 Dec 1992 10:37:28 CST
Date: Thu, 10 Dec 92 09:35:46 MST
From: gilligan@central.bldrdoc.gov (Jonathan M. Gilligan)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212101635.AA09724@central.bldrdoc.gov>
To: LitProg@SHSU.edu
Subject: Change files for @i files

What you do is to apply the change to the common file using something
like wmerge that incorporates your change file common.ch into common.web
produces a third file, which you call something like
``new_common.web.''  You then put the lines

@x
@i common.h
@y
@i new_common.h
@z

into weave.ch and tangle.ch. This is quite awkward, but it's hard to
think of a better way to handle changes on included files without
breaking the ability to change lines that include an @i command.

(This should be the introduction to my claim that I have a better way,
but I must disappoint you).

BTW, I don't have my CWEB files on this computer, so I can't tell you
the origin of wmerge, but I got my version as part of Hans Hermann
Bode's CWEB-P package. I think HHB may have written it, but I'm not
sure. Apologies in advance if I have misdirected the credit.

---Jon
================================================================================
Archive-Date: Thu, 10 Dec 1992 10:48:40 CST
Date: Thu, 10 Dec 92 17:47:15 +0100
From: Marcus Speh <marcus@ips102.desy.de>
Reply-To: LitProg@SHSU.edu
To: Literate Programmers <litprog@shsu.edu>
Subject: LiteratureProg [Re: How did tangle and weave get their names]
References: <9212101547.AA10539@hydrus.mc.xerox.com> <92Dec10.005612pst.11526@alpha.xerox.com>
CC: Marty Leisner <leisner@eso.mc.xerox.com>

Marty>> I think from
Marty>> "What a tangled web we weave"

Encouraged [and enlightened] by the surprising fact that
truly linguistic issues are suddenly becoming an issue on the
list (see the fascinating debate on " 'weben' vs. 'web'" between
two German subscribers |-(, I inquired:

Marcus> excuse my illiteracy: what source are you quoting here?
Marcus> [It sounds like Shakespeare to me, but...]
Marcus> I probably cannot resist to put this piece into the FAQ.

Marty> The full quote (It came to me when I was driving into work...)
Marty> "What a tangled web we weave, when we practice to deceive"
Marty> I think its Shakespeare...but I'm not sure...

It is not enough to know that it wasn't brought up during the
presidential campaign ["It's all about WEB, stupid!"]...
on the other hand, [my edition of] Shakespeare does not have
an index (proving that it's really coming on us from another century ;-).

Thus: anybody knows where the quote stems from??? --

Hoping that there is an unambiguous answer to *this* question,
Marcus
================================================================================
Archive-Date: Thu, 10 Dec 1992 13:19:52 CST
Date: Thu, 10 Dec 92 11:19:46 CST
From: infmx!quivira!grodecki@uunet.UU.NET (Don Grodecki)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212101719.AA02230@quivira.lenexa.pd>
To: uunet!SHSU.edu!LitProg@uunet.UU.NET
Subject: Re: unsubscribe

THis is the wrong way to do this.  You need to send this command to
an automaton, not to us people.  Here is some mail that may help:

> From uunet!SHSU.edu!LP-Mgr Thu Dec 10 11:12:29 1992
> X-Listname: Literate Programming Discussion List <LitProg@SHSU.edu>
> To: LitProg@shsu.edu
> Subject: unsubscribe
> Date: Thu, 10 Dec 92 12:32:40 +0000
> From: Gary Phillips <uunet!ioc.co.uk!gary>
> Reply-To: uunet!SHSU.edu!LitProg
>
> unsubscribe
>

----- Begin Included Message -----

From uunet!SHSU.EDU!ucs_kas Sun Dec  6 03:37:25 1992
Date: Thu, 03 Dec 1992 16:50:48 CST
From: MX mailing list processor <uunet!SHSU.edu!ListServ>
To: grodecki@informix.com
Subject: Subscription to mailing list LitProg

You have been added to mailing list:
                 LitProg@SHSU.BITNET (LitProg@SHSU.edu).
LitProg is a network list dealing with topics related to Literate
Programming.  This includes general issues of style and philosophy, such as
"what is literate programming?" or "is literate programming compatible with
writing portable programs?", as well as specific issues relating to
particular literate programming systems, such as "is it possible to use
CWEB with ANSI C?"  Novices are welcome; it is intended that this group
should be a place where newcomers can be welcomed into the fold as well as
a place where seasoned literate programmers can discuss fine points of
technique.

Further administrative requests regarding this list should be sent in the
body of a mail message to
                 LISTSERV@SHSU.BITNET (LISTSERV@SHSU.edu)
                               -- or to --
                         LitProg-Request@SHSU.edu
The following commands can be handled automatically by the list processor:

 SIGNOFF LitProg       - to remove yourself from the list
 SET LitProg NOMAIL    - to remain on the list but not receive mail
 SET LitProg MAIL      - to resume receiving mail from the list
 SET LitProg CONCEAL   - to conceal your address from REVIEW commands
 SET LitProg NOCONCEAL - to reveal your address in REVIEW commands
 SET LitProg REPRO     - to receive from the list posts you made to it
 SET LitProg NOREPRO   - to not receive from the list posts you made to it
 REVIEW LitProg        - to get a list of subscribers
 QUERY LitProg         - to get the status of your entry on the list
 LIST                  - to get a list of mailing lists served by this host
 HELP                  - to receive a help file

Please do NOT send administrative messages to the list address
(LitProg@SHSU.BITNET or LitProg@SHSU.edu) as posts to this address are
distributed to all subscribers of the list.

By default, new subscribers are set to MAIL, NOCONCEAL, REPRO.  Please note
that all posts to LitProg should have the list address in the Reply-To:
field.  This default Reply-To design is intended to better foster the
discussions which arise on the list.  If you would like to privately reply
to a post, you will need to physically address it, unless your mailer has
selective capabilities from among the fields created.

     -------------------- About LitProg Archives --------------------

LitProg archives are maintained at Sam Houston State University and are
available via SHSU's file server, FILESERV@SHSU.BITNET (FILESERV@SHSU.edu)
for mail retrieval, as well as via anonymous ftp from Niord.SHSU.edu
[192.92.115.8].  Please note that the archives and files are supported by
FILEserv, while list-related commands are supported by LISTserv.

For FILESERV, the filename structure is LitProg.yyyy-mm, where "yyyy"
represents the year and "mm" represents the numeric equivalent of the
month.  For example, the archives of LitProg for July, 1992, would be
LitProg.1992-07.  To retrieve LitProg archives (via mail) for July, 1992,
include the command:
 SENDME LitProg.1992-07
in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu).
You may send FILESERV multiple commands so long as each resides on a unique
line of the MAIL message.  If you are interested in available FILESERV
commands, include the command HELP in the body of a mail message to it.

For anonymous ftp retrieval from Niord, the archives for LitProg are
retained in the directory [FILESERV.LITPROG] using the same filename syntax
as above.

             ----------- LitProg companion lists -----------

Sam Houston State University additionally supports three additional lists of
potential interest to LitProg subscribers -- INFO-TeX, ctt-Digest, and
TeX-Pubs.

INFO-TeX is an unmoderated discussion list for TeX-related topics,
providing a broad range of discussion on virtually all topics associated
with TeX and it's derivative products, such as LaTeX, AMS(La)TeX, REVTEX,
METAFONT, etc.  It is mirrored to the USENET newsgroup comp.text.tex, so a
post to it is broadcast to quite possibly the widest audience of skilled
individuals to assist you.  You are invited to become involved on this list
or to simply monitor it.  To subscribe to INFO-TeX, please include the
command:
 SUBSCRIBE INFO-TeX "Your Name"
in the body of a mail message to the SHSU list server, LISTSERV@SHSU.BITNET
(LISTSERV@SHSU.edu).  If you would like to post a query to INFO-TeX (and on
to comp.text.tex), the address is INFO-TeX@SHSU.BITNET (INFO-TeX@SHSU.edu).

ctt-Digest is an automatically generated daily digest of posts made to
USENET's comp.text.tex newsgroup which do not originate on INFO-TeX.  Also,
efforts are made to exclude periodical postings, such as those carried on
TeX-Pubs.  The creation of this list allows mail-based subscribers to have
the widest coverage possible on all discussions associated with TeX-related
topics.  You are invited to receive these digests, along with your TeX-Pubs
postings and interactive access on INFO-TeX.  To subscribe to ctt-Digest,
please include the command:
 SUBSCRIBE ctt-Digest "Your Name"
in the body of a mail message to the SHSU list server, LISTSERV@SHSU.BITNET
(LISTSERV@SHSU.edu).

TeX-Pubs is a redistribution list for TeX-related electronic-format
periodicals, including TeXhax, UKTeX, TeXMaG, the "Frequently Asked
Questions" and "Supplementary TeX Information" from the comp.text.tex
newsgroup, and the TeX Users Group's "TeX and TUG News".  TeX-Pubs provides
subscribers with a single address for handling the administrative details
associated with a subscription to each of these journals, so you will need
to subscribe or signoff only once instead of multiple times.  TeX-Pubs will
provide you with copies of each of these electronic digests as soon as they
are received for forwarding. To minimize the size of daily postings from
ctt-Digest, these periodicals are removed from the ctt-Digest distribution.
Users interested in receiving these periodicals are encouraged to subscribe
to to TeX-Pubs by including the command:
 SUBSCRIBE TeX-Pubs "Your Name"
in the body of a MAIL message to LISTSERV@SHSU.BITNET (LISTSERV@SHSU.edu).

If you have any questions or comments about this list, or are in need of
assistance, please do not hesitate to contact the list owner directly at
any of the addresses provided below.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
George D. Greenwade, Ph.D.                            Bitnet:  BED_GDG@SHSU
Department of Economics and Business Analysis         THEnet: SHSU::BED_GDG
College of Business Administration                    Voice: (409) 294-1266
P. O. Box 2118                                        FAX:   (409) 294-3612
Sam Houston State University              Internet:        bed_gdg@SHSU.edu
Huntsville, TX 77341                      bed_gdg%SHSU.decnet@relay.the.net
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(This message was generated automatically.)


----- End Included Message -----

================================================================================
Archive-Date: Thu, 10 Dec 1992 15:46:14 CST
Date: Thu, 10 Dec 92 15:21:38 CST
From: "Daniel H. Luecking" <DL24794@UAFSYSB.UARK.EDU>
Reply-To: LitProg@SHSU.edu
Subject: Re: How did tangle and weave
To: LitProg@SHSU.edu

On 9 Dec 1992 11:15:28 -0500 Timothy Larkin said:
>                                ... Perhaps there is some deep connection here
>with the fact that the German word for "weave" is "web", and the corresponding
>Latin impaerative is "texe"!
>
A connection, but not deep: the english "weave" is cognate to Germen "weben"
and "textile" to latin "texe".

As was pointed out, the german for ONE meaning of weave (the imperative) is
web. The german for other meanings of weave include weben, webe, and webst,
wirken, flechten, zusammenf\"ugen, einflechten, verflechten, verweben,
erfinden, erdichten, ersinnen, durchschl\"angeln, Webart, and Gewebe.
(Source: the New Casall's German Dictionary, 1971)
So everyone who said "THE german word (singular!) for weave is" <anything
at all> or who claimed anyone else was wrong, was wrong (in a way).

Oh! What a tangled web we weave...

Dan Luecking
================================================================================
Archive-Date: Thu, 10 Dec 1992 16:16:50 CST
Date: Thu, 10 Dec 92 23:18:34 +0100
From: Marcus Speh <marcus@ips102.desy.de>
Reply-To: LitProg@SHSU.edu
To: Literate Programmers <litprog@shsu.edu>
Subject: multiple source files in FWEB


For an FWEB project with multiple source files (*),
I'd like to have a hack similar to that of Cameron in
file "calc.w" of his KR-Sample for CWEB.

 The nicest feature I am interested in is Cameron's hack of
 indexing and preparing a table of contents in cwebmac.sty.
 The goal: to produce a toc like:

source module 1: main         Sect Page
introduction..................1.1  1.1
main pgm......................1.4  1.2
index.........................1.10 1.4

source module 2: getop
introduction..................2.1  2.1    etc.

a combined index (in fact one index per source file appended)
and the same for the section index:

Index for source module 1: main
...
Index for source module 2: getop
...
....

Sections in source module 1: main
<case for newlines 9> used in section 4...
...

It seems as if one has to hack the fwebmac.sty for this.
Anybody already tried something similar and would like to
share it with me?

(*) yes, inspite of the by now well-known fact that
    the @o command to spit out .h and .c files is sick
    for FWEB.

================================================================================
Archive-Date: Thu, 10 Dec 1992 18:50:30 CST
Date: Fri, 11 Dec 92 00:39:29 GMT
Message-ID: <7125@apusapus.demon.co.uk>
From: tfj@apusapus.demon.co.uk (Trevor Jenkins)
Reply-To: LitProg@SHSU.edu
To: LitProg@shsu.edu
Subject: Compiling Cweb 2.8 with MS C/C++ v7.0

You guys are going to hate telling me how to UNZIP the CWEB 2.8 ZIP file;
which thank you very I managed to do once I'd grabbed UNZIP50.EXE. Why
should you hate me? Cos now I can't get CTANGLE.C to compile with Microsoft
C/C++ version 7.0! I've gotten the files across to my office VAX and it
compiled okay there. But I want to be able to use it here (at home) on my
PC as well, so... How do I bootstrap it across? Or where is there a
pre-compiled/pre-linked version I can snarf?

Regards, Trevor.

---------------------------------------------------------------------------
Trevor Jenkins                                                Re: "deemed!"
134 Frankland Rd, Croxley Green, Rickmansworth, WD3 3AU, England
email: tfj@apusapus.demon.co.uk                               radio: G6AJG
phone: +44 (0)923 776436
================================================================================
Archive-Date: Thu, 10 Dec 1992 20:02:04 CST
Message-ID: <9212110200.AA03440@math.berkeley.edu>
To: LitProg@shsu.edu
Subject: Re: Change files for @i files
CC: levy@math.berkeley.edu
Date: Thu, 10 Dec 92 18:00:16 -0800
From: Silvio Levy <levy@math.berkeley.edu>
Reply-To: LitProg@SHSU.edu


In response to Jonathan M. Gilligan:

wmerge is essentially a skeletal version of common.w, which I hacked
together.  I've recently found out that it fails to give an error
message if some entry in the change file doesn't match the web file --
it simply stops making changes.  I won't be fixing this it any time
soon, so caveat emptor.  (Of course, if someone else fixes it, they'll
be rendering a signal service to humankind.)

Silvio
================================================================================
Archive-Date: Fri, 11 Dec 1992 00:59:43 CST
Date: Fri, 11 Dec 1992 00:57:09 -0600
From: Cameron Smith <cameron@symcom.math.uiuc.edu>
Reply-To: LitProg@SHSU.edu
Message-ID: <199212110657.AA29823@spica.math.uiuc.edu>
To: LitProg@SHSU.edu
Subject: Re:  LiteratureProg [Re: How did tangle and weave get their names]

Marcus Speh (Hi, Marcus!) asks
Marcus> excuse my illiteracy: what source are you quoting here?
Marcus> [It sounds like Shakespeare to me, but...]
Marcus> I probably cannot resist to put this piece into the FAQ.

Marty Leisner replied
Marty> The full quote (It came to me when I was driving into work...)
Marty> "What a tangled web we weave, when we practice to deceive"
Marty> I think its Shakespeare...but I'm not sure...

One of the problems with having a single preeminent writer in a language
is that everyone always assumes that any enduring tidbit came from his
pen... I thought so too, until I saw (in the WEB manual -- note, WEB,
not CWEB) the attribution

  O, what a tangled web we weave
  When first we practise to deceive!
    -- Sir Walter Scott, _Marmion_, canto 6, verse xvii (1808)

Marcus, please *do* put this in the FAQ list, and please put this gem
(also from the WEB manual) in with it:

  O, what a tangled WEB we weave
  When TeX we practise to conceive!
    -- Richard Palais (1982)

--Cameron Smith
  cameron@symcom.math.uiuc.edu
================================================================================
Archive-Date: Fri, 11 Dec 1992 08:35:05 CST
Date: Fri, 11 Dec 1992 06:44:34 EST
From: "Edward F. Keith" <ed@efkport.kew.com>
Reply-To: LitProg@SHSU.edu
Message-ID: <2b287f28.efkport@efkport.kew.com>
To: "Literate Programming List" <LitProg@SHSU.edu>
Subject: Re: LiteratureProg [Re: How did tangle and weave get their names]

On Thu, 10 Dec 92 17:47:15 +0100, "Marcus Speh" <marcus@ips102.desy.DE> wrote:
> Marty> The full quote (It came to me when I was driving into work...)
> Marty> "What a tangled web we weave, when we practice to deceive"
> Marty> I think its Shakespeare...but I'm not sure...
>
> It is not enough to know that it wasn't brought up during the
> presidential campaign ["It's all about WEB, stupid!"]...
> on the other hand, [my edition of] Shakespeare does not have
> an index (proving that it's really coming on us from another century ;-).
>
> Thus: anybody knows where the quote stems from??? --
>
> Hoping that there is an unambiguous answer to *this* question,
> Marcus

The Home Book of Quotations attributes it to Scott, Marmion. Canto
vi, st 17.

	-Ed K.

--
Ed Keith
Telephone: 1(703)370-5217      U.S. Snail: 4535 Taney Ave. #201
Internet : ed@efkport.kew.com              Alexandria, VA 22304

I am I, Don Quixote, The Lord of La Mancha . . .
================================================================================
Archive-Date: Fri, 11 Dec 1992 09:09:41 CST
Date: Fri, 11 Dec 1992 09:09:18 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
CC: tfj@apusapus.demon.co.uk
Message-ID: <00964EBC.6661C4E0.9291@SHSU.edu>
Subject: RE: Compiling Cweb 2.8 with MS C/C++ v7.0

On Fri, 11 Dec 92 00:39:29 GMT, tfj@apusapus.demon.co.uk (Trevor Jenkins)
posted:
> You guys are going to hate telling me how to UNZIP the CWEB 2.8 ZIP file;
> which thank you very I managed to do once I'd grabbed UNZIP50.EXE. Why
> should you hate me? Cos now I can't get CTANGLE.C to compile with Microsoft
> C/C++ version 7.0! I've gotten the files across to my office VAX and it
> compiled okay there. But I want to be able to use it here (at home) on my
> PC as well, so... How do I bootstrap it across? Or where is there a
> pre-compiled/pre-linked version I can snarf?

It's not 2.8, but....  I attempted to ftp to dione.rz.uni-osnabrueck.de
(where Hans Hermann [I believe] keeps just about everything for the PC). 
Unfortunately, after connecting, I was unable to issue any commands as I
never got a prompt.  So I went to ftp.uni-stuttgart.de and retrieved
cweb-p.zip and have made it available from Niord.SHSU.edu as
[FILESERV.PC-WEB]CWEB-P27.ZIP (version 2.7 for DOS, with executables,
etc.).  I added the "27" to better identify the version number (sorry to
have bastardized the filename).

I have UUENCODEd the ZIP file, so include:
 SENDME PC-WEB.CWEB-P27*
will get you the 11 part distribution via e-mail.

Quick question to you literate programmers out there: where in the heck do
you generally retain the version numbers in your releases?  Is there a
given file to look at or is it embedded in some specific place?  Or is this
a topic which hasn't been discussed among literate programmers (this is not
true, I am pretty sure).  Sure would make archiving easier, if......... ;-)

Regards,   George
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
George D. Greenwade, Ph.D.                            Bitnet:  BED_GDG@SHSU
Department of Economics and Business Analysis         THEnet: SHSU::BED_GDG
College of Business Administration                    Voice: (409) 294-1266
P. O. Box 2118                                        FAX:   (409) 294-3612
Sam Houston State University              Internet:        bed_gdg@SHSU.edu
Huntsville, TX 77341                      bed_gdg%SHSU.decnet@relay.the.net
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
================================================================================
Archive-Date: Fri, 11 Dec 1992 09:15:34 CST
Date: Fri, 11 Dec 92 08:14:22 MST
From: "Nelson H. F. Beebe" <beebe@math.utah.edu>
Reply-To: LitProg@SHSU.edu
To: tfj@apusapus.demon.co.uk (Trevor Jenkins)
CC: beebe@math.utah.edu, LitProg@SHSU.edu
Subject: Re: Compiling Cweb 2.8 with MS C/C++ v7.0
Message-ID: <CMM.0.90.2.724086861.beebe@plot79.math.utah.edu>

I've been working for two weeks on the problem of making CWeb 2.9
run on the IBM PC.  This is difficult because of the segmented memory
architecture, and a great many source changes are necessary.  I have
made considerable progress this week, and hope to be able to report
success in the near future.  In the meantime, I'd suggest postponing
further attempts at porting to that architecture to avoid duplication
of labor.


========================================================================
Nelson H. F. Beebe                      Tel: +1 801 581 5254
Center for Scientific Computing         FAX: +1 801 581 4148
Department of Mathematics, 105 JWB      Internet: beebe@math.utah.edu
University of Utah
Salt Lake City, UT 84112, USA
========================================================================
================================================================================
Archive-Date: Fri, 11 Dec 1992 10:05:42 CST
Date: Fri, 11 Dec 1992 09:58:15 -0600
Message-ID: <9212111558.AA10544@beloit.edu>
To: LitProg@SHSU.edu
From: chavey@beloit.edu (Darrah Chavey)
Reply-To: LitProg@SHSU.edu
Subject: Re:  LiteratureProg [Re: How did tangle and weave get their names]

>One of the problems with having a single preeminent writer in a language
>is that everyone always assumes that any enduring tidbit came from his
>pen... I thought so too, until I saw (in the WEB manual -- note, WEB,
>not CWEB) the attribution
>
>  O, what a tangled web we weave
>  When first we practise to deceive!
>    -- Sir Walter Scott, _Marmion_, canto 6, verse xvii (1808)
>
>--Cameron Smith
>  cameron@symcom.math.uiuc.edu

Darn, I always thought it came from Swinburne:
    For in the time we know not of
    Did fate begin
    Weaving the web of days that wove
    Your doom, Faustine.
       [Faustine, 1866]

;-)

--Darrah Chavey                  Department of Math & Computer Science
  chavey@beloit.edu              Beloit College, Beloit, Wisc.

================================================================================
Archive-Date: Fri, 11 Dec 1992 11:34:33 CST
Date: Fri, 11 Dec 1992 11:34:11 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu
To: thompson@qmsbs2.er.usgs.GOV
CC: litprog@SHSU.edu
Message-ID: <00964ED0.A3C10B20.9426@SHSU.edu>
Subject: RE: faq for litprog

In a private posting from thompson@qmsbs2.er.usgs.GOV (David Thompson) on
Fri, 11 Dec 1992 10:32:42 -0600:
> Is anyone working on a faq for the litprog mailing list?  I'm interested in
> the concept, and am beginning to see the need.  I'm not sure I (can or want
> to) do it (yet), but am intrigued by the idea.  (Gee, have I waffled enough
> yet?) :-)

This is a gray area which certainly needs addressing; therefore, I am
replying to the entire address on this.  The list itself probably should
have a family of FAQs, rather than a single FAQ.  Topics within a family
would focus on (I would hope):
 1.  Something specific to the administrative details of the list, similar
     to my "Routine Postings" on INFO-TeX.  This can be reduced
     significantly w.r.t. the INFO-TeX RP as I believe that other topics
     will cover the required areas.  I am very biased on this as a
     component of the LitProg FAQ family.  I believe that the bandwidth
     consumed by a single posting on "How do I get [the list][my mail]
     to..." and "How do I find out about FILESERV..." alleviates a lot of
     problems commonly found on unmoderated lists.  Since I have the
     templates for this and I am familiar with the problems to expect, I
     can handle this (and will as soon as grading finals is over with).
 2.  A FAQ for each of the major Literate Programming tools.  Marcus Speh
     <marcus@ips102.desy.de> has already done the LitProg community a great
     service with his FAQ for FWEB.  In addition, there probably needs to
     be one for CWEB, with the possibility of SpiderWEB, (C)NoWEB,
     FunnelWEB, MWEB, (maybe) WEB2C and WEB itself lurking, as well as
     other tools I am unfamiliar with. 

     To retrieve the FWEB FAQ, include:
      SENDME FAQ.FWEB
     in the body of a mail message to FILESERV@SHSU.BITNET
     (FILESERV@SHSU.edu), or come in via anonymous ftp to Niord.SHSU.edu
     (192.92.115.8) and get [FILESERV.FAQ]FAQ.FWEB.  A variety of formats
     (DVI, TeXinfo, PostScript) are also available in [FILESERV.FWEB].
 3.  A master LP FAQ which answers commonly asked general questions (i.e.,
     "what is Literate Programming?"), along with an index of the FAQ family,
     including appropriate cross-references between packages, as well as a
     listing of hosts where the tools exist.  This second aspect should 
     easily be covered as most of the package authors are subscribed and 
     know where the things are so that the authoritative server can be
     identified, along with mirror-like hosts where packages are available.

Marcus also provided me with an FAQ on writing FAQs (the FAQ FAQ).  It is a
load of good information for anyone interested in writing an FAQ.  This is
available via email by including:
 SENDME FAQ.WRITING
in the body of a mail message to FILESERV, or on Niord in
[FILESERV.FAQ]FAQ.WRITING.

Precisely how you, as a group, want to stake a claim to this, I don't know. 
As noted, I will take care of item 1 above; Marcus has already started on
item 2 (and I imagine just keeping up with one package is an adequate
task!); the remainder is a good concept, IMO.  Certainly, everyone is free
to disagree with my outline for a family; however, a single document FAQ is
probably way out of reason simply due to sheer size, maintenance, and other
reasons.

Hope I've strirred up the mud adequately with this answer -- didn't
everyone plan on working on this over the holidays anyway? 8-)

Regards,   George
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
George D. Greenwade, Ph.D.                            Bitnet:  BED_GDG@SHSU
Department of Economics and Business Analysis         THEnet: SHSU::BED_GDG
College of Business Administration                    Voice: (409) 294-1266
P. O. Box 2118                                        FAX:   (409) 294-3612
Sam Houston State University              Internet:        bed_gdg@SHSU.edu
Huntsville, TX 77341                      bed_gdg%SHSU.decnet@relay.the.net
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
================================================================================
Archive-Date: Fri, 11 Dec 1992 11:48:47 CST
Date: Fri, 11 Dec 92 09:09:26 PST
From: bongalon@tcad05.intel.com (Ben Bongalon)
Reply-To: LitProg@SHSU.edu
Subject: unsubsribe me
To: LitProg@SHSU.EDU
Message-ID: <9212111709.AA00905@tcad05>


unsubscribe bongalon@tcad05.intel.com		(thanks)
================================================================================
Archive-Date: Fri, 11 Dec 1992 12:35:53 CST
Date: Fri, 11 Dec 92 11:34:42 MST
From: gilligan@central.bldrdoc.gov (Jonathan M. Gilligan)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212111834.AA18666@central.bldrdoc.gov>
To: LitProg@SHSU.edu
CC: LitProg@shsu.edu
Subject: Compiling Cweb 2.8 with MS C/C++ v7.0

There's a precompiled version of CWEB 2.7 (Hans Hermann Bode's CWEB-P),
which has change files for compiling with Turbo-C++.

Let me take this opportunity to clear up any misunderstandings that
may have arisen from my last posting about CWEB-P. I mentioned a two
bugs, one in weaving C++ and one in tangling ANSI-C, but these are
minor bugs and easy to work around. I have used CWEB-P quite a bit
since getting it last month and only have found two or three small
bugs, and HHB posted a correction to the most serious one (which
actually existed in the original CWEB) earlier this week.  CWEB-P is a
good port, and I recommend it either in its precompiled form or as a
starting point for other 16-bit ports. As HHB says in the
documentation for CWEB-P, the C++ support is a first attempt (and a
very good first attempt to hit a moving target), so the fact that a
few unusual constructions might not weave in the most aesthetically
pleasing manner is only to be expected.

I am working (in the evenings) on a port of 2.8 to MSC, but there are
still too many bugs for me to release it now. This may be a wasted
effort, since it appears that 2.9 is due to be released in a few
months, but porting CWEB seems good from an autodidactic perspective,
he says waxing sesquipedalian.

---Jon

================================================================================
Archive-Date: Fri, 11 Dec 1992 12:36:06 CST
Date: Fri, 11 Dec 92 11:34:42 MST
From: gilligan@central.bldrdoc.gov (Jonathan M. Gilligan)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212111834.AA18666@central.bldrdoc.gov>
To: LitProg@SHSU.edu
CC: LitProg@shsu.edu
Subject: Compiling Cweb 2.8 with MS C/C++ v7.0

There's a precompiled version of CWEB 2.7 (Hans Hermann Bode's CWEB-P),
which has change files for compiling with Turbo-C++.

Let me take this opportunity to clear up any misunderstandings that
may have arisen from my last posting about CWEB-P. I mentioned a two
bugs, one in weaving C++ and one in tangling ANSI-C, but these are
minor bugs and easy to work around. I have used CWEB-P quite a bit
since getting it last month and only have found two or three small
bugs, and HHB posted a correction to the most serious one (which
actually existed in the original CWEB) earlier this week.  CWEB-P is a
good port, and I recommend it either in its precompiled form or as a
starting point for other 16-bit ports. As HHB says in the
documentation for CWEB-P, the C++ support is a first attempt (and a
very good first attempt to hit a moving target), so the fact that a
few unusual constructions might not weave in the most aesthetically
pleasing manner is only to be expected.

I am working (in the evenings) on a port of 2.8 to MSC, but there are
still too many bugs for me to release it now. This may be a wasted
effort, since it appears that 2.9 is due to be released in a few
months, but porting CWEB seems good from an autodidactic perspective,
he says waxing sesquipedalian.

---Jon

================================================================================
Archive-Date: Fri, 11 Dec 1992 16:03:57 CST
Message-ID: <9212112131.AA02125@metasoft.com>
Date: Fri, 11 Dec 1992 16:35:42 -0500
To: LitProg@SHSU.edu
From: metasoft!kjeld@uunet.UU.NET
Reply-To: LitProg@SHSU.edu
Subject: Re: Compiling Cweb 2.8 with MS C/C++ v7.0

>I've been working for two weeks on the problem of making CWeb 2.9
>run on the IBM PC.  This is difficult because of the segmented memory
>architecture, and a great many source changes are necessary.

Have you considered porting it to Windows NT, where you have a flat
32 bit memory architecture (386/486 CPU)?

================================================================================
Archive-Date: Fri, 11 Dec 1992 16:54:40 CST
Message-ID: <9212112242.AA01486@rfi.radiomail.net>
From: Roger_Alexander@rock.intersolv.com
Reply-To: LitProg@SHSU.edu
Date: 10 Dec 92 11:53
To: litprog@SHSU.edu
Subject: tugnews.sty

Can someone tell me where I can get version 1.3 of tugnews.sty (I
believe that it is now called 'ttn1n3.sty) ?

Thanks,

Roger Alexander
================================================================================
Archive-Date: Fri, 11 Dec 1992 17:55:53 CST
Date: Sat, 12 Dec 92 00:31:46 +0100
From: dak@POOL.informatik.rwth-aachen.de
Reply-To: LitProg@SHSU.edu
Message-ID: <9212112331.AA21294@rama>
To: LitProg@SHSU.edu
Subject: Re:  LiteratureProg [Re: How did tangle and weave get their names]

>
>>One of the problems with having a single preeminent writer in a language
>>is that everyone always assumes that any enduring tidbit came from his
>>pen... I thought so too, until I saw (in the WEB manual -- note, WEB,
>>not CWEB) the attribution
>>
>>  O, what a tangled web we weave
>>  When first we practise to deceive!
>>    -- Sir Walter Scott, _Marmion_, canto 6, verse xvii (1808)
>>
>>--Cameron Smith
>>  cameron@symcom.math.uiuc.edu

This is especially strange when you notice that this piece has four
stresses per line, as opposed to Shakespeare's usual five.
(four stresses do appear in Shakespeare, for example for effect. See the
witches in Macbeth. Their chants have four stresses.)

Of course this information is based solely on my memory, might not be
imperative and subject to criticism. But that is all fine in the course
of literacy (the subject of this list ;]).
================================================================================
Archive-Date: Fri, 11 Dec 1992 23:20:53 CST
Date: Fri, 11 Dec 92 11:05:08 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu
Subject: Re: Change files for @i files
To: litprog@SHSU.edu

<gilligan@central.bldrdoc.gov> wrote:

>BTW, I don't have my CWEB files on this computer, so I can't tell you
>the origin of wmerge, but I got my version as part of Hans Hermann
>Bode's CWEB-P package. I think HHB may have written it, but I'm not
>sure. Apologies in advance if I have misdirected the credit.

No, I have not written it, it's by Silvio Levy. As I stated in a previous
message, wmerge is an example program that comes with the original CWEB
distribution. The primary source is on labrea.stanford.edu in the directory
pub/cweb/examples.

Further:

>@x
>@i common.h
>@y
>@i new_common.h
>@z

You can do this with recent versions of CWEB, but not with Spidery WEB
("! No includes allowed in change file"). Therefore, the original common.h
must be renamed or put in another directory and the changed product must be
called common.h also.

Hermann
================================================================================
Archive-Date: Sat, 12 Dec 1992 09:46:52 CST
Date: Sat, 12 Dec 92 14:51:20 +0100
From: coates@spectro.jussieu.fr
Reply-To: LitProg@SHSU.edu
Message-ID: <9212121351.AA13081@ernestine.spectro.jussieu.fr>
To: LitProg@shsu.edu
Subject: Re: Compiling Cweb 2.8 with MS C/C++ v7.0

>
> >I've been working for two weeks on the problem of making CWeb 2.9
> >run on the IBM PC.  This is difficult because of the segmented memory
> >architecture, and a great many source changes are necessary.
>
> Have you considered porting it to Windows NT, where you have a flat
> 32 bit memory architecture (386/486 CPU)?
>

Similarly, CWeb for OS/2 would give you the same flat memory architecture, and
nicely complement the current public domain implementations of C++, TeX, and
Emacs for OS/2.  However, OS-overload does seem to be becoming more of a
problem, doesn't it :-) .
						Cheers,
								Tony.
________________________________________________________________________________
A.B.Coates (Tony)
Labortoire de Spectroscopie Hertzienne de l'ENS
Universite Pierre et Marie Curie
Case 74, 4 place Jussieu		Email:	   coates@spectro.jussieu.fr
F-75252 Paris CEDEX 05			Telephone: +33 1 44 27 44 09
France					Fax:	   +33 1 44 27 38 45

"J'ai mes opinions.  L'universite a ses opinions.  L'intersection de ces deux ensembles est probablement vide."
"I have my opinions.  The university has its opinions.  The intersection of these two sets is probably empty."
________________________________________________________________________________


================================================================================
Archive-Date: Sat, 12 Dec 1992 11:54:59 CST
Date: Sat, 12 Dec 92 11:52:05 -0600
From: plyon@emx.cc.utexas.edu (Paul Lyon)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212121752.AA29714@emx.cc.utexas.edu>
To: LitProg@SHSU.edu
CC: LitProg@SHSU.edu
Subject: Compiling Cweb 2.8 with MS C/C++ v7.0


> Have you considered porting it to Windows NT, where you have a flat
> 32 bit memory architecture (386/486 CPU)?

Given that Windows NT is not yet generally available, it seems to me
that a port to OS/2 2.0, which IS available, is more to the point.
Furthermore, if one is willing to confine use to 386/486 boxes running
MS-DOS and ignore 086/286 machines, then a port using either version
of gcc that uses a DOS extender (the ddj version or the emx version),
should also be straightforward. The code generated by those last will
not run under Windows 3.x or in a DOS box under OS/2 2.0, since the
DOS extenders used are not compatible with what OS/2 2.0 and Windows
3.x expect. On the other hand, if one uses the emx system, the code
you nget will run fine under OS/2 2.0 itself, either full screen or in
a command window; for, indeed, Eberhard Mattes' emx system is primarly
meant as an OS/2 2.0 compiler. (If that name sounds familiar, Mattes
is the "em" of emTeX.) I can't point you to a specific archive site
for the ddj version of gcc, but emx can be had either from its home
port (ftp.uni-stuttgart.de) or from ftp-os2.nmsu.edu.

On a related note, I have done a port of funnelweb to OS/2 2.0. I used
the _other_ port of gcc to OS/2 2.0 (yes, there are two of them!),
namely gcc/2. That does not have DOS extender capability, so the
executable will only run under OS/2 2.0. If there is any interest,
this could be made available. (I plan to upload it to ftp-os2.nmsu.edu
fairly soon, anyway.)

Has anyone else used funnelweb? I quite like it, perhaps in part
because Ross Williams did such a fine job of it.  Indeed, it may be
worth acquiring just for that reason. It is as good as anything I have
ever seen, and could serve as a model of how to put a modest size
software package together.

Ciao,

Paul Lyon
================================================================================
Archive-Date: Sun, 13 Dec 1992 14:30:39 CST
Date: Sun, 13 Dec 92 21:32:29 +0100
From: Marcus Speh <marcus@ips102.desy.de>
Reply-To: LitProg@SHSU.edu
To: Literate Programmers <litprog@shsu.edu>
Subject: Re: faq for litprog
References: <00964ED0.A3C10B20.9426@SHSU.edu>

I second GDG's proposal for a family of LitProg FAQ lists:

[1] Routine postings [probably handled by GDG himself]
[2] A FAQ for each major Literate Programming tool,
    [only FWEB covered until now, it seems]
[3] A master LitProg FAQ [packages, "trivia", hosts, developers]

David Thompson (priv. email) had the idea for a FAQ on the "philosophy"
of LitProg. Starting from that, I'd like to enlarge the familiy
by proposing

[4] a MISC FAQ list [name open to discussion] for topics *not*
    related to software.
    David Thompson's initiative could be a good starting point.
    The reason for that split simply being that most people
    who page through [3] searching packages do not want to be
    bothered by discussions on something they haven't even looked
    at really. [Discussions who might tend to be lengthy and
    controversial, I assume.]

On the other hand (referring to an earlier posting by Eric van Ammers),
it seems desirable that Literate Programming converges towards a
unified tool [does it, really??]. This would imply that any discussion on
"philosophy" has to enter the killing fields of real software at some point.

A more technical point:
The simplest way of retaining homogeneity inspite of splitting
an all-embracing LitProg FAQ, is a common format for the FAQ lists.
  More specifically, I propose that all the FAQ lists should have
Texinfo format (*).
From my (reading) experience, most FAQ(-families) seek that format
at some point since it provides both on-line information
[as an Emacs info file]  and a nice form for printout [TeX, DVI, PS].

For people who'd like to contribute writing or co-authoring a FAQ
but are unwilling to write Texinfo files, I offer to do that job
[at least as long as it concerns a few files only] or send a template
to anyone who's willing to try himself.
Usually, it is easy and straightforward to turn a well-organized text
file into Texinfo and doesn't require substantial rewriting
(all one has to do is inserting control code for the title, headings,
 chapters, sections....and possibly index entries).

Also, I am curious how many people do really use which of the tools
 discussed on this list; from the traffic I'd guess that most
people are engaged with CWEB and FWEB which definitely are the
first FAQ files to be prepared. I do not know how you think about it,
but I like to read self-introductions ["I am working on so-and-so....
I (do not) work with xWEB because..." etc.] -- natural questions once
you receive several private mails from another (Literate) Programmer.

What do you think?--
--Marcus

======================
(*) Texinfo does not the GNU Emacs editor -- it's just much simpler
if you have one [the same is true for the Info facility -- there is
a standalone "info" executable].
The current distribution [texinfo-2.1?.tar.Z]
can be retrieved via Anonymous FTP prep.ai.mit.edu
in directory pub/gnu. Installation is easy since
the FSF [Free Software Foundation] provides self-configuring files
for a wide variety of machines. Without Emacs, what the minimum
needed is two executables,
o "texi2dvi" for the step .texinfo -> .dvi, and
o "makeinfo" for the step .texinfo -> .info (i.e. text),
together with a collection of macros
o "texinfo.tex".
   If you have Emacs on your system, most probably you will also
have those files somewhere in a /local/ dir.

===================================================================
  Marcus Speh                      INTERnet <marcus@ips102.desy.de>
  II. Institut f. Theor. Physik    BITnet   <I02MSP@DHHDESY3>
  Luruper Chaussee 149             DECnet   <13313::SPEH>
  2000 Hamburg 50/Germany   Tel.(040)8998-2260  FAX:(040)8998-2267
================================================================================
Archive-Date: Sun, 13 Dec 1992 23:19:28 CST
Date: 14 Dec 92 00:13:37 EST
From: "Randy T. Merkel" <73537.3705@CompuServe.COM>
Reply-To: LitProg@SHSU.edu
To: Literate Programming Discussion List <LitProg@SHSU.edu>
Subject: Unsubscribe me
Message-ID: <921214051336_73537.3705_EHC36-1@CompuServe.COM>

unsubscribe


================================================================================
Archive-Date: Mon, 14 Dec 1992 18:25:09 CST
Message-ID: <199212150023.AA11799@postoffice.mail.cornell.edu>
Date: Mon, 14 Dec 1992 19:23:42 -0500
To: LitProg@SHSU.edu
From: eds2@cornell.edu (Eric Scharff)
Reply-To: LitProg@SHSU.edu
Subject: Texinfo

>  More specifically, I propose that all the FAQ lists should have
>Texinfo format (*).
>From my (reading) experience, most FAQ(-families) seek that format
>at some point since it provides both on-line information
>[as an Emacs info file]  and a nice form for printout [TeX, DVI, PS].

I personall would find this to be an acceptable format, but I use emacs
regularly.  For those users that don't, a similar approach may be taken by
not using the texinfo macros and simply creating a Master LitProg style
sheet and distributing the faq in TeX format.  Whould anyone else like to
comment on these alternatives?

-Eric Scharff
 eds2@cornell.edu

================================================================================
Archive-Date: Mon, 14 Dec 1992 20:19:02 CST
From: jfieber@sophia.smith.edu (John Fieber)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212150219.AA07411@sophia.smith.edu>
Subject: Re: Texinfo
To: LitProg@shsu.edu
Date: Mon, 14 Dec 92 21:19:18 EST

> I personall would find this to be an acceptable format, but I use emacs
> regularly.  For those users that don't, a similar approach may be taken by
> not using the texinfo macros and simply creating a Master LitProg style
> sheet and distributing the faq in TeX format.

Why would making a custom LitProg style be any simpler than using
the texinfo macros that already exists?  If people don't want to
use emacs, (and there certainly are some) there is a standalone
info reader that I believe has been ported quite a few platforms.
If that still doesn't satisfy people, they can just feed it to
TeX and get a nice paper copy.

I personally like TeXinfo documentation because it can painlessly
be converted into my Amiga's "native" hypertext so I can use a
nice gui based hypertext browser to read them with.  Has anybody
done this on other platforms?  I know ms-windows has a hypertext
sort of help system but know nothing of the format...

My vote would be for TeXinfo since the same source document can
be so easily adapted to the user's preferred form.

-john

=== jfieber@sophia.smith.edu ================================================
======================================= Come up and be a kite!  --K. Bush ===
================================================================================
Archive-Date: Tue, 15 Dec 1992 05:58:55 CST
Date: Tue, 15 Dec 92 12:57:50 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu
Subject: RE: Compiling Cweb 2.8 with MS C/C++ v7.0
To: litprog@SHSU.edu

George D. Greenwade wrote:

>It's not 2.8, but....  I attempted to ftp to dione.rz.uni-osnabrueck.de
>(where Hans Hermann [I believe] keeps just about everything for the PC).
>Unfortunately, after connecting, I was unable to issue any commands as I
>never got a prompt.  So I went to ftp.uni-stuttgart.de and retrieved
>cweb-p.zip and have made it available from Niord.SHSU.edu as
>[FILESERV.PC-WEB]CWEB-P27.ZIP (version 2.7 for DOS, with executables,
>etc.).  I added the "27" to better identify the version number (sorry to
>have bastardized the filename).

The server in Osnabr\"uck has been changed to tethys.rz.uni-osnabrueck.de
(131.173.17.10). I have mentioned this in my announcement of the latest
CWEB-p release, but the hint maybe has not been broad enough. Sorry for that.

Anyway, the Stuttgart version of cweb-p.zip is up-to-date as well. It is a
port of CWEB 2.7, indeed. Although I have a set of changes to CWEB 2.8 also,
I will not make them public, as I experimented a bit with the structure of
the changes with the result, that it requires certain tools to adapt them. I
think, it's not worth to make an effort to remove these requirements in view
of the upcoming 2.9++ release of CWEB. Because the changes that will remain
in this version are almost exclusively PC related, I will rename the package
from CWEB-p to CWEBPC as it has been called earlier; it will be released
soon after CWEB 2.9++ gets out of beta state. (By the way, George: the
current CWEBPC.ZIP on niord is a previous version of CWEB-P27.ZIP, so you
can delete it.)

>Quick question to you literate programmers out there: where in the heck do
>you generally retain the version numbers in your releases?  Is there a
>given file to look at or is it embedded in some specific place?  Or is this
>a topic which hasn't been discussed among literate programmers (this is not
>true, I am pretty sure).  Sure would make archiving easier, if......... ;-)

Hm, I never took part in such a discussion. I think, the version number
should be located somewhere at the beginning of each source file, and---if
there is more than one source file---there should be a README file that also
contains the (most recent) version number somewhere at the beginning (I
admit that I sometimes have forgotten the latter). I would refuse to use a
more rigid pattern here, because the layout of a file in my opinion is a
very individual matter. However, if it would be helpful for archiving, I
suggest to include a file VERSION in each package that contains nothing than
the version number and the date of the most recent source file.

Hermann
================================================================================
Archive-Date: Tue, 15 Dec 1992 06:17:39 CST
Date: Tue, 15 Dec 92 13:21:39 +0100
From: Marcus Speh <marcus@ips102.desy.de>
Reply-To: LitProg@SHSU.edu
To: Literate Programmers <litprog@shsu.edu>
Subject: Re: Texinfo
References: <199212150023.AA11799@postoffice.mail.cornell.edu> <9212150219.AA07411@sophia.smith.edu>

> Why would making a custom LitProg style be any simpler than using
> the texinfo macros that already exists?  If people don't want to
> use emacs, (and there certainly are some) there is a standalone
> info reader that I believe has been ported quite a few platforms.
> If that still doesn't satisfy people, they can just feed it to
> TeX and get a nice paper copy.

I certainly agree with that point of view.
The info reader mentioned by John is part of the Texinfo distribution
available from prep.ai.mit.edu (in directory pub/gnu) (*).

Just in case people who haven't heard of Texinfo are getting confused
here: the debate on a format for the FAQ doesn't really have to bother
anyone but the prospective FAQ-maintainers, unless you insist
on having a true TeX FAQ file (as Eric Scharff proposed).
As John Fieber pointed out, once a FAQ has been prepared in Texinfo,
the mere consumer of the FAQ has a couple of options, and it's quite
improbable that none of Texinfo's children will be unusable for him.

--Marcus
--<marcus@ips102.desy.de>

(*) Alternatively one may invoke Emacs just to read the Info tree;
    in this case the info.el file can be easily adapted shielding
    a user unwilling to tinker with Emacs from any other but the
    one-letter commands of Info. That is what we are doing on our
    cluster where few people know anything else but vi(1).
================================================================================
Archive-Date: Tue, 15 Dec 1992 06:23:02 CST
Date: Tue, 15 Dec 92 13:27:09 +0100
From: Marcus Speh <marcus@ips102.desy.de>
Reply-To: LitProg@SHSU.edu
To: Literate Programmers <litprog@shsu.edu>
Subject: Re: Texinfo
References: <199212150023.AA11799@postoffice.mail.cornell.edu> <9212150219.AA07411@sophia.smith.edu>

 Of course I meant

> As John Fieber pointed out, once a FAQ has been prepared in Texinfo,
> the mere consumer of the FAQ has a couple of options, and it's quite
> improbable that none of Texinfo's children will be   usable for him.
                                                     ^^
[The non-native English speaker's heavy burden.]

--Marcus
--<marcus@ips102.desy.de>

================================================================================
Archive-Date: Tue, 15 Dec 1992 07:01:27 CST
Date: Tue, 15 Dec 92 13:56:51 +0100
From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9212151256.AA04888@hp5.iti.informatik.th-darmstadt.de>
To: litprog@shsu.edu
Subject: [comp.lang.apl] APLWEB and Literate Programming in APL

FYI, for those without News access.

I'll add APLWEB to the WEB archive in Darmstadt [*] RSN. (Ie, it will
be there tomorrow.)

Enjoy,
    Joachim

[*] ftp.th-darmstadt.de:/pub/tex/src/webware

---------------- included article follows:

Archive-name: auto/comp.lang.apl/APLWEB-and-Literate-Programming-in-APL


			Literate programming in APL
				and APLWEB

	A few years ago, Donald Knuth introduced WEB, a system for
	presenting source code and documentation in a single document.
	His scheme allows an author to give extended and copious notes
	about the intention of the code, along with the code itself, in
	a single document.

	Most readers will have heard about TeX, the most famous example
	of a successful product done this way, and I am sure that there
	must be other programming products done with WEB, but I can not
	name any others.  Now, from the University of Bielefeld comes
	APLWEB, a method for presenting APL code in a literate way.
	With APLWEB exposition and code may be blended into a single
	source document.  Two tools, TANGLE and WEAVE, are provided,
	which extract the APL executable code and produce TeX source,
	respectively.

	APLWEB is a means by which one may write an article or book,
	and include along with it, in one place, the APL source for the
	immediate execution lines and APL functions that accompany it.

	The developer of APLWEB is Dr. Christoph von Basum, e-mail
	<CvB@erasmus.hrz.uni-bielefeld.de>, who has written his Ph.D.
	thesis about literate programming in APL.  He is the author
	of all the C-code and TeX-macros. The ccapl-font was designed
	by students at the University of Bielefeld.

	This work was communicated to us by Bernhard Strohmeier, whose
	e-mail address is <bstrohmeier@erasmus.hrz.uni-bielefeld.de>.
	Mr. Strohmeier is a Ph.D. student at the University of
	Bielefeld, working under the supervision of Professor Peter
	Naeve and Dr. Peter Wolf.  Mr.  Strohmeier is using APLWEB as a
	tool to aid in the writing of his doctoral thesis about causal
	networks.

	The first English language release of this work works with IBM
	APL2 and STSC APL and is now available by anonymous ftp at
	watserv1.uwaterloo.ca (129.97.129.140) in the directory
	languages/apl/aplweb.  It is designed to run on IBM personal
	computers.

	Lee Dickey
	1992-12-07

--
Prof. Leroy J. Dickey, Faculty of Mathematics, U of Waterloo, Canada  N2L 3G1
   Internet:      ljdickey@math.UWaterloo.ca
                  ljdickey@math.waterloo.edu
   UUCP:          ljdickey@watmath.UUCP

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany

	    @d infinity=255 {$\infty$ (approximately)}
							[DEK, in weave.web]
================================================================================
Archive-Date: Tue, 15 Dec 1992 07:33:07 CST
Date: 15 Dec 1992 14:26 +0000 (GMT)
From: "Eric W. van Ammers, LUW, tel: (+31)8370-83356" <AMMERS@RCL.WAU.NL>
Reply-To: LitProg@SHSU.edu
Subject: Aboout FAQ's and Discussions
To: LITPROG@shsu.edu
Message-ID: <01GSCJBX4IHSBRAXXK@RCL.WAU.NL>


Discussions and FAQ's

The first FAQ on Literate Programming, dedicated to FWEB, has been born. This
is a good start and it will definitely help many newcomers in the field to find
their way much more efficiently. However, I would like stimulate the discussion
within this group towards more general topics and some of the more recent mails
suggest the time is ripe. Evidently a FAQ is to summarize each discussion.
    First of all I want to support and extend the earlier made suggestion to
start a discussion on literate programming tools. Not only would I like to have
an overview of the specific tools that are around, but in addition I would
welcome a discussion on the properties that we think such a tool should exhibit
in general and which properties we consider of highest priority. By means of
this discussion it maybe even possible to get to a sort of specification for a
future LP-tool.
    Secondly I'm interested in the more 'philosophical' aspects of literate
programming. I'm convinced that this will be very helpful to spread the word.
Although I'm a fairly experienced literate programmer myself, I have e.g. a lot
of trouble explaining the superiority of the LP paradigm. Let me jot down a few
of the questions that in my opinion belong to this category
a.  What makes a literate program superior compared to more conventional
     techniques e.g. stepwise refined modules in combination with a
     (consistent) documentation.
b.  Is a literate program superior to a documentation that contains every
     refinement as a separate routine described independently? And if yes, why?
c.  Most people agree these days that "programming" is essentially independent
     of any particular "programming language". That is a "good" programmer will
     deliver "good" programs in any language (given a couple of weeks to learn
     the language), while a "bad" programmer will never produce good programs
     (no matter what language they use). Now, if it is true that LP somehow
     captures the essentials of "good programming", then it must necessarily be
     independent of any particular language. Can we define these essential
     characteristics of LP?

It seems to me that this sort of discussions are in the long run much more
important and interesting then the strictly technical ones that currently
dominate.
    A final remark about the format of FAQ's. A certain Texinfo format has been
mentioned several times. But please take notice that not everyone programs
literate with WEB and LaTeX. So I strongly recommend a more formatter
independent format for FAQ's.

Eric W. van Ammers    (ammers@rcl.wau.nl)
================================================================================
Archive-Date: Tue, 15 Dec 1992 09:20:18 CST
Date: Tue, 15 Dec 92 09:19:54 CST
From: mcguire@cs.tamu.edu (Dr. Tim McGuire)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212151519.AA26778@neuron.cs.tamu.edu>
To: LitProg@shsu.edu
Subject: Re: Texinfo

This discussion of TeXinfo format for the FAQ-list has given me
a brainstorm about a problem we're discussing here at the Institute.

We are considering using FWEB for our development of scientific
codes.  The question was raised concerning on-line documentation.
Is there a tool that will display a WEB with TeXinfo?  We desire
on-line documentation that is easily navigable, displayable on a
variety of display devices, relatively compact, and has the ability
to include graphic diagrams in say encapsulated PostScript.

Any information you can give me would be much appreciated.

Tim McGuire
mcguire@cs.tamu.edu
------
Research Associate
Institute for Scientific Computation
\TeX{}as A\&M University
------
================================================================================
Archive-Date: Tue, 15 Dec 1992 11:46:23 CST
From: jfieber@sophia.smith.edu (John Fieber)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212151745.AA12207@sophia.smith.edu>
Subject: Re: Texinfo
To: LitProg@shsu.edu
Date: Tue, 15 Dec 92 12:45:35 EST

> Is there a tool that will display a WEB with TeXinfo?  We desire
> on-line documentation that is easily navigable, displayable on a
> variety of display devices, relatively compact, and has the ability
> to include graphic diagrams in say encapsulated PostScript.

Or, since TeXinfo is already tuned to computer documentation,
maybe an extension or two to TeXinfo along with a tangle that
takes a TeXinfo document as its `web' source.  (I have not
thought out any of the details; just an extension of Tim's
brainstorm)

Another mostly unrelated brainstorm, has anybody tried out cweb
with eplain rather than plain TeX?

-john

=== jfieber@sophia.smith.edu ================================================
======================================= Come up and be a kite!  --K. Bush ===
================================================================================
Archive-Date: Tue, 15 Dec 1992 11:59:17 CST
Message-ID: <199212151757.AA15736@postoffice.mail.cornell.edu>
Date: Tue, 15 Dec 1992 12:57:45 -0600
To: LitProg@SHSU.edu
From: eds2@cornell.edu (Eric Scharff)
Reply-To: LitProg@SHSU.edu
Subject: Re: Texinfo

>Just in case people who haven't heard of Texinfo are getting confused
>here: the debate on a format for the FAQ doesn't really have to bother
>anyone but the prospective FAQ-maintainers, unless you insist
>on having a true TeX FAQ file (as Eric Scharff proposed).
>As John Fieber pointed out, once a FAQ has been prepared in Texinfo,
>the mere consumer of the FAQ has a couple of options, and it's quite
>improbable that none of Texinfo's children will be unusable for him.

I agree.  The only reason I had proposed a pure TeX file was because I have
never used a texinfo file outside of emacs, so I didn't know how convenient
it would (or would not) be.  It seems then that there should be no problem
with the texinfo file.

By the way, I don't know anything about the windows Hypertext systems, but
I am pretty sure that there is an MS-DOS based hypertext program that can
read info files.

-Eric Scharff
 eds2@cornell.edu

================================================================================
Archive-Date: Tue, 15 Dec 1992 13:06:07 CST
Date: Tue, 15 Dec 92 19:43:09 MEZ
From: Peter Schmitt <A8131DAL%AWIUNI11.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu
Subject: Re: Texinfo
To: LitProg@SHSU.edu

>
>I agree.  The only reason I had proposed a pure TeX file was because I have
>never used a texinfo file outside of emacs, so I didn't know how convenient
>it would (or would not) be.  It seems then that there should be no problem
>with the texinfo file.
>

I have never looked at a texinfo file yet - therfore:

Is it (easily) readable *without any tool*?
I think, a FAQ should be usable with a pure ASCII file viewer -
everything else would only be a bonus ---
Remember: FAQ's are also (or even especially) for not so
 computer literate people!
(They should not need another FAQ: How to read a FAQ? before consulting it!)

Peter


Peter Schmitt                             a8131dal@awiuni11.edvz.univie.ac.at
                                                        schmitt@awirap.bitnet
-----------------------------------------------------------------------------
Institute of Mathematics                                     Strudlhofgasse 4
University of Vienna                                              A-1090 Wien
                                                                      Austria
================================================================================
Archive-Date: Tue, 15 Dec 1992 13:56:21 CST
Message-ID: <9212151954.AA00248@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Tue, 15 Dec 1992 13:54:56 -0600
To: LitProg@shsu.edu
Subject: Re: LiteratureProg [Re: How did tangle and weave get their names]

Just to get into the act:

	I don't really know where the "Oh what a tangled web..." quote
	comes from (and my _Oxford_Dictionary_of_Quotations_ is back in New
	Jersey), but there is a "punctured" ending (which may or may not be
	from Richard Armour's _Punctured_Poems_) that give us:

		Oh what a tangled web we weave
		When first we practice to deceive.
		But when we've practiced quite a while,
		How vastly we improve our style!

	If the modified version is not Armour's, I'd appreciate someone
	letting me know who wrote it.

		-- Lee Wittenberg
================================================================================
Archive-Date: Tue, 15 Dec 1992 14:44:09 CST
Message-ID: <9212152041.AA03547@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Tue, 15 Dec 1992 14:41:06 -0600
To: LitProg@shsu.edu
Subject: Re: Compiling Cweb 2.8 with MS C/C++ v7.0

Nelson Beebe writes:

  > I've been working for two weeks on the problem of making CWeb 2.9
  > run on the IBM PC.  This is difficult because of the segmented memory
  > architecture, and a great many source changes are necessary.  I have
  > made considerable progress this week, and hope to be able to report
  > success in the near future.  In the meantime, I'd suggest postponing
  > further attempts at porting to that architecture to avoid duplication
  > of labor.

The segmented architecture problem really doesn't require all that many
changes.  I was able to get CWEB v2.4 compiled under Borland C fairly
easily.  I don't think there have been any significant changes regarding
portability since then (I've been using Spidery WEB, since CWEB doesn't yet
support Standard C).  The only changes I had to make were as follows:

	For CTANGLE:  I simply reduced the size of each array to <= 64K
	bytes, compiled with the compact memory model (small code/large
	data), and used the -Ff option (which automatically assigns arrays
	larger than a certain size their own segment).  In Microsoft C, you
	should be able to keep the arrays their original size and compile
	using the huge memory model.  The /Gt option is supposed to do the
	same thing as Borland's -Ff.  (I say "should" because I haven't
	yet been able to scare up enough disk space to install the Microsoft
	compiler, so that I can try it).

	For CWEAVE:  I reduced the array sizes as with CTANGLE (ditto on
	the compact memory model and the -Ff option), but there is an
	interesting flaw in the CWEAVE code.  I say flaw, rather than bug,
	because the code is correct, it is just not portable.  There are
	a number of places in the code where constructions like:

		n + p - q
	or

		p + n - q

	(where p and q are pointers and n is an integer) appear.  On
	a machine with a 64K address space (like the IBM-PC or PDP-11), the
	addition can cause an arithmetic overflow, but since there is an
	invisible multiplication in the pointer arithmetic, the subtraction
	does not undo the problem -- it makes it worse.  Theoretically, this
	could also happen in a 32-bit pointer environment (if the array is
	located in *very* high memory -- maybe it *is* a bug, after all).
	I don't know if it is fixed in the latest version -- it was still
	in 2.7.  The only way to fix it is to parenthesize the expression
	so that the pointer subtraction occurs before the integer value is
	added.  That way overflow can never occur.

	Once I fixed this problem, I had no problem getting CWEAVE running
	on my PC.  Incidentally, the same comments apply to Spidery WEB, if
	anyone is interested.

	Personal note:  It was the discovery of this bug that converted me
	to Literate Programming.  If I had not had the woven listing, I
	would have given up long before I found the problem (the index was
	especially helpful).  As it was, I was able to track down a
	particularly well-hidden bug in a fairly short period of time
	(less than 2 weeks, part-time).

Hope this helps.

	-- Lee
================================================================================
Archive-Date: Tue, 15 Dec 1992 16:22:03 CST
Date: Tue, 15 Dec 92 23:19:59 +0100
From: dak@POOL.informatik.rwth-aachen.de
Reply-To: LitProg@SHSU.edu
Message-ID: <9212152219.AA06640@rama>
To: LitProg@SHSU.edu
Subject: Re: Texinfo

TeXinfo files are pretty readable even using ordinary editors. Of course
I exempt TeX formulas which aren't displayed by emacs and info properly
as well. In addition, if you have texinfo.tex (available from the
standard GNU sites), plain TeXing will produce a printed doc (that
is, you do not need a precompiled format)
So TeXinfo should be ok, the problem is not as much reading it, but
the additional work in creating it.
================================================================================
Archive-Date: Tue, 15 Dec 1992 19:34:22 CST
From: adb-b@minster.york.ac.uk
Reply-To: LitProg@SHSU.edu
Date: Wed, 16 Dec 92 01:22:59
Message-ID: <swordfish.724469665@minster.york.ac.uk>
To: LitProg@SHSU.edu
Subject: Re: How tangle and weave got their name

	leew@cs.utexas.edu (Lee Wittenberg)
	writes:
>	Just to get into the act:

>		I don't really know where the "Oh what a tangled web..." quote
>		comes from (and my _Oxford_Dictionary_of_Quotations_ is back in New
>		Jersey), but there is a "punctured" ending (which may or may not be
>		from Richard Armour's _Punctured_Poems_) that give us:
>
>			Oh what a tangled web we weave
>			When first we practice to deceive.
>			But when we've practiced quite a while,
>			How vastly we improve our style!
>
>		If the modified version is not Armour's, I'd appreciate someone
>		letting me know who wrote it.
>
>			-- Lee Wittenberg

Although I haven't heard of the modified version, I
can help you with the original.
The quote is referenced Jon Bentley in CACM 29(5) [May 1986], p365;
and was written by Walter Scott.

Andy.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|Andrew D. Brydon   |                                                        |
|Univeristy of York |      Email:     adb-b@minster.york.ac.uk               |
|York, ENGLAND.     |    Project:     adb-b-web@minster.york.ac.uk           |
|YO1 5DD            |                                                        |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

================================================================================
Archive-Date: Thu, 17 Dec 1992 10:20:27 CST
Date: Thu, 17 Dec 92 08:17:30 CST
From: grodecki@quivira.informix.com (Don Grodecki)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212171417.AA13163@quivira.lenexa.pd>
To: LitProg@shsu.edu
Subject: funnelweb

There is some great information in the attached that I thought
others might want to know:


----- Begin Included Message -----

From uunet!emx.cc.utexas.edu!plyon Wed Dec 16 20:12:13 1992
Date:  Wed, 16 Dec 92 19:56:57 -0600
From: uunet!emx.cc.utexas.edu!plyon (Paul Lyon)
Subject: funnelweb

Fweb and funnelweb are quite distinct. Fweb is built on top of the
Cweb framework; although the parser in its weave processor can do
more---all of ratfor, C, C++, and (though the support is not
complete), TeX, it is still confined to those specific languages, and
still imposes on the user the formatting conventions that please its
author. To get something different you will have to hack the weave
processor. (One could possibly get somewhere by modifying the TeX
macro package that Fweb uses, but that might be the harder way to go,
unless, of course, you are already a TeXpert :-)

Funnelweb, on the other hand, does not try to parse the "source" code
at all; it just takes the layout of the source as written, turns off
the meaning of plain TeX's special characters, sets typewriter font,
and then invokes \obeylines and \obeyspaces; all this together causes
TeX to print the source verbatim (the paragraph formatting is turned
off, and TeX does not gobble spaces). The original WEB, Cweb, Fweb,
and Spiderweb all parse and format the source, inserting TeX math
codes for the operators, putting keywords in boldfont, adjusting the
indentation, and so on. If you like the style chosen for the
programme, it looks much nicer that way. Except for Spiderweb, which
can be adapted to various languages by allowing a fair range of
variation in specifying the pretty printing grammar using a large awk
script to process the grammar spec and generate replacement code for
significant chunks of weave, the pretty printing parser(s) in the
other are hard coded. This has it uses besides making the typeset code
more attractive; WEB, Cweb, Fweb, and Spiderweb all do an index of
identifiers for the code that can differentiate, for the most part,
between declaration and use of an identifier (they know enough about
the grammar to do that, but not, of course, as much as a compiler or
interpreter).

None of the tangles (funnelweb included) distinguishes code from
documentation by seeing what is TeX and what is not. Instead they all
use special indicators for the one and the other. In funnelweb, e.g.,
anything enclosed in a `@{', `@}' pair is "source", anything without
is either documentation or other directives to its tangle and weave
components. In WEB, Cweb, Fweb, and Spiderweb, file positioning also
counts. Funnelweb views its source file as chunks of of code
interspersed with documentation, but without restrictions on how many
chunks of code, say, can follow one another without intervening text.
In the others the file is deemed to made up of sections, each of which
has a (possibly empty) documentation section, followed by a (possibly
empty) definition section (macros) followed by a (possibly empty) code
section. The only end delimiter for any one of these parts is the
opening delimiter for the next part. In any case, though one may have
multiple macros in the definition section, one may have at most one
named code chunk in the code part. Effectively, then, the file is
broken up by the @-whitespace-char or `@*' combinations that mark the
beginning of the TeX part of a web section (or module, as Knuth used
to call it, until remonstrations to Silvio Levy (the coauthor of Cweb)
about the use of the term were made in this mailing-list).

Hope this helps...

Paul Lyon

----- End Included Message -----

================================================================================
Archive-Date: Thu, 17 Dec 1992 10:49:44 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Compiling Cweb 2.9++ with Borland-C++
To: LitProg@shsu.edu
Date: Thu, 17 Dec 92 16:47:02 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9212171647.aa10615@salmon.maths.tcd.ie>

Sylvio Levy kindly sent me Cweb 2.9++,
and I found it compiled on the PC with Borland-C++ very easily.
I was using v2.0 of the compiler,
but I doubt if that makes any difference.

The change files are so small that it is quicker to give them
than to describe the changes needed!
The reduced arrays are large enough to tangle and cweave
cweave itself, anyway.
Here they are, followed by the makefile.
They are available from ftp.maths.tcd.ie in pub/TeX/CWEB .

================= common.bcc ==================

This is the change file for CWEB's COMMON under Borland-C++ on the PC.

created:
    10-DEC-1992 Timothy Murphy <tim@maths.tcd.ie>

modified:
    not yet!

@x l.5
% Version 2.9++ --- November 1992
@y
% Version 2.9++ --- November 1992
% With changes for Borland-C++ on the PC
% by Timothy Murphy <tim@@maths.tcd.ie> December 1992
@z

@x l.571
@d max_bytes 90000 /* the number of bytes in identifiers,
  index entries, and section names; must be less than $2^{24}$ */
@y
@d max_bytes 60000 /* the number of bytes in identifiers,
  index entries, and section names; must be less than $2^{24}$ */
@z
===============================================

================= ctangle.bcc =================

This is the change file for CWEB's CTANGLE under Borland-C++ on the PC.

created:
    10-DEC-1992 Timothy Murphy <tim@maths.tcd.ie>

modified:
    not yet!

@x l.5
% Version 2.9++ --- November 1992
@y
% Version 2.9++ --- November 1992
% With changes for Borland-C++ on the PC
% by Timothy Murphy <tim@@maths.tcd.ie> December 1992
@z

@x l.100
@d max_bytes 90000 /* the number of bytes in identifiers,
  index entries, and section names; used in |"common.w"| */
@d max_toks 270000 /* number of bytes in compressed \cee/ code */
@y
@d max_bytes 60000 /* the number of bytes in identifiers,
  index entries, and section names; used in |"common.w"| */
@d max_toks 60000 /* number of bytes in compressed \cee/ code */
@z
===============================================

================= cweave.bcc ==================

This is the change file for CWEB's CWEAVE under Borland-C++ on the PC.

created:
    10-DEC-1992 Timothy Murphy <tim@maths.tcd.ie>

modified:
    not yet!

@x l.5  (TGM)
% Version 2.9++ --- November 1992
@y
% Version 2.9++ --- November 1992
% With changes for THINK C on the Macintosh
% by Timothy Murphy <tim@@maths.tcd.ie> December 1992
@z

@x l.109
@d max_bytes 90000 /* the number of bytes in identifiers,
  index entries, and section names */
@y
@d max_bytes 60000 /* the number of bytes in identifiers,
  index entries, and section names */
@z

@x l.120
@d max_refs 20000 /* number of cross-references; must be less than 65536 */
@y
@d max_refs 10000 /* number of cross-references; must be less than 65536 */
@z
===============================================

================ makefile.bcc =================

# This file is part of CWEB.
# It is distributed WITHOUT ANY WARRANTY, express or implied.
# Version 2.9++ -- November 1992

# Copyright (C) 1987,1990,1992 Silvio Levy and Donald E. Knuth

# Permission is granted to make and distribute verbatim copies of this
# document provided that the copyright notice and this permission notice
# are preserved on all copies.

# Permission is granted to copy and distribute modified versions of this
# document under the conditions for verbatim copying, provided that the
# entire resulting derived work is distributed under the terms of a
# permission notice identical to this one.

#
# Read the README file, then edit this file to reflect local conditions
#

# Makefile modified for Borland-C++ by Timothy Murphy <tim@maths.tcd.ie>

# directory for TeX inputs (cwebmac.tex goes here)
MACROSDIR= /tex/inputs

# directory for CWEB inputs in @i files
CWEBINPUTS= /cweb

# destination directory for executables; must end in /
DESTDIR= /bin/

# Set DESTPREF to null if you want to call the executables "tangle" and "weave"
# (probably NOT a good idea; we recommend leaving DESTPREF=c)
DESTPREF=c

# Set CCHANGES to common-foo.ch if you need changes to common.w
CCHANGES=common.pch

# Set TCHANGES to ctangle-foo.ch if you need changes to ctangle.w
TCHANGES=ctangle.pch

# Set WCHANGES to cweave-foo.ch if you need changes to cweave.w
WCHANGES=cweave.pch

# -ml = large model, -Ff = place large arrays in separate segments
CFLAGS = -O -ml -Ff=5000
LINKFLAGS = -ml

# What C compiler are you using?
CC = bcc

# RM and CP are used below in case rm and cp are aliased
RM= del
CP= copy

##########  You shouldn't have to change anything after this point #######

# Some changes required for Borland-C++, eg .obj for .o <tim@maths.tcd.ie>

CWEAVE = ./cweave
CTANGLE = ./ctangle
SOURCES = cweave.w common.w ctangle.w
ALMOSTALL =  common.w ctangle.w Makefile README common.c common.h ctangle.c \
	cwebman.tex cwebmac.tex examples common.pch ctangle.pch \
	cweave.pch common-man.ch ctangle-man.ch cweave-man.ch \
	prod.w
ALL =  $(ALMOSTALL) cweave.w

.w.tex:
	$(CWEAVE) $* $*.pch

.tex.dvi:
	tex $<

.w.c:
	$(CTANGLE) $* $*.pch

.c.obj:
	$(CC) -c $(CFLAGS) $<

all: ctangle cweave

cautiously: ctangle.exe
	$(CP) common.c SAVEcommon.c
	./ctangle common $(CCHANGES)
	diff common.c SAVEcommon.c
	$(RM) SAVEcommon.c
	$(CP) ctangle.c SAVEctangle.c
	./ctangle ctangle $(TCHANGES)
	diff ctangle.c SAVEctangle.c
	$(RM) SAVEctangle.c

SAVEctangle.c:
	$(CP) ctangle.c SAVEctangle.c

SAVEcommon.c:
	$(CP) common.c SAVEcommon.c

common.c: common.w $(CCHANGES)
	$(CTANGLE) common $(CCHANGES)

common.obj: common.c
	$(CC) $(CFLAGS) -DCWEBINPUTS="$(CWEBINPUTS)/" -c common.c

ctangle: ctangle.obj common.obj
	$(CC) $(LINKFLAGS) ctangle.obj common.obj

ctangle.c: ctangle.w $(TCHANGES)
	$(CTANGLE) ctangle $(TCHANGES)

cweave: cweave.obj common.obj
	$(CC) $(LINKFLAGS) cweave.obj common.obj

cweave.c: cweave.w $(WCHANGES)
	$(CTANGLE) cweave $(WCHANGES)

doc: $(SOURCES:.w=.dvi)

usermanual: cwebman.tex cwebmac.tex
	tex cwebman

fullmanual: cweave.exe usermanual $(SOURCES) common-man.ch ctangle-man.ch cweave-man.ch
	./cweave common.w common-man.ch
	tex common.tex
	./cweave ctangle.w ctangle-man.ch
	tex ctangle.tex
	./cweave cweave.w cweave-man.ch
	tex cweave.tex

# be sure to leave ctangle.c and common.c for bootstrapping
clean:
	$(RM) *.obj
	$(RM) *.bak
	$(RM) common.tex
	$(RM) ctangle.tex
	$(RM) cweave.tex
	$(RM) cweave.c
	$(RM) ctangle.exe
	$(RM) cweave.exe

install: all
	$(CP) cweave $(DESTDIR)$(DESTPREF)weave
	$(CP) ctangle $(DESTDIR)$(DESTPREF)tangle
	$(CP) cwebmac.tex $(MACROSDIR)
===============================================

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Thu, 17 Dec 1992 10:55:16 CST
Date: Thu, 17 Dec 92 11:48 EST
From: Jeff Rummel <RUMMEL%DUKEFSB.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu
Subject: cnoweb modifications
To: LITPROG@SHSU.edu


I have been using c-no-web for a while with much success and am now trying
to make a modification to it which has led me to a tricky problem I am
not sure how to solve.  What I would like is to have modules be independent
so they can be compiled/texed individually.  So each starts with
   /* ãinput cnoweb ...
and ends with
   ... /* ãendc */

The change would allow me to have a source file that collects all the separate
source files into one big listing (with one toc).  I imagined something like

/* ãinput cnoweb
   ãprintingmodulestrue   % new if to control how the ãendc in each file acts
   ãinput{main.c}
   ãinput{foo1.c}
   ... etc ...
   ãprintingmodulesfalse
   ãendc */

I added an ãifx so that cnoweb.tex is only read during the first ãinput.
The changes required were not too bad -- I planned to use the ãif to cause
ãendc to either ãendinput or ãend (and to handle when to do the toc).  But
there is a slight hitch, since ãendinput is a flag that causes the file to
close at the end of the line, not when ãendinput is encountered.  So if the
main.c has

   /* ãendc */

the */ flips the code back into verbatim mode and foo1.c is not input because
'ã' has no special meaning.  If, however, main.c ends with

   /* ãendc
    */

then everything works perfectly (well almost).  Now I suppose I could live
with the convention of putting the closing */ on its own line, but I would
really prefer to have a scheme that is a little more robust.

In the verbatim mode, '/' is an active character that looks to see if the
next character is a '*' -- if it is, then the processing shifts to tex mode.
Clearly

   ãdefãmodule#1{ãinput #1 /*}

will not work, because this is a plain '/' and not an active one.  This is
where my texpertise is not what it should be: I tried ãgdefãmodule in a
group where '/' *is* active, but that didn't seem to work.

Anything else I should try?  What I have now is a 'print' in my makefile
that spins all the files through tex, but I really would like a single
document with page numbers and a toc.  If there is another more obvious
way to do this, I would appreciate suggestions.  TIA.

--jeff.

























================================================================================
Archive-Date: Thu, 17 Dec 1992 10:56:36 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Compiling Cweb 2.9++ with Borland-C++
To: LitProg@shsu.edu
Date: Thu, 17 Dec 92 16:54:02 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9212171654.aa15788@salmon.maths.tcd.ie>

If using the change files for CWEB 2.9++ which I just posted,
please make global substitution of .bcc for .pch in the Makefile.bcc .
(I changed by mind about an appropriate extension after the last minute!)

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Thu, 17 Dec 1992 14:54:30 CST
Message-ID: <9212172051.AA01817@lovelace.geom.umn.edu>
To: tim@maths.tcd.ie
Subject: Re: Compiling Cweb 2.9++ with Borland-C++
CC: levy@geom.umn.edu, LitProg@shsu.edu
Date: Thu, 17 Dec 92 14:51:56 CST
From: Silvio Levy <levy@geom.umn.edu>
Reply-To: LitProg@SHSU.edu


The files for CWEB 2.9++ that I sent you were NOT for further
distribution.  Thank you for the changes to make it run under
Borland C++, but any further comments on 2.9++ should be sent
to me only.

Silvio
================================================================================
Archive-Date: Thu, 17 Dec 1992 17:30:22 CST
Date: Thu, 17 Dec 92 16:28:22 MST
From: "Nelson H. F. Beebe" <beebe@math.utah.edu>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
CC: beebe@math.utah.edu
Subject: Re: Compiling Cweb 2.9++ with Borland-C++
Message-ID: <CMM.0.90.2.724634900.beebe@plot79.math.utah.edu>

I've not distributed the 2.9 code anywhere; the only comment I made
was on the problems I had on the IBM PC, which remain unresolved.
I've received some suggestions from 2 individuals which I plan to
investigate.

I have to leave town unexpectedly tonight because of a family emergency;
I'll work more on the CWEB 2.9 ports when I get back.


========================================================================
Nelson H. F. Beebe                      Tel: +1 801 581 5254
Center for Scientific Computing         FAX: +1 801 581 4148
Department of Mathematics, 105 JWB      Internet: beebe@math.utah.edu
University of Utah
Salt Lake City, UT 84112, USA
========================================================================
================================================================================
Archive-Date: Fri, 18 Dec 1992 03:02:58 CST
Date: Fri, 18 Dec 92 09:58:55 MDT
From: Zdenek Wagner <WAGNER%CSEARN.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu
Subject: Re: cnoweb modifications
To: Literate Progaramming list <LitProg@SHSU.edu>

Unfortunately I am not a TeXpert a dn I do not have my notebook here. However,
as I remember fro the tutorial by Phil Taylor at EuroTeX, I hope that
ãaftergroup should solve your problem.

                                                ,
,~~~/        /`               /     /|      /~~~
   /        /           |_/  /_/   ' |     /
  /     /~~/ /~~/ /~~/ /~~/ /\       | /| / /~~/ /~~/ /~~/ /~~/ /~~~
 /   , /  / /~~~ /  / /~~~ /  \      |/ |/ /  /_/  / /  / /~~~ /
 ~~~~  ~~~  ~~~ '  '  ~~~ '    `           ~~~  ~~/ '  '  ~~~
                              Zdenek Wagner______/
================================================================================
Archive-Date: Mon, 21 Dec 1992 13:37:35 CST
Date: Mon, 21 Dec 1992 13:35:41 -0600
From: thompson@qmsbs2.er.usgs.GOV (David Thompson)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212211935.AA18521@qmsbs2>
To: litprog@shsu.edu
CC: thompson@qmsbs2.er.usgs.GOV
Subject: misc faq proposal


Many authors have discussed a general faq for the LitProg discussion list.
Much of recent discussion was focused on the format of the proposed faq.
Personally, I think this is putting the cart before the horse.  Of greater
import is the contents of the faq.

I have been waffling about whether I should volunteer to undertake
production and maintainance of the LitProg faq (general version).  I'm not
certain I have the time to put into creating and maintaining this document.
OTOH, I have already spent so much time thinking about what it should
contain and how it should be presented, that I might as well volunteer.
So, if you are willing to give me some time to put together the details,
I'm willing to put together a faq. I'm facing a career change and move in
about two weeks, so I'll be a little busy until 1Feb93 (or so). I'd like to
have to have that much time to put something together, although I may be
able to get a draft together before then.  (In other words, I'm not
promising anything until 1Feb93. :-)

What I propose in a litprog faq is to extract parts of Marcus Speh's FWEB
faq, and add sections that are more general in nature.  Specifically, I
suggest that the following be included (for starters):

* How to get the faq.
     * Anonymous ftp to niord.shsu.edu
* The LitProg mailing list.
     * Edited from Speh's FWEB FAQ
* What is literate programming?
     * Excerpts from LitProg archives
     * Pointers to specific articles
* What tools are available?
     * List of known tools
     * Pointer to other LitProg FAQ's (Speh's for now)
* Where are the tools?
     * niord.shsu.edu
     * List of developer's sites?
* How do I begin literate programming?
     * (WhooBoy!  Should I use "Just Do It!"?)
* What other resources are available?
* Code examples.
     * Cameron Smith's KR-CWEB
     * Bart Child's examples for FWEB
* List of developers.
* Brief bibliography and pointer to Nelson Beebe's exhaustive bibliography.

There are other important topics, but the above are a start.  I'll go
through (again) the LitProg archives for additional topics.

[Step 1] If the group is willing to allow me to babysit the LitProg FAQ for
a while, then I need to know.

[Step 2] If I'm going to be babysitter and any of you have further
suggestions, please send me email at my signature address below.  I'd like
to suggest that we preserve the mailing list for literate programming
details, and take discussions of the faq private, in general.  If this
isn't appropriate, I'm sure I'll hear about it. ;-)

[Step 3] If I'm going to create a general faq, then I'll need contributions
of material to fill in the outline above.  I'd like developers to contact
me (for the developer's list and for a paragraph or so describing your tool),
plus I'd like literate programmers to help me out.  Remember, I'm a civil
engineer and not a computer scientist!  (And no cracks about my civility,
ya hear!? :-)

David B. Thompson (thompson@qmsbs2.er.usgs.gov)

P.S.  As of 1Jan93, my email address will be:
wqdbt@ttacs1.ttu.edu
================================================================================
Archive-Date: Tue, 22 Dec 1992 00:47:47 CST
From: Klaus Guntermann <gunterma@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9212220648.AA17318@spelunke.iti.informatik.th-darmstadt.de>
Subject: tie version 2.4 available
To: litprog@shsu.edu
Date: Tue, 22 Dec 1992 07:48:01 +0100 (MEZ)
CC: hhbode@dosuni1.rz.Uni-Osnabrueck.de (Hans-Hermann Bode)

As Hans-Hermann Bode already mentioned on 10 Dec 92 in the litprog
list, a CWEB version of `tie' is now available. I append the README
file four your information (and I don't mind if someone puts the tar
archive on other servers for convenient retrieval).

Including seasonal greetings

	Klaus Guntermann <guntermann@iti.informatik.th-darmstadt.de>

For the history records: this version is a rewrite of the Pascal WEB
version of `tie', which had been announced in TUGboat Vol. 7, No. 3
(Oct. 1986).
----------------------TIE README--------------------------
This is the README file of the `tie' distribution.
 The current version is 2.4.
 This file was created on 18 Dec 92.


SUBJECT:

`Tie' is a program which was first developed to allow WEB programmers
(be it Pascal-, C- or any other WEB) to add more than one change file
to their programs.

 But it can be used to create new versions of the WEB file with
incorporated changes as well. This feature does not depend on any
special WEB dialect, nor on using WEB at all, as the only controls to
be interpreted are the change requests in the change files (delimited
by @x, @y and @z).
 This makes `tie' also usable for any other language, or even data
files. See the documentation tiedoc.tex and the example file tie.tie.

 Actually, this gives a second file update mechanism besides `patch'.
Whereas patch relies on line numbers and/or precise contexts produced
by diff, tie depends on the order of changes and on a an amount of
context lines determined manually.


REQUIREMENTS:

This version of `tie' is written in CWEB. To preprocess and compile
the source you will need a working `ctangle'.
 A pretangled tie.c is supplied which has been compiled successfully
on a variety of workstations using either the manufacturer supplied
C compiler in the K&R or ANSI version, or gcc (version 1.40).
 Please note, that the CWEB by Silvio Levy and Donald E. Knuth must
be at least at version 2.8, to process and compile `tie' without
problems.


DISTRIBUTION:

The reference version of tie may be retrieved by anonymous ftp from

	ftp.th-darmstadt.de [130.83.55.75]
	directory pub/tex/src/webware
	file tie-<version>.tar.Z

where <version> is the most current version number.
 See the source file tie.w for details of the distribution policy.


BUGS/ENHANCEMENTS:

If you detect bugs in the implementation of `tie' or have
suggestions to enhance functionality or improve portability,
please send a message to

	Klaus Guntermann <guntermann@iti.informatik.th-darmstadt.de>
================================================================================
Archive-Date: Tue, 22 Dec 1992 11:45:07 CST
Date: Tue, 22 Dec 92 08:58:47 PST
From: brad@sol.chinalake.navy.mil (Bradford Clark ( Brad ))
Message-ID: <9212221658.AA01375@sol.chinalake.navy.mil>
To: LitProg@SHSU.edu
Subject: Change files
Reply-To: LitProg@SHSU.edu

I have seen the announcement of tie version 2.4 and I was wondering if
it would be possible to write a "change file" that would modify weave
to produce Marker Interchange Format for Framemaker or Rich Text
Format for Microsoft Word or even LaTeX. I have read in this newsgroup
about WEB systems for different programming languages. With the
possible exception of FunnelWeb, all of these systems produce only one
typesetting language (albeit a very good one).

Anyone else interested in this line of query?

-Brad Clark

================================================================================
Archive-Date: Tue, 22 Dec 1992 13:29:08 CST
Message-ID: <9212221927.AA07908@neuron.cs.tamu.edu>
Date: Tue, 22 Dec 92 13:23:31 -0600
From: bart@cs.tamu.edu
Reply-To: LitProg@SHSU.edu
To: litprog@shsu.edu
Subject: Change Files

Brad Clark inquired about weave producing different formats.
Fweave already produces LaTeX if you desire.  The others have
a great problem and that is a lack of stability.

I have looked a number of times at RTF and TeX interchanges ...
All such efforts have problems because the real meaning of
RTF (and most other formatters) commands are subject to change
with each revision (and we have no real input) and they generally
are not easily available.

TeX has gone through a number of revisions, but since 1982 TeX
sources run without change (except for the addition of the
\language primitive ...)  That stability is powerful!

Bart Childs
================================================================================
Archive-Date: Tue, 22 Dec 1992 14:56:59 CST
Date: Tue, 22 Dec 92 14:56:45 -0600
From: plyon@emx.cc.utexas.edu (Paul Lyon)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212222056.AA00970@emx.cc.utexas.edu>
To: LitProg@SHSU.edu
Subject: OO Literate Programming?

On the face of it, it would seem that the concept of literate
programming is not easily adapted to the "Object Oriented" approach to
programming.  Let us recur to Knuth's original article on the subject
(I refer to the version reprinted in {\it Literate Programming}, CLSI,
Stanford, 1992, pages 99--136). There we find literate programming
characterized in a way that seems to fit best with the approach Knuth
took in writing TeX and Metafont. The woven web file, when printed, is
to read rather like a technical article (shorter programme) or a
technical book (for example, {\it Metafont: the Program}).

All of the source goes into one file, from which Weave will generate a
section headings, a table of contents, a proper index for identifiers
(and other things designated by the author using the Web control
code), and an alphabetized listing of the code section names. The
author is meant to follow a narrative order in presenting the parts of
the programme; as Knuth says ``but always it is an order that makes
sense on expository grounds'' (op cit, page 125). And further,
"...there's no need to be hung up on the question of top-down versus
bottom-up---since a programmer can now view a large program as a web,
to be explored in a psychologically correct order..." (op cit, page
126). [I expect that, in most cases, there will be a number of ways of
ordering that will work.]

Finally, besides the obvious benefits to the reader---either another
or oneself at some remove---of a more pleasing presentation of the
source and of greater clarity, another benefit claimed, one now to the
author, is a shorter time required to make the code work properly. The
reason for this, according to Knuth, is that in preparing a proper
account of the programme while writing it, one is led to clarify one's
thoughts about it; as he puts it, you go into "expository mode".  In
trying to write enough to explain it to someone else, you are forced
to explain it to yourself! [Aside: this last, in particular, is one of
the things that I most liked about Knuth's idea when I first
encountered it. The more carefully I write, the better I understand
what I am writing about.]

Now I have said this much about the original idea for two reasons: (1)
it is an attractive idea about how to write programmes, and (2), more
importantly, most of the existing Web systems are designed with this
idea in mind. In particular, those features of WEB itself, and its
progeny, Cweb, Fweb, Spiderweb, and so on, that go beyond the bare
bones required for tangling and weaving, are mostly about forming the
index, allowing the programmer to insert things besides identifiers in
the index, forming the section headings, and the like, whence my
remarks above about these matters.

On the other hand, for "Object Oriented" programming, one is meant to
split up a programme into a number of modules, most of which contain
the interface and implementation for a single data type, or group of
closely related data types, and only a few of which will contain the
code that ties all of these together. Furthermore, the modules that
contain the programme data types are meant to be relatively
independent of the particularities of the programme one is working on.
In pursuit of code reuse, one is meant to make something more akin to
library code out of these, free-standing and comprehensible by itself
rather than tightly integrated into one programme.

It is this last that prevents one from simply adapting Cweb or Fweb in
their current versions by using the file inclusion capability. This
might work for the traditional way of laying out the modules that is
used, for example, in C programming, but the approach taken in C++
programming is another matter. It is instructive, I think, to consider
the contrast as given by Bjarne Stroustrup in Chapter 4 ("Functions
and Files") of {\it The C++ Programming Language} (Second Edition, but
the same is to be found in the first edition). The example Stroustrup
gives is a simple calculator programme, rather like the one the
Cameron Smith dug out of Kernighan & Ritchie and used for his Cweb
example (described in previous postings to this group, and available
from niord.shsu.edu). Stroustrup considers how this example, might be
put in modular form in the traditional C style, and then goes to do
describe a different layout of the kind one would use in C++ or Ada
(and Modula 2, as well, I suspect). One gets five pieces: one contains
the main programme, and the other four, each with its own header file
and source file, contain (1) the error handler, (2) the symbol table
code, (3) the eval code for the calculator, and (4) the lexical
scanning code. All this, mind you, without yet introducing classes and
inheritance; it is, rather, the prelude to that. Still, the header
(interface) file contains the declarations of the data structure(s),
if any, together with the prototypes of the functions that provide the
services that are collected in this module, and the source file
contains the implementation of those functions. Add in the real
apparatus of C++ and one gets a header file with the class
declaration(s) and a source file with the implementation of the class
"methods". The syntax and accoutrement will be different for Eiffel,
or Clos, or Ada, but the style remains the same.

The obvious way to proceed is to construct a web source file from
which you will generate the header file and implementation source, one
that usually starts out with a description of the data type, with,
perhaps, a table or itemized list giving brief descriptions of the
methods (functions, procedures) for the data type, and perhaps, also
one describing the fields of the data structure, and then goes on to
string together the implementation of the functions, adding to each
some account of its implementation where that is pertinent.  In short,
something that looks rather less like an exercise in literate
programming as conceived by Knuth, and rather more like a UN*X man
page with added source code.

Now there may be no cure for this, or it may be that I am not
imaginative in the right sort of way :-) In any case there is little
in the way of support in the existing Web systems for this sort of
thing So far as Weave goes, I have nothing concrete to suggest at
this point, rather, I hope to stimulate discussion, assuming, as I do,
that the efforts to add C++ support to Cweb mean that there are others
out there with similar concerns. (I have the same thing, though, on my
"Web wish list" as I suspect others do as well, namely support for
user configurable pretty-printing styles; my tastes in these matters
being significantly different from those of the authors of Cweb).

Some things that come to mind for a C++ tangle, however, might include
the following. First of all, most of us still have to contend with
``dumb'' linkers that insist on linking in the whole of a object
module, even if one only uses a couple of things out of it. So it is
desirable that one have a separate output file for each function or
procedure defined in one of this library like modules, and further
desirable that on each run of tangle, in the development phase I mean,
one should generate only those output files that have changed since
the last time one ran tangle. Otherwise, assuming that you already
have a makefile for it least this much, you will end up recompiling
the lot instead of just the one or two bits that you changed.
[Funnelweb has a simple version of this; one of the reasons why I like
it.] Indeed, it would be nice if tangle could generate the appropriate
parts of the makefile for you (more to the point, the GNU makefile,
since this will be the more easily done, I think, using GNU make).

It would also be helpful if a C++ tangle would, given the definition
of a function, generate a function prototype for you if you have not
already provided one. This ``feature'' will not be simple one, since
tangle will have to know where to put the prototype, and that will
depend on whether the function is a class method, or a friend
function, or one that just happens to live in the source file in
question because it is more or less related to the class(es) being
defined. On the otherhand, it could be a useful one; both in saving
effort, and helping to cut down on programme errors.

There are other things for the wish list as well, but I have likely
said more than enough already :-)

Comments, please?

Ciao,

Paul Lyon
================================================================================
Archive-Date: Tue, 22 Dec 1992 15:11:30 CST
Date: Tue, 22 Dec 1992 15:10:19 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
Message-ID: <00965793.A827FB80.10030@SHSU.edu>
Subject: Seeking listings of authoritative sites for tools

I have successfully completed two tasks I had imposed on myself as goals
before the end of 1992.  The first goal was getting a new wholly dedicated
drive for our Unix host -- this was completed about two weeks ago, so I now
have about 1.2 gig to play with for archival space.  This drive is not
(yet) available for anonymous ftp use, but it will be early next year (not
later than February 1).  The vast majority of that space is dedicated to
TeX and to a project I hesitate to formally announce at this time --
suffice it to say that I believe you will be pleased once everything is
finished at this end.  The second goal was getting a mirroring program
consistently running on the Unix host.  Now that I have the space to
experiment, I believe it is properly working.

Sooooo, here's what I am requesting from anyone with the proper knowledge. 
I am looking for a listing of sites which are *authoritative* of LP tools,
specifically:
 (1) the host name (and IP number; I can get that if you don't have it
     handy); and
 (2) the directory name or root name of the directory tree where the tools
     are available.

It is my intent to mirror these sites on a routine basis (at least once a
week) to fetch any files which have been added, updated, or changed, then
place them in an area on our Unix host which is NFS mounted to Niord.  In
other words, if you can get to either host at SHSU, you will essentially be
on the authoritative machine, give or take a brief time lag.  You will have
the option of coming in to a Unix machine or the VMS machine you presently
come in to.

We have also been working on getting a gopher server on both machines (it
is there now! -- so a third goal was accomplised!).  There will be an area
added on the menu for Literate Programming, which will include access to
the archives of the list, as well as to the FAQs which various people on
the list have generously agreed to develop.  I am working of a qi server to
add to the gopher server on the Unix host and hope to figure out how to do
string searches in the archives (in other words, find and extract all posts
with a given string in them, such as all posts ever made with the string
FWEB in it).  As soon as this functionality is added to the VMS side, I am
planning on getting it there so we have some redundancy in services in case
something happens to one of the machines.

Anyway, if you can provide me with the information identified above, I
would be quite grateful.  Also, I hope everyone has (or had, depending on
when you read this ;-)) a fantastic holiday season.

Regards,   George
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
George D. Greenwade, Ph.D.                            Bitnet:  BED_GDG@SHSU
Department of Economics and Business Analysis         THEnet: SHSU::BED_GDG
College of Business Administration                    Voice: (409) 294-1266
P. O. Box 2118                                        FAX:   (409) 294-3612
Sam Houston State University              Internet:        bed_gdg@SHSU.edu
Huntsville, TX 77341                      bed_gdg%SHSU.decnet@relay.the.net
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
================================================================================
Archive-Date: Tue, 22 Dec 1992 15:19:51 CST
Date: Tue, 22 Dec 92 15:19:28 -0600
From: plyon@emx.cc.utexas.edu (Paul Lyon)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212222119.AA09870@emx.cc.utexas.edu>
To: LitProg@SHSU.edu
CC: LitProg@SHSU.edu
Subject: Change files


   I have seen the announcement of tie version 2.4 and I was wondering if
   it would be possible to write a "change file" that would modify weave
   to produce Marker Interchange Format for Framemaker or Rich Text
   Format for Microsoft Word or even LaTeX. I have read in this newsgroup
   about WEB systems for different programming languages. With the
   possible exception of FunnelWeb, all of these systems produce only one
   typesetting language (albeit a very good one).

   Anyone else interested in this line of query?

   -Brad Clark

Actually, FunnelWeb is not an exception nor is it likely to become one,
since it appears that Ross Williams has ceased development except for
bug fixes. There are hooks in the FunnelWeb source for support of
other formatters, but that is all there is, at present. As for the main
issue, it might be that others (me, for instance) would have an interest,
even though we are content with (well, more or less, anyway :-) plain
TeX. For it may be that in the redesign needed to support other formatters
one will also find the way to allowing the user of (C, F)weave to have
it format the source code to his/her own tastes.

Just a thought,

Paul Lyon
================================================================================
Archive-Date: Tue, 22 Dec 1992 22:11:40 CST
Date: Tue, 22 Dec 92 21:31:43 -0500
From: m-lp9966@DOC.CS.NYU.EDU (Lewis Perin)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212230231.AA07088@DOC.CS.NYU.EDU>
To: LitProg@SHSU.edu
CC: LitProg@SHSU.edu
Subject: OO Literate Programming?

I think my experience bears on the issues raised in Paul Lyon's
thoughtful posting.  I've been writing C++ WEB code for several months
now in CWEB (mostly) and FWEB.  The rough conventions I've used seem
to avoid the woes of a `monolithic' approach to C++-WEB.

The basic idea is to keep separate source files for a class's outer
spec (meant to be included in any file that uses it directly) and for
the class's implementation (seen only in the listing for that
implementation.  Say the name of the class is X; then the spec file
would be xh.web, the implementation would be x.web.  If class Y is
derived from X, then yh.web will include xh.web.  If z.web is the overall
application source, it will include yh.web directly (and xh.web, of
course, indirectly.)

C++ adepts will by now have thought of plenty of corners of the
language this simple technique fails to touch, but it does get a lot
of work done while weaving output that's about as coherent as I ever
get.

Hope this helps, Lew
================================================================================
Archive-Date: Sun, 27 Dec 1992 18:16:38 CST
Date: Sun, 27 Dec 92 17:17:04 MST
From: "Nelson H. F. Beebe" <beebe@math.utah.edu>
Reply-To: LitProg@SHSU.edu
To: litprog@shsu.edu
CC: beebe@math.utah.edu
Subject: Dijkstra quotation
Message-ID: <CMM.0.90.2.725501822.beebe@plot79.math.utah.edu>

I came across this in the signature line of a posting to another newsgroup;
since its author is well-known in discipline of programming, someone might
find it useful.  I regret that I do not have a specific reference to it:

//      "On the one hand I knew that programs could have a compelling
//       and deep logical beauty, on the other hand I was forced to
//       admit that most programs are presented in a way fit for
//       mechanical execution, but even if of any beauty at all,
//       totally unfit for human appreciation."
//                                              -- Edsger W. Dijkstra


========================================================================
Nelson H. F. Beebe                      Tel: +1 801 581 5254
Center for Scientific Computing         FAX: +1 801 581 4148
Department of Mathematics, 105 JWB      Internet: beebe@math.utah.edu
University of Utah
Salt Lake City, UT 84112, USA
========================================================================
================================================================================
Archive-Date: Mon, 28 Dec 1992 14:55:49 CST
Message-ID: <9212282048.AA13426@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Mon, 28 Dec 1992 14:47:59 -0600
To: LitProg@shsu.edu
Subject: Re: OO Literate Programming?

Paul Lyon made a number of interesting points points in his message (most
notably for me the one about "dumb" linkers that insist on linking in all
of an object module rather than just what is needed).  Since I've been
doing object-oriented literate programming for a bit, I figure I ought to
respond.  I'm not necessarily disagreeing with Paul -- this is just how
I've been doing it.

I prefer to put a single class in a source file (I believe this is what
Paul said he prefers, as well), although sometimes I put related classes in
a single web.  I use the @( feature (available in Spidery WEB and CWEB the
last time I checked) to create the header files (separate headers for each
class, regardless of whether they share a source file or not).  The
structure of a class "Object", for example, would look like this:

@c
	@<Header files needed for |Object|@>@;
	@(Object.h@>@;
	@<Methods needed for |Object|@>@;

Using @(Object.h@> in the code instead of a #include "Object.h" is a nice
little feature of file modules:  the code gets expanded both in the main
program _and_ in the Object.h file.  Spidery WEB complains about this (but
does it anyway), but CWEB works fine (at least it did the last time I
checked -- I've been using the Spidery version for Standard C and C++).
I can then describe and define the Object class as I see fit, knowing that
the interface will be generated automatically (and will agree with the
implementation).  The down side is that the header file gets updated
every time the web changes, so things get recompiled that needn't be.
However, there are ways around this in a makefile, and anyway, it wastes
computer time rather than my time, which is much more valuable.

I've been treating the dumb linker I have to use the same way I would treat
a dumb (i.e., non-optimizing) compiler.  I ignore it.  I figure the time I
save (overall) by using literate programming more than makes up for the
larger executables.  Most of my libraries tend to be small, (after the
third or fourth draft, anyway), so this really isn't a problem in practice.
Although I will admit that if I could find a reliable intelligent linker at
a reasonable price (ah, there's the rub!), I would buy it in a New York
minute.

Hope this adds some fuel to the fire.

		-- Lee
================================================================================
Archive-Date: Tue, 29 Dec 1992 16:09:01 CST
Date: Tue, 29 Dec 92 19:22:36 GMT
Message-ID: <7950@apusapus.demon.co.uk>
From: tfj@apusapus.demon.co.uk (Trevor Jenkins)
Reply-To: LitProg@SHSU.edu
To: LitProg@shsu.edu
Subject: Re: Dijkstra quotation

In message <CMM.0.90.2.725501822.beebe@plot79.math.utah.edu> you write:
> I regret that I do not have a specific reference to it:

In the style of the book from which it comes perhaps I ought NOT to reply
but I will anyway. :-)

> //      "On the one hand I knew that programs could have a compelling
> //       and deep logical beauty, on the other hand I was forced to
> //       admit that most programs are presented in a way fit for
> //       mechanical execution, but even if of any beauty at all,
> //       totally unfit for human appreciation."
> //                                              -- Edsger W. Dijkstra

These are the opening words of the Preface to "A Discipline of
Programming", page xiii. A book that warrant some study even if you
disagree with the argument (or its author).

Regards, Trevor.

---------------------------------------------------------------------------
Trevor Jenkins                                                Re: "deemed!"
134 Frankland Rd, Croxley Green, Rickmansworth, WD3 3AU, England
email: tfj@apusapus.demon.co.uk                               radio: G6AJG
phone: +44 (0)923 776436
================================================================================
Archive-Date: Tue, 29 Dec 1992 17:39:54 CST
Date: Tue, 29 Dec 92 16:40:21 MST
From: gilligan@central.bldrdoc.gov (Jonathan M. Gilligan)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212292340.AA04806@central.bldrdoc.gov>
To: LitProg@SHSU.edu
Subject: Litprog without TeX

Since a few folks have recently posted about wanting to program
literately without using TeX as the typesetting language, let me
mention that Alan Holub writes in his compiler construction book
(Compiler Construction in C or something of that sort---I don't
actually have the book, but looked at it while browsing in a bookstore
last week) about an ``arachne'' system that he used to produce the
code for the book. Arachne functions similarly to web, but uses C for
the programming language and troff for the typesetting one.  I know
nothing beyond these vague descriptions. Perhaps someone knows more.

---Jon

================================================================================
Archive-Date: Tue, 29 Dec 1992 19:48:12 CST
Date: Tue, 29 Dec 92 18:48:40 MST
From: "Nelson H. F. Beebe" <beebe@math.utah.edu>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
CC: beebe@math.utah.edu, LitProg@SHSU.edu
Subject: Re: Litprog without TeX
Message-ID: <CMM.0.90.2.725680119.beebe@plot79.math.utah.edu>

Jonathan M. Gilligan <gilligan@central.bldrdoc.gov> points out that
Allen Holub's book uses a kind of literate programming.  It has been
in ftp.math.utah.edu:pub/tex/bib/litprog.* for a couple of years now;
via e-mail, a message "send index from tex/bib" to
tuglib@math.utah.edu will get you started.

I pointed this book out to Don Knuth, and he agreed that it qualifies
as literate programming, and included it in the literature in his new
book on the subject (which I've not yet obtained).

BibTeX entries for these books are given below:

@String{pub-PH = "Pren{\-}tice-Hall"}

@Book{Holub:CDC90,
  author =       "Allen I. Holub",
  title =        "Compiler Design in {C}",
  publisher =    pub-PH,
  year =         "1990",
  note =         pub-PH # " Software Series, Editor: Brian W. Kernighan.",
  ISBN =         "0-13-155045-4",
}

@String{pub-SUCSLI      = "Stanford University Center for the Study of
                           Language and Information"}
@String{pub-SUCSLI:adr  = "Stanford, CA, USA"}

@Book{Knuth:LP92,
  author =       "Donald E. Knuth",
  title =        "Literate Programming",
  publisher =    pub-SUCSLI,
  address =      pub-SUCSLI:adr,
  series =       "CSLI Lecture Notes Number 27",
  year =         "1992",
  ISBN =         "0-937-07380-6 (paper), 0-937-07381-4 (cloth)",
  LCCN =         "QA76.6.K644",
  pages =        "368",
  acknowledgement = ack-nhfb,
}


========================================================================
Nelson H. F. Beebe                      Tel: +1 801 581 5254
Center for Scientific Computing         FAX: +1 801 581 4148
Department of Mathematics, 105 JWB      Internet: beebe@math.utah.edu
University of Utah
Salt Lake City, UT 84112, USA
========================================================================
================================================================================
Archive-Date: Wed, 30 Dec 1992 07:50:14 CST
Message-ID: <9212301351.AA18860@desire.grenoble.hp.com>
To: LitProg@SHSU.edu
CC: pyt@desire.grenoble.hp.com
Subject: VHDL Literate harware modeling ?
Date: Wed, 30 Dec 92 14:51:32 +0100
From: Dominique Dumont / GND <domi@desire.grenoble.hp.com>
Reply-To: LitProg@SHSU.edu


Does anyone know if a web system exist for the VHDL language ?

VHDL stands for VHSIC Hardware description language. This language is used
to write models for hardware systems and integrated circuits. These models can
be gobbled by a synthesis tools and we get a brand new piece of hardware only
from (a lot of) lines of code.

This language features parallel instructions, that means that separates lines of
code will be executed together. This is why we need a good way of documenting
a design and a web system would be perfect.

Furthermore, the VHDL does not have a preprocessor like cpp, the web macro features
would be very handy for all repetitive parts of a chip.

If no web system already exist, what's the best way to make one ?

Thanks

-----------------------------------------------------------------------------
    ^^^^^^      Name:          Dominique Dumont
   / O  O \     Email:         Dominique_Dumont@hpgnd.grenoble.hp.com
  ( \____/ )    Address :      HEWLETT PACKARD, 38053 Grenoble Cedex 09
   \______/     Tel,Telnet:    (33) 76 62 57 24 - 7 779 5724
                Telex,Fax:     980 124 - (33) 76 62 53 20
-----------------------------------------------------------------------------
================================================================================
Archive-Date: Wed, 30 Dec 1992 08:26:40 CST
Date: Wed, 30 Dec 92 09:03:20 EST
From: dlb@hudson.wash.inmet.com (David Barton)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212301403.AA00269@hudson.wash>
To: LitProg@shsu.edu
CC: pyt@desire.grenoble.hp.com
Subject: VHDL Literate harware modeling ?

Dominique Dumont writes:

   Does anyone know if a web system exist for the VHDL language ?

   VHDL stands for VHSIC Hardware description language. This language
   is used to write models for hardware systems and integrated
   circuits. These models can be gobbled by a synthesis tools and we
   get a brand new piece of hardware only from (a lot of) lines of
   code.

   This language features parallel instructions, that means that
   separates lines of code will be executed together. This is why we
   need a good way of documenting a design and a web system would be
   perfect.

   Furthermore, the VHDL does not have a preprocessor like cpp, the
   web macro features would be very handy for all repetitive parts of
   a chip.

   If no web system already exist, what's the best way to make one ?

I know of no WEB system for VHDL.  This would actually be an
interesting exercise: the relationship between the weaved and tangled
form of an entity / architecture pair, where there are multiple
architectures for a single entity, interests me.  The relation
between a configuration and the design hierarchy it configures is also
not clear.  Some of these issues address, not WEB in particular, but
the best presentation of VHDL models; as far as I am concerned, the
present texts don't do a real good job on this.

(For most of you: the entity / architecture relationship in VHDL is
like the package interface / body relationship in Ada, except that
multiple "bodies" are allowed.  The configuration is unique, and
specifies how the entire hierarchy of entities and architecture is put
together into a simulation model).

My best bet would be SpiderWeb; I suspect that the simpler versions
might not do everything you want.  The macro capability is provided as
a basic function in Funnelweb, and if you are willing to give up the
typesetting of the VHDL text (a considerable feature in this case, as
the LRM and most texts use bolded keywords like Pascal and Ada, and
the typesetting really helps in those languages) then Funnelweb might
be the way to go.

					Dave Barton
					dlb@hudson.wash.inmet.com
================================================================================
Archive-Date: Wed, 30 Dec 1992 09:53:53 CST
Message-ID: <9212301555.AA20339@desire.grenoble.hp.com>
To: LitProg%SHSU.edu@hplb.hpl.hp.com
CC: pyt%desire.grenoble.hp.com@hplb.hpl.hp.com
Subject: VHDL Literate hardware modeling with Spiderweb ?
Date: Wed, 30 Dec 92 16:55:08 +0100
From: Dominique Dumont / GND <domi%desire.grenoble.hp.com@hplb.hpl.hp.com>
Reply-To: LitProg@SHSU.edu


Spider seems interesting enough to build a web system for VHDL, but I don't know
if I'm authorized to use it to devellop chips. The copyright specifies that
Spiderweb is free for research purposes only and I work for a private company.
I don't do research as a university does.

However IF I create a Spiderweb template for VHDL I'm willing to give it
as a public domain software . (The IF means if my boss gives me enough time and
if I don't get hopelessly ensnared in the Spider's web :-)  )

Can anobody shed some light on this legal topic ?


-----------------------------------------------------------------------------
    ^^^^^^      Name:          Dominique Dumont
   / O  O \     Email:         Dominique_Dumont@hpgnd.grenoble.hp.com
  ( \____/ )    Address :      HEWLETT PACKARD, 38053 Grenoble Cedex 09
   \______/     Tel,Telnet:    (33) 76 62 57 24 - 7 779 5724
                Telex,Fax:     980 124 - (33) 76 62 53 20
-----------------------------------------------------------------------------
================================================================================
Archive-Date: Wed, 30 Dec 1992 11:46:48 CST
Date: Wed, 30 Dec 92 12:45:03 -0500
From: norman@bellcore.com (Norman Ramsey)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212301745.AA00791@grubby.bellcore.com>
To: LitProg@SHSU.edu
Subject: Re:  VHDL Literate hardware modeling with Spiderweb ?
CC: Dominique_Dumont@hpgnd.grenoble.hp.com

I am the author of Spiderweb, and my former employer holds the
copyright.  What you are doing sounds like research to me.  Send me a
brief email message and I'll call the copyright holder and see if
they'll send you a letter authorizing you to do what you want.

Norman
================================================================================
Archive-Date: Thu, 31 Dec 1992 03:36:35 CST
Message-ID: <199212310933.AA11169@mucket.vast.unsw.edu.au>
To: LitProg@SHSU.edu
CC: pyt@desire.grenoble.hp.com
Subject: Re: VHDL Literate harware modeling ?
Date: Thu, 31 Dec 92 20:33:56 +1100
From: stevea@vast.unsw.edu.au
Reply-To: LitProg@SHSU.edu

Hi all,
	I haven't seen a VHDL template for Spidery WEB, or a VHDL web
for that matter. However, seeing as it is so close to home, I thought I
might share what I intend to do with you in the next twelve months.
	The research I'm doing involves developing/modifying algorithms
so that I can then implement them using custom VLSI. The way I go about
doing this is to try out the algorithm using C, translate that to an
architecture, which I then describe with our in house hardware
description language "modal", and then of course comes the VLSI design.
	Fine and dandy, what does this have to do with literate
programming. Well, I use Spidery WEB for the C programming to do the
algorithms, and I intend to use Spidery WEB to do the literate
programming for the HDL. What I really want to be able to do is include
the woven output of the C code as Apendix 1 of my disertation, and then
include the woven HDL code, with the graphic layouts of the VLSI
imbedded in this code, as Apendix 2. This way, design decisions I have
made with the HDL can be seen immediately in the VLSI.
	Of course, there is a small problem that I have with this.
Normally I do my designs (VLSI that is), bottom up. A web, on the other
hand, usually appears as a top down design. This also makes most sense
with the HDL. I figure its a small price to pay though for a
document which describes the VLSI system as a whole.
	Just my 1.38 US cents worth. If, of course, someone comes up
with a VHDL template first, it would make my modal template much simpler :-)


	cheers (and happy new year)
	-steve
================================================================================
Archive-Date: Thu, 31 Dec 1992 04:11:27 CST
Message-ID: <9212311011.AA05229@desire.grenoble.hp.com>
To: LitProg%SHSU.edu@hplb.hpl.hp.com
Subject: Re: VHDL Literate harware modeling ?
Date: Thu, 31 Dec 92 11:11:30 +0100
From: Dominique Dumont / GND <domi%desire.grenoble.hp.com@hplb.hpl.hp.com>
Reply-To: LitProg@SHSU.edu


I will try to use Spiderweb, if I can't use it (either because of the copyright or
because of lack of time or experience to write the spider template for VHDL) then
I will try Funnelweb (at least as a macro preprocessor ...).

Thanks for your help.

Happy new year


-----------------------------------------------------------------------------
    ^^^^^^      Name:          Dominique Dumont
   / O  O \     Email:         Dominique_Dumont@hpgnd.grenoble.hp.com
  ( \____/ )    Address :      HEWLETT PACKARD, 38053 Grenoble Cedex 09
   \______/     Tel,Telnet:    (33) 76 62 57 24 - 7 779 5724
                Telex,Fax:     980 124 - (33) 76 62 53 20
-----------------------------------------------------------------------------
================================================================================
Archive-Date: Thu, 31 Dec 1992 08:32:20 CST
Date: 31 Dec 1992 09:25:48 -0500
From: "Timothy Larkin" <Timothy_Larkin@qmrelay.mail.cornell.edu>
Reply-To: LitProg@SHSU.edu
Subject: Re: Dijkstra quotation
To: LitProg@SHSU.edu

        Reply to:   RE>Dijkstra quotation
"Nelson H. F. Beebe" <beebe@math.utah.edu> supplies the following quote:
//      "On the one hand I knew that programs could have a compelling
//       and deep logical beauty, on the other hand I was forced to
//       admit that most programs are presented in a way fit for
//       mechanical execution, but even if of any beauty at all,
//       totally unfit for human appreciation."
//                                              -- Edsger W. Dijkstra

The quotation comes from the first sentence of the preface of Dijkstra's "A
discipline of programming", p. xiii, Prentice-Hall, Englewood Cliffs, NJ, 1976.

Tim Larkin
tsl1@cornell.edu



================================================================================
Archive-Date: Thu, 31 Dec 1992 12:03:48 CST
Date: Thu, 31 Dec 92 12:08:13 CST
From: fulling@sarastro.math.tamu.edu (Stephen A. Fulling)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212311808.AA05617@sarastro.math.tamu.edu>
To: litprog@shsu.edu
Subject: Formatting conundrum
CC: fulling@sarastro.math.tamu.edu


I am using CWEB 2.7 to [re]write some programs, maintaining the
pre-ANSI style for functions.  I expect WEAVE output of the form

----------------------------------------------------------------
myfunc(myarray, myint)
   int *myarray;
   int myint;

{
   int j;

   for (j=0; etc.) {
      <do something>
   }
   return (0);
}
----------------------------------------------------------------

Sixty percent of the time, that is what I get.  The rest of the
time I get something like

----------------------------------------------------------------
myfunc(myarray, myint)
   int *myarray;
   int myint;  {int j;

   for (j=0; etc.) {
      <do something>
   }
   return (0); }
----------------------------------------------------------------

That is, CWEAVE parses the function body much as if the last
parameter declaration were a "for" or "if" statement.  Inserting
"@;" in various places does not solve the problem.

This seems to happen with equal probability regardless of whether
the function is "main" or a subprogram, whether the local variables
are declared on the spot or read in with "@<...", whether the last
line is an explicit "return", whether there is one parameter or
several.  It does depend on the structure of the function body, in
ways that I have not been able to classify empirically.

Am I overlooking something elementary?  Is this a known bug?  Is
Version 2.9++ available yet?

					Steve Fulling

Here is a file that exhibits the phenomena:

=============================================================
% TEST.W
\nocon

@* Testing for formatting bug.

@ A bad case.

@c grind(item, n, r)
   int item[];
   int n, r;
{  @< Declarations for |grind| @>@#

   if(n>1)
    else
   {
      item[0] = r;
      pitem = item - n1 + 1;
   }@;
   return(0);
}

@ @< Declarations for |grind| @> =

   extern int n1;
   int *pitem;

@ A good case

@c main(argc, argv)
   int argc;
   char *argv[];
{  @< Declarations for |main| @>@#

   c=0;  /* Initialize the count of terms. */
   if(label)
      printf("\norder %d:\n", k);
   for(n=1; n<=k/2; n++)
   {  printf("\norder %d:\n", k);
   }@;
   exit(0);
}

@ @< Declarations for |main| @> =

   int k, label;

=============================================================

================================================================================
Archive-Date: Thu, 31 Dec 1992 14:41:48 CST
Date: Thu, 31 Dec 92 14:00:20 CST
From: grodecki@quivira.informix.com (Don Grodecki)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212312000.AA08047@quivira.lenexa.pd>
To: litprog@shsu.edu
Subject: Interactive LitProg

What does the term "Interactive Literate Programming" mean?
Is there anything in this area that would help in my quest
for Literate Programming using WYSIWYG editors like Frame
instead of text formatters like TeX?
================================================================================
Archive-Date: Thu, 31 Dec 1992 15:06:14 CST
Message-ID: <9212312106.AA28545@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Thu, 31 Dec 1992 15:06:47 -0600
To: LitProg@shsu.edu
Subject: Re: Formatting conundrum

Stephen Fulling writes that CWEB 2.7 does not format the following code
correctly:

  > @ A bad case.
  >
  > @c grind(item, n, r)
  >    int item[];
  >    int n, r;
  > {  @< Declarations for |grind| @>@#
  >
  >    if(n>1)
  >     else
  >    {
  >       item[0] = r;
  >       pitem = item - n1 + 1;
  >    }@;
  >    return(0);
  > }

My best guess is that the if(n>1) followed directly by an else is what is
confusing the formatter (I think you need a semicolon between the right
paren and the else before a compiler will accept the tangled version anyway).
If a ; or an @; doesn't work there, you might try an @t@>@;  It's dumb, but
it often works.

You can also try running a DEBUG version of CWEAVE and putting an @2 code
right after the @c, so you can see what CWEAVE thinks it's doing.

		-- Lee
================================================================================
Archive-Date: Thu, 31 Dec 1992 15:33:44 CST
Message-ID: <9212312134.AA15242@math.berkeley.edu>
To: LitProg@shsu.edu
Subject: Re: Formatting conundrum
CC: fulling@sarastro.math.tamu.edu, levy@math.berkeley.edu
Date: Thu, 31 Dec 92 13:34:09 -0800
From: Silvio Levy <levy@math.berkeley.edu>
Reply-To: LitProg@SHSU.edu


Regarding the poor job that cweave does on

@c grind(item, n, r)
   int item[];
   int n, r;
{  @< Declarations for |grind| @>@#

   if(n>1)
    else
   {
      item[0] = r;
      pitem = item - n1 + 1;
   }@;
   return(0);
}

The solution is to have @; rather than @# after @< Declarations for |grind| @>

Module names are treated like identifiers etc.  They don't make sense
right before an if.  The @; makes that line be a complete statement,
which is OK.

Silvio
================================================================================
Archive-Date: Thu, 31 Dec 1992 15:58:15 CST
Date: Thu, 31 Dec 92 16:02:41 CST
From: fulling@sarastro.math.tamu.edu (Stephen A. Fulling)
Reply-To: LitProg@SHSU.edu
Message-ID: <9212312202.AA05800@sarastro.math.tamu.edu>
To: LitProg@shsu.edu
Subject: Re: Formatting conundrum
CC: fulling@sarastro.math.tamu.edu

Thanks to Silvio and Lee for their replies.  "@;@#" after the module
name works, and includes the extra vertical space that is the purpose
of "@#" in the first place.

					 Steve

