Archive-Date: Tue, 01 Jun 1993 07:52:07 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 01 Jun 1993 08:43:10 -0400 (EDT)
From: humberto@annexstein.csm.uc.EDU (Humberto Ortiz Zuazaga)
Reply-To: LitProg@SHSU.edu, humberto@ANNEXSTEIN.CSM.UC.EDU
Subject: scraps with explicit arguments?
To: LitProg@SHSU.EDU
Message-ID: <9306011243.AA07047@annexstein.csm.uc.edu>
Content-Transfer-Encoding: 7BIT

I was showing some noweb'ed C code to a professor the other day, and
he objected to my use of "implicit arguments" in a scrap (or whatever
the politically correct term for "module" is these days).  He would
prefer that scraps could take explicit arguments in their invocation.
Do any of the existing litprog tools have this feature?  I could make
it look like they do by putting the arguments into the scrap name:

<<process variables (x, y)>>

. . .

<<process variables (x, y)>>=
x += y * 23;

but perhaps this is a genuinely usefull feature to have.  It looks
like it could permit true inline functions in languages that do not
support them, and help improve the clarity of webbed code by
decreasing reliance on the previously declared variables.
--
Humberto Ortiz Zuazaga                                zuazaga@ucunix.san.uc.edu
================================================================================
Archive-Date: Tue, 01 Jun 1993 09:49:47 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 1 Jun 1993 10:45:52 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306011445.AA26064@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, humberto@ANNEXSTEIN.CSM.UC.EDU
CC: LitProg@SHSU.EDU
Subject: Re: scraps with explicit arguments?

   Date: Tue, 01 Jun 1993 08:43:10 -0400 (EDT)
   From: humberto@annexstein.csm.uc.EDU (Humberto Ortiz Zuazaga)

   I was showing some noweb'ed C code to a professor the other day, and
   he objected to my use of "implicit arguments" in a scrap (or whatever
   the politically correct term for "module" is these days).  He would
   prefer that scraps could take explicit arguments in their invocation.
   Do any of the existing litprog tools have this feature?  I could make
   it look like they do by putting the arguments into the scrap name:

   <<process variables (x, y)>>

   . . .

   <<process variables (x, y)>>=
   x += y * 23;

   but perhaps this is a genuinely usefull feature to have.  It looks
   like it could permit true inline functions in languages that do not
   support them, and help improve the clarity of webbed code by
   decreasing reliance on the previously declared variables.

These scraps are just code fragments not functions or modules! I dont
think they should have args. SInce they are macros, they are expanded inline.
You may get away by explaining that you use LITPROG as a PDL and each 
scrap is not a program module or function. 
Osman

--
Osman F. Buyukisik  |  GE Aricraft Engines  | ae1181t@stnfor.ae.ge.com
================================================================================
Archive-Date: Tue, 01 Jun 1993 10:16:00 CST
Sender: LP-Mgr@SHSU.edu
From: dentato@minerva.ing.uniroma1.it
Reply-To: LitProg@SHSU.edu, dentato@MINERVA.ING.UNIROMA1.IT
Message-ID: <9306011518.AA05642@minerva.ing.uniroma1.it>
Subject: Nuweb
To: LitProg@shsu.edu
Date: Tue, 1 Jun 1993 17:18:08 +0100 (DFT)
Content-Type: text


 It's possible to get Nuweb via anonymous-ftp? If not, how can I get a copy?
Thanks.
          ___ __
         //_/// \
        // \//__/
      Remo Dentato    dentato@cadgroup.ing.uniroma1.it

================================================================================
Archive-Date: Tue, 01 Jun 1993 11:48:24 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 1 Jun 93 11:46:44 CDT
From: preston@cs.rice.edu (Preston Briggs)
Reply-To: LitProg@SHSU.edu, preston@CS.RICE.EDU
Message-ID: <9306011646.AA27103@dawn.cs.rice.edu>
To: LitProg@shsu.edu, dentato@minerva.ing.uniroma1.it
Subject: Re:  Nuweb

>It's possible to get Nuweb via anonymous-ftp? If not, how can I get a copy?

It's not yet possible to get nuweb via anonymous ftp.
To get a copy, send me (preston@cs.rice.edu) a note.

Preston Briggs
================================================================================
Archive-Date: Tue, 01 Jun 1993 13:40:21 CST
Sender: LP-Mgr@SHSU.edu
From: baum@astra.tamu.edu (Steve Baum)
Reply-To: LitProg@SHSU.edu, baum@ASTRA.TAMU.EDU
Message-ID: <9306011838.AA23533@astra.tamu.edu>
Subject: Re: Nuweb
To: LitProg@SHSU.edu, preston@CS.RICE.EDU
Date: Tue, 1 Jun 1993 13:38:39 -0500 (CDT)
Content-Type: text

> 
> >It's possible to get Nuweb via anonymous-ftp? If not, how can I get a copy?
> 
> It's not yet possible to get nuweb via anonymous ftp.
> To get a copy, send me (preston@cs.rice.edu) a note.
> 
> Preston Briggs
> 


        Could you please send a copy of nuweb to me if that would
     be at all possible.  Thank you very much.

                                                  Steve Baum
                                                  Oceanography Dept.
                                                  Texas A&M University
                                                  baum@astra.tamu.edu
================================================================================
Archive-Date: Tue, 01 Jun 1993 13:42:04 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306011839.AA20289@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu, leew@CS.UTEXAS.EDU
Date: Tue, 1 Jun 1993 13:39:18 -0500
To: LitProg@shsu.edu, humberto@annexstein.csm.uc.edu
Subject: Re: scraps with explicit arguments?

Humberto Ortiz Zuazaga writes:

  > I was showing some noweb'ed C code to a professor the other day, and
  > he objected to my use of "implicit arguments" in a scrap (or whatever
  > the politically correct term for "module" is these days).  He would
  > prefer that scraps could take explicit arguments in their invocation.
  > Do any of the existing litprog tools have this feature?  I could make
  > it look like they do by putting the arguments into the scrap name:
  > 
  > <<process variables (x, y)>>
  > 
  > . . .
  > 
  > <<process variables (x, y)>>=
  > x += y * 23;
  > 
  > but perhaps this is a genuinely usefull feature to have.  It looks
  > like it could permit true inline functions in languages that do not
  > support them, and help improve the clarity of webbed code by
  > decreasing reliance on the previously declared variables.

As I recall, in one of the articles in his "Literate Programming"
book, Knuth recommends mentioning the variables explicitly in the
module name.  Something like

    <<Process variables [[x]] and [[y]]>>
    ...
    <<Process variables [[x]] and [[y]]>>=
    x += y * 23;

in Noweb, or

    @<Process variables |x| and |y|@>
    ...
    @<Process variables |x| and |y|@>=
    x += y * 23;

in CWEB.  This makes the use of the variables explicit, although not
automatic.

On a related note, I find that global variables often make my webs
easier to read than locals.  I also find that gotos are much better
than breaks and continues (in C code) when the jump occurs in a
section separate from the one in which the loop begins (and ends).
Of course, this is only true in a webbing system that automatically
indexes labels (like CWEB & FWEB), so breaks and continues are
probably better in Noweb, unless you explictly use \label and \ref
to build your own label index (separate from your ``regular'' index).

		-- Lee


================================================================================
Archive-Date: Tue, 01 Jun 1993 14:13:53 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 1 Jun 93 21:11:48 +0200
From: marcus@x4u.desy.de (Marcus Speh)
Reply-To: LitProg@SHSU.edu, marcus@X4U.DESY.DE
Message-ID: <9306011911.AA17383@x4u.desy.de>
To: LitProg@SHSU.edu
Subject: Re: Nuweb
References: <9306011646.AA27103@dawn.cs.rice.edu> <9306011838.AA23533@astra.tamu.edu>

Preston Briggs was kind enough to send me an introductory text
which is now available on the World Wide Web [WWW] (look for "Tools" 
at http://info.desy.de:80/gnu/ftp/pub/www/projects/LitProg.html).
A copy of the relevant page is appended below. 

  Note that you can get any document from WWW via mail; send mail
to listserv@info.cern.ch with the word HELP in it for instructions
(You can, e.g., get the NUWEB PostScript file with the message
  send file://ftp.desy.de/pub/web/nuweb/nuweb.ps
to listserv@info.cern.ch).

	Marcus Speh

-------------------- from the World Wide Web -------------------------
                                      List of Literate Programming Tools
                   LIST OF LITERATE PROGRAMMING TOOLS
                                    
   Have a look at the LitProg Library[1] for a more complete overview
   and sources. Please tell me[2] if there are other documents you would
   like to see here
   
  CLiP (PostScript[3], plain[4])
                          A universal (language-independent) literate
                         programming tool, currently ported to VAX/VMS
                         and MS-DOS only. See also: CLiP Style[5] and
                         Manual[6] (PostScript)
                         
   CWEB[7]                WEB System of Structured Documentation for C
                         and C++. References [v3.0, all PostScript]:
                         User's Manual[8], common[9], cweave[10],
                         ctangle[11]
                         
   FunnelWEB[12]          Features and comparison with FWEB, by P. Lyon
                         (original message to LitProg[13] mailing list).
                         
   FWEB[14]               WEB System of Structured Software Design and
                         Documentation for Fortran-77, Fortran-90,
                         Ratfor, C, C++ and TeX. References [v1.30, all
                         PostScript]: fwebmac[15] [40p.], User's Manual
                         [body[16], index[17], 200 p.], guide[18] [20p.]
                         
   NOWEB (plain[19], PostScript[20])
                          "Literate-Programming Tools Need Not Be
                         Complex", by N. Ramsey.
                         
   NUWEB[21] (PostScript)
                          Yet another simple Literate Programming tool
                         for arbitrary programming languages, with LaTeX
                         as formatter
                         
                                               Last updated June 1, 1993
                                                                        
   


     References from this document:-

[1]  gopher://Niord.shsu.edu:70/11gopher_root%3a%5b_DATA.LITPROG%5d
[2]  http://info.desy.de:80/gnu/ftp/pub/www/people/marcus.html
[3]  file://ftp.desy.de/pub/faq/web/clip/clip_ann.ps
[4]  http://info.desy.de:80/gnu/ftp/pub/faq/web/clip/clip_ann.plain
[5]  file://ftp.desy.de/pub/faq/web/clip/clip_ann.ps
[6]  file://sun01.info.wau.nl/clip/ms_dos/clip_man.ps
[7]  http://heplibw3.slac.stanford.edu:80/FIND/FREEHEP/NAME/CWEB/FULL
[8]  file://ftp.desy.de/pub/web/DOCUMENTS/cweb/cwebman.ps
[9]  file://ftp.desy.de/pub/web/DOCUMENTS/cweb/common.ps
[10]  file://ftp.desy.de/pub/web/DOCUMENTS/cweave.ps
[11]  file://ftp.desy.de/pub/web/DOCUMENTS/cweb/ctangle.ps
[12]  http://info.desy.de:80/gnu/ftp/pub/faq/web/funnelWEB/funnelWEB.html 
[13]  http://info.desy.de:80/gnu/ftp/pub/www/projects/LitProg-mailing.html
[14]  http://heplibw3.slac.stanford.edu:80/FIND/FREEHEP/NAME/FWEB/FULL
[15]  file://ftp.desy.de/pub/web/DOCUMENTS/fweb-manual/FWEBmac.ps
[16]  file://ftp.desy.de/pub/web/DOCUMENTS/fweb-manual/FWEBman1.ps
[17]  file://ftp.desy.de/pub/web/DOCUMENTS/fweb-manual/FWEBman2.ps
[18]  file://ftp.desy.de/pub/web/DOCUMENTS/fweb-manual/GUIDE.ps
[19]  http://info.desy.de:80/gnu/ftp/pub/faq/web/noweb/noweb.html
[20]  file://ftp.desy.de/pub/faq/web/noweb/noweb.ps
[21]  file://ftp.desy.de/pub/web/nuweb/nuweb.ps


================================================================================
Archive-Date: Tue, 01 Jun 1993 14:38:49 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 01 Jun 1993 14:38:26 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: LitProg@SHSU.edu, baum@ASTRA.TAMU.EDU
CC: preston@cs.rice.edu
Message-ID: <0096D612.E0626AA0.23934@SHSU.edu>
Subject: Re: Nuweb

On Jun 1, 1993 11:46:44 CDT, "Preston Briggs" <preston@cs.rice.edu> posted:
> >It's possible to get Nuweb via anonymous-ftp? If not, how can I get a copy?
> 
> It's not yet possible to get nuweb via anonymous ftp.
> To get a copy, send me (preston@cs.rice.edu) a note.
> 
> Preston Briggs
> 

If you want to anonymous ftp to ftp.shsu.edu then 
 cd incoming 
 mkdir nuweb
 cd nuweb
 mput the_files
I can place them in the web archive area (tex-archive/web/nuweb/) or I can
place them in another publicly accessible area there (pub/nuweb/) until you
want them in the master library.  This ought to save a lot of work on
everyone's part, if you like.

--George
================================================================================
Archive-Date: Tue, 01 Jun 1993 16:45:14 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 01 Jun 1993 16:42:20 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: preston@cs.rice.edu
CC: litprog@SHSU.edu, ctan@SHSU.edu
Message-ID: <0096D624.2F61BE60.24249@SHSU.edu>
Subject: Re: Nuweb

On Tue, 1 Jun 93 15:23:02 CDT, Preston Briggs <preston@cs.rice.edu> posted
privately in response to my earlier post on LitProg:
> Hi,
>
> I put the shar'd up bundle of files in incoming/nuweb/nuweb.shar
>
> I don't know if this is the best format, but it seems reasonably
> convenient.
>
> I guess I don't mind you sticking it in the web archive area. I'm going so
> slowly on the documentation that it may be the end of the summer before it
> looks respectable (not to mention Knuthian).
>
> Thanks for your help with this,
> Preston

No problem!  Indeed, thanks to you!!  I have built the individual files
from the shar file Preston submitted and made them available for anonymous
ftp retrieval at:
 ftp.shsu.edu:/tex-archive/web/nuweb/
This represents (as best I can tell) version 0.6, which I have dated today,
1 June 1993.  The ftp server on ftp.shsu.edu can tar, tar.Z, zip, zoo,
tar.z the directory if you want it that way.

You can retrieve via e-mail a 3 part UUENCODEd ZIP archive of this
distribution by including:
 SENDME NUWEB
in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu).

Finally, via gopher, you can get the individual files or a ZIP archive on
Niord.SHSU.edu (192.92.115.8, port 70) in:
 TeX-related materials/
   Literate programming library/
     Nuweb/

Oh, and a BTW:  I have updated the gopher server on Niord so that it now
properly handles binary files.  Also, I have included the LitProg archives
in the Literate programming library/ area.

Regards and thanks to Preston again,   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, 01 Jun 1993 17:03:04 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 2 Jun 93 00:00:31 +0200
From: dak@POOL.Informatik.RWTH-Aachen.DE
Reply-To: LitProg@SHSU.edu, dak@POOL.INFORMATIK.RWTH-AACHEN.DE
Message-ID: <9306012200.AA11774@kaa>
To: LitProg@SHSU.edu, humberto@ANNEXSTEIN.CSM.UC.EDU
CC: LitProg@SHSU.EDU
Subject: scraps with explicit arguments?

As to having arguments to scraps: don't confuse them with procedures!
Scraps are usually NOT supposed to be called more than once! They are
only used to split a program into several logically units. If you had
to include interfaces in them, they would lose their advantage over
procedures. In addition, you would be temted to generate large code
pieces, instead of having to parameterize.

The large psychological advantage about WEBs is that you split large
tasks pretty automatically without thinking into smaller ones. The
moment you think of your code sections of parametrized pieces,
you start thinking of interfaces, and that is a work not of much
sense considering the small code sections you like to arrive at.

If you have parameters, use the mechanisms of the language.
That is my feeling.

 David Kastrup        dak@pool.informatik.rwth-aachen.de          
 Tel: +49-241-72419 Fax: +49-241-79502
 Goethestr. 20, W-5100 Aachen, Germany
================================================================================
Archive-Date: Tue, 01 Jun 1993 17:03:11 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 2 Jun 93 00:00:31 +0200
From: dak@POOL.Informatik.RWTH-Aachen.DE
Reply-To: LitProg@SHSU.edu, dak@POOL.INFORMATIK.RWTH-AACHEN.DE
Message-ID: <9306012200.AA11774@kaa>
To: LitProg@SHSU.edu, humberto@ANNEXSTEIN.CSM.UC.EDU
CC: LitProg@SHSU.EDU
Subject: scraps with explicit arguments?

As to having arguments to scraps: don't confuse them with procedures!
Scraps are usually NOT supposed to be called more than once! They are
only used to split a program into several logically units. If you had
to include interfaces in them, they would lose their advantage over
procedures. In addition, you would be temted to generate large code
pieces, instead of having to parameterize.

The large psychological advantage about WEBs is that you split large
tasks pretty automatically without thinking into smaller ones. The
moment you think of your code sections of parametrized pieces,
you start thinking of interfaces, and that is a work not of much
sense considering the small code sections you like to arrive at.

If you have parameters, use the mechanisms of the language.
That is my feeling.

 David Kastrup        dak@pool.informatik.rwth-aachen.de          
 Tel: +49-241-72419 Fax: +49-241-79502
 Goethestr. 20, W-5100 Aachen, Germany
================================================================================
Archive-Date: Tue, 01 Jun 1993 19:41:51 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <m0o0giU-0005LlC@satyr.sylvan.com>
Date: Tue, 1 Jun 93 17:30 PDT
To: LitProg@SHSU.edu, preston@CS.RICE.EDU
Subject: Re:  Nuweb
From: Kayvan Sylvan <kayvan@satyr.Sylvan.COM>
Reply-To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM

Hmmm...

Sorry for raising the demand for NuWeb (NOT) :-)

It's a nice tool. Thank you.

			---Kayvan

| Kayvan Sylvan, Sylvan Associates, kayvan@satyr.Sylvan.COM, (408) 978-1407  |
| Consulting, Training, Development, SysAdmin, {BSD,SVr3,SVr4} Unix Systems  |
| "Think Globally, Act Locally." "Only you can make your dreams come true."  |
| Proud Dad of Katherine Yelena (born 8/8/89) & Robin Gregory (born 2/28/92) |
================================================================================
Archive-Date: Wed, 02 Jun 1993 07:54:04 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 2 Jun 93 13:20:16 BST
From: Manuel Carriba <M.Carriba@dcs.sheffield.ac.uk>
Reply-To: LitProg@SHSU.edu, M.Carriba@DCS.SHEFFIELD.AC.UK
Message-ID: <9306021220.AA00721@dcs.shef.ac.uk>
To: LitProg@SHSU.edu, preston@CS.RICE.EDU, baum@ASTRA.TAMU.EDU
Subject: Re: Nuweb

> > 
> > >It's possible to get Nuweb via anonymous-ftp? If not, how can I get a copy?
> > 
> > It's not yet possible to get nuweb via anonymous ftp.
> > To get a copy, send me (preston@cs.rice.edu) a note.
> > 
> > Preston Briggs
> > 
> 
> 
>         Could you please send a copy of nuweb to me if that would
>      be at all possible.  Thank you very much.
> 
>                                                   Steve Baum
>                                                   Oceanography Dept.
>                                                   Texas A&M University
>                                                   baum@astra.tamu.edu
> 

I don't know wether NuWEB is too big to send it via email, but anyway
I'm interested in a copy, too. (Well compressed and uuencoded, please.)

Manuel Carriba <M.Carriba@dcs.shef.ac.uk>
================================================================================
Archive-Date: Sat, 05 Jun 1993 02:11:13 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <m0o1sLs-0005NGC@satyr.sylvan.com>
Date: Sat, 5 Jun 93 00:07 PDT
To: LitProg@SHSU.edu
CC: AMMERS@RCL.WAU.NL
Subject: The Literate Programming Philosophy
From: Kayvan Sylvan <kayvan@satyr.Sylvan.COM>
Reply-To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM

On May 26, 1993, Eric W. van Ammers (ammers@rcl.wau.nl) wrote:

Lee> A show of hands please:  How many of you out there have gotten so spoiled
Lee> by literate programming that you'll fight to the death rather than
Lee> program without your LP tools?  [Notice that my hand is raised.]

Eric> Although a bit late, I certainly would like to raise my hand. I have been
Eric> using the basic technique for many years and for me it is the most
Eric> convincing presentation of a program.

Completely agreed. I've only been using it for some months now, but I
was introduced to the conecpts of litprog years ago.

Eric> The big problem I face, and all of us LP-ers expereince the
Eric> same, is that we cannot bring to words where exactly is the
Eric> power of the LP paradigm. I have several times before argued
Eric> that we should discuss thIs sort of "phylosophical" issues on
Eric> the net. Once again I ask to all of you: Can we somehow make
Eric> explicite the power of LP. Maybe this will finally convince
Eric> managers too.

Okay. Here's a first shot at an verbalizing the power of LP.

First of all, literate programming is unabashedly fun!!! I know, I
know, this is not the type of thing that would sway a manager, but I
have to be honest first before getting to the objective measures.

As I write a literate program, I focus on the essentials of the
program at the higher levels of abstraction (without needing to deal
with the lower level details). This makes for a program that flows
nicely from high level overview to low level implementation details.
The resulting program is also easy to write and easy to read (for
someone else, or for myself, months later).

Most important of all, I'm not limited to the language's requirements
for program order or its documentation mechanisms. Literate
Programming allows me to document my program in small pieces, and to
present those pieces in whatever way makes the most sense for myself
and my reader. As in writing a story or a paper, being conscious of my
audience forces me to write better programs.

In terms of the process, I find literate programs, once you've learned
the methodology, take slightly more time to craft than non-literate
ones do. This is because you take more care with the pieces and you
are also writing documentation that goes along with the pieces.

The debugging time for literate programs, in my experience, is orders
of magnitude less than for non-literate ones. My literate programs
work reliably on at most the third or fourth iteration. Well-designed
non-literate programs are still much harder to debug and test, in my
limited experience. This is the real power of literate programming
in my business.

In short: Literate programming is fun. Literate programs are easier to
compose (since I can pseudo-code my way to completion in a stream of
consciousness fashion) than non-literate ones. Literate programs
require almost no debugging and many times will work the first time.
The products of literate programming are much better documented (and
thus much more maintainable) programs.

There's some investment of time in learning the tools, but the
investment pays off quite quickly in improved code quality and
maintainability.

			---Kayvan

| Kayvan Sylvan, Sylvan Associates, kayvan@satyr.Sylvan.COM, (408) 978-1407  |
| Consulting, Training, Development, SysAdmin, {BSD,SVr3,SVr4} Unix Systems  |
| "Think Globally, Act Locally." "Only you can make your dreams come true."  |
| Proud Dad of Katherine Yelena (born 8/8/89) & Robin Gregory (born 2/28/92) |
================================================================================
Archive-Date: Mon, 07 Jun 1993 05:32:10 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 7 Jun 93 12:29:49 +0200
From: ddw2@sunbim.be (Dominique de Waleffe)
Reply-To: LitProg@SHSU.edu, ddw2@SUNBIM.BE
Message-ID: <9306071029.AA18916@amadeus.sunbim.be>
To: LitProg@SHSU.edu, preston@CS.RICE.EDU
Subject: Re:  Nuweb
References: <9306011646.AA27103@dawn.cs.rice.edu>

I just got nuweb from the archives and intend to start LitProgramming
for my future projects. nuweb appears to be quite simple to learn and
use.To help me  start (and hopefully get some colleagues to look at
it too) I just made this one sheet summary which others
may find useful. Its easier to keep on my desk than the full manual
(though it may also hide more easily :-).

There it is, do what you want with it.

Dominique

----nuwebsum.tex---
\documentstyle[12pt]{article}

\begin{document}
\thispagestyle{empty}

\begin{center}
\Large\bf NUWEB Command summary
\end{center}

\section*{Invocation}
\verb@nuweb [-toc] files...@
\begin{description}
\item[-t:] Suppress generation of the tex file
\item[-o:] Suppress generation of the output file
\item[-c:] Avoid testing output file for changes before updating.
\item[files:] A number of file names. If no extension {\em .w\/} is added.
\end{description}
\section*{Commands}
\begin{description}
\item[@o {\em file flags scrap\/}] Output scrap to named file. Flags
  are further described as:
  \begin{description}
  \item[-d:]  Forces \verb@#line...@ directives in output.
  \item[-i:] Suppresses macro indentation.
  \item[-t:] Suppresses tab expansion in output (8 spaces).
  \end{description}
\item[@d {\em macro-name scrap\/}] Name this scrap.
\item[@O,@D] Variant of the above which allows to break across pages.
  Not very robust for short scraps.
\item[@\{ {\em anything\/} @\}] Scrap body.
\item[@\{ {\em anything\/} @$\mid$ {\em index entries\/} @\}] Scrap body
  with user selected index entries.
\item[@$<${\em macro-name\/}$>$@] Macro invocation.
\item[@@] Insert the at-sign in the output.
\item[@i {\em file\/}]  include the file (up to 10 levels).
\item[@f] Create file name index.
\item[@m] Create macro name index.
\item[@u] Create user index.

\end{description}
\end{document}
================================================================================
Archive-Date: Mon, 07 Jun 1993 12:41:41 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <m0o2lA1-0005LlC@satyr.sylvan.com>
Date: Mon, 7 Jun 93 10:39 PDT
To: LitProg@SHSU.edu, ddw2@SUNBIM.BE
Subject: Re:  Nuweb
From: Kayvan Sylvan <kayvan@satyr.Sylvan.COM>
Reply-To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM

Thanks! That's quite useful.

			---Kayvan
================================================================================
Archive-Date: Mon, 07 Jun 1993 13:46:33 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 07 Jun 1993 13:46:06 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: litprog@SHSU.edu
Message-ID: <0096DAC2.8F43E360.14773@SHSU.edu>
Subject: Nuwebsum.tex in Nuweb directory at SHSU

Subject about says it all.  I extracted and gave notice of source, etc.,
but it is there for future reference.,

--GDG
================================================================================
Archive-Date: Mon, 07 Jun 1993 16:54:08 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306072151.AA28354@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu, leew@CS.UTEXAS.EDU
Date: Mon, 7 Jun 1993 16:51:24 -0500
To: litprog@shsu.edu
Subject: Info needed on language independent LP systems

I'm writing an article on literate programming in PAL (Paradox for
DOS) and ObjectPAL (Paradox for Windows) for the Paradox Informant.
I'm using noweb, so I'll be concentrating on it, but I would like to
mention the other LP tools that are available for working with
Paradox.  The only requirements are that they be language-independent
(PAL has some *really strange* syntax, and I sincerely doubt that a
PAL-based system exists), and they must run on PCs under DOS or
Windows.

The systems I know about that meet these requirements are:

    System    Formatter    Restrictions
    ------    ---------    ------------
    noweb     TeX/LaTeX    requires Awk
    nuweb     TeX/LaTeX    unofficial release(?)
    funnelWeb TeX/LaTeX
    CLiP         any

I'd appreciate knowing if I've missed any system, or if the
information above is inaccurate (restrictions I've missed).  I'd also
appreciate it if the authors of the various systems mentioned above
would let me know the prefered typographic treatment of the tool's
name (which letters should be capitalized, preferred typefaces,
etc.).  I want to make sure I get things right (as much as possible).

Thanks in advance.

		-- Lee
	
================================================================================
Archive-Date: Tue, 08 Jun 1993 08:39:56 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 8 Jun 93 15:38:32 +0200
From: marcus@x4u.desy.de (Marcus Speh)
Reply-To: LitProg@SHSU.edu, marcus@X4U.DESY.DE
Message-ID: <9306081338.AA01562@x4u.desy.de>
To: LitProg@SHSU.edu
Subject: Re: Nuwebsum.tex in Nuweb directory at SHSU
References: <0096DAC2.8F43E360.14773@SHSU.edu>

>>>>> On Mon, 07 Jun 1993 13:46:06 CST, "George D. Greenwade" <bed_gdg@SHSU.edu> said:

|> Subject about says it all.  I extracted and gave notice of source, etc.,
|> but it is there for future reference.,

The PostScript version of the summary can also be read/retrieved 
on the LitProg page on the World Wide Web.

Marcus

================================================================================
Archive-Date: Tue, 08 Jun 1993 08:42:13 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 8 Jun 93 09:43:30 EST
From: "Lewis Perin" <perin@cumc.cornell.edu>
Reply-To: LitProg@SHSU.edu, perin@cumc.cornell.edu
Message-ID: <35022.perin@cumc.cornell.edu>
To: LitProg@SHSU.edu, leew@CS.UTEXAS.EDU
Subject: RE:Info needed on language independent LP systems

Hi, Lee.  First let me take this opportunity to thank you for the pithy
stuff you've contributed to the LP list.

In Message Mon, 7 Jun 1993 16:51:24 -0500, you wrote:

>The systems I know about that meet these requirements are:
>
>    System    Formatter    Restrictions
>    ------    ---------    ------------
>    noweb     TeX/LaTeX    requires Awk
>
>I'd appreciate knowing if I've missed any system, or if the
>information above is inaccurate (restrictions I've missed).

I'm writing this at work where C++ is the law and my LP activities are
limited to CWEB (not that this makes me suffer!), so I can't check what I'm
about to say, BUT:

I don't think noweb really needs AWK; not if you have Icon.  At home where I
use OS/2 I've replaced the AWK parts of the "normal" LP activities (i.e.
tangle and weave) with the Icon code Ramsey supplied; it runs faster that
way.  I don't remember if the stuff that provides a way to make a program
"illiterate" again is AWK-only, but if so wouldn't that merit an asterisk?

By the way, I think it would be terrific if somebody (maybe me if I get
ambitious) would try replacing the shell code with Icon.  That would make it
more monolithic in a sense, but it would have 2 virtues:

- the thing would run faster (not to be sneezed at when it comes to tangle);

- it would be more portable; DOS users wouldn't need the MKS shell.
______________________________________________________
      __          perin@cumc.cornell.edu (212)746-2946
 |   |_  \    / : Lew Perin
 |__ |__  \/\/  : Home: (201)435-2679
================================================================================
Archive-Date: Wed, 09 Jun 1993 08:42:31 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 9 Jun 1993 16:37:43 +0200
From: " (Bernhard Lang)" <Lang@tu-harburg.d400.de>
Reply-To: LitProg@SHSU.edu, Lang@TU-HARBURG.D400.DE
Message-ID: <9306091337.AA14313@kirk.ti1.tu-harburg.de>
To: litprog@shsu.edu
Subject: nuweb on pc
Content-Type: text


i did install nuweb on pc using the gnu-djgpp compiler. it seems to work 
fine. where can i install the binaries that everybody of the litprog 
group can pic it up via ftp?

Bernhard

{{{  Dr. Bernhard Lang  -----------------------------------------------
     email: lang@tu-harburg.dbp.de         TU Hamburg Harburg
                                           Technische Informatik I
}}}
...  Enter this fold to view behind the scenes  -----------------------

================================================================================
Archive-Date: Wed, 09 Jun 1993 15:44:53 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 09 Jun 1993 15:44:17 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: LitProg@SHSU.edu, Lang@TU-HARBURG.D400.DE
Message-ID: <0096DC65.6681F940.23285@SHSU.edu>
Subject: RE: nuweb on pc

On Wed, 9 Jun 1993 16:37:43 +0200, Bernhard Lang <Lang@tu-harburg.d400.de>
reported:
> i did install nuweb on pc using the gnu-djgpp compiler. it seems to work 
> fine. where can i install the binaries that everybody of the litprog  group
> can pic it up via ftp?

One of three ways will work by me.  Either (a) put them in a publicly
accessible ftp area and let me know where to fetch it from (no, this isn't
as dumb as it sounds -- I have come across quite a few sites which allow
very short-term storage for local users if someone else is coming in to get
them); or (b) pack the files up in (preferably a ZIP) an archive of some
sort, UUENCODE, XXENCODE, BTOA, VVENCODE, or some other encoding technique
that file, and mail it to me directly; or (c -- most preferable) use
anonymous ftp to ftp.shsu.edu then cd incoming and place the file(s) there. 
If you are going to deposit multiple files, it is highly preferable for you
to get into incoming, then:
 mkdir whatever_you_want_to_call_it
 cd whatever_you_want_to_call_it
then put the files in their own unique directory within the incoming/ area
at SHSU.

--George
================================================================================
Archive-Date: Thu, 10 Jun 1993 07:40:22 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 10 Jun 93 14:39:24 MET DST
Message-ID: <9306101239.AA00482@gallium.chem.vu.nl>
To: LitProg@SHSU.edu
From: ravenek@chem.vu.nl (Walter Ravenek)
Reply-To: LitProg@SHSU.edu, ravenek@CHEM.VU.NL
Subject: Nuweb on Macintosh

I tried to install Nuweb on a Macintosh (using THINK C which
lets you enter a command line by using its console library).
The Mac simply freezes when I run the program. One thing I
have found is the dependency on file name construction.
Having bypassed this, the Mac freezes again.

Did someone else have a try at this?

P.S. Nuweb installed and worked fine on our RS6000

Walter Ravenek
Dept. of Chemistry
Vrije Universiteit
De Boelelaan 1083
1081 HV Amsterdam
The Netherlands
e-mail: ravenek@chem.vu.nl

================================================================================
Archive-Date: Thu, 10 Jun 1993 07:45:26 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 8 Jun 93 10:09:01 +0300
Message-ID: <9306080709.AA07564@moon.ntua.gr>
To: litprog@shsu.edu
From: theseas!bezirt@ics.forth.gr
Reply-To: LitProg@SHSU.edu, theseas!bezirt@ICS.FORTH.GR
Subject: Unsubscribe LitProg

SIGNOFF LITPROG
UNSUB LITPROG
================================================================================
Archive-Date: Thu, 10 Jun 1993 10:07:05 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 10 Jun 1993 10:06:48 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: Lang@tu-harburg.d400.de
CC: litprog@SHSU.edu
Message-ID: <0096DCFF.6BBCB9A0.26123@SHSU.edu>
Subject: RE: zip file for nuweb on PC available

On Thu, 10 Jun 1993 15:49:27 +0200, Bernhard Lang <Lang@tu-harburg.d400.de>
posted:
> Thank you for your reply concerning the ftp installation of nuweb for PC. 
> I did copy a .ZIP file to the incoming directory of ftp.shsu.edu. The name
> of the file is 'nuweb-pc.zip'. The zip file contains a README.TXT file
> with my first experiences using nuweb on PC and NUWEB.EXE as the
> executable. 

Thanks!  The file is available for anonymous ftp retrieval from
ftp.shsu.edu in tex-archive/web/nuweb/msdos/nuweb-pc.zip or via Gopher on
Niord.SHSU.edu (192.92.115.8, port 70) in:
  TeX-related Materials/
    Literate Programming Library/
      web/ directory from Comprehensive TeX Archive Network/
        nuweb/
          nuweb-pc/

I haven't got a mail version in place yet, but if there are requests, I
will get one together post haste.

--George
================================================================================
Archive-Date: Thu, 10 Jun 1993 13:07:23 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 10 Jun 1993 14:04:07 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306101804.AA20657@stnfor.ae.ge.com>
To: litprog@shsu.edu
Subject: "nuweb for pc"

I just found out why pc filenames and extensions were restricted. Nuweb
first tries to write to a temp file whose name is output name concatted
with ~, and tries to see if the temp is different from the old (existing)
file. So if you do not have an extension you can have at most 7 chars
for a filename. If you have an extention, then 8 chars + 2 chars allowed
as a file name. If a different mechanism is ised to name the temp files
than full 8 char and 3 char ext could be used. 
Osman
================================================================================
Archive-Date: Thu, 10 Jun 1993 14:25:20 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 10 Jun 93 14:23:48 CDT
From: preston@cs.rice.edu (Preston Briggs)
Reply-To: LitProg@SHSU.edu, preston@CS.RICE.EDU
Message-ID: <9306101923.AA14788@dawn.cs.rice.edu>
To: LitProg@shsu.edu, ae1181t@stnfor.ae.ge.com
Subject: Re:  "nuweb for pc"

>I just found out why pc filenames and extensions were restricted.

One way around this would be to write all temporary files to the same
file name (say foo.bar or some such).  Since each file is created and
renamed before progressing to the next file, we won't see any conflicts.

I'm not sure what the best temporary file name would be, accounting for all
possible systems :-)


On another note,
a friend suggested that nuweb write-protect output files
to help avoid accidental editing of what is effectively an intermediate file.
Sounds reasonable to me.  Does anyone hate the idea?

Preston
================================================================================
Archive-Date: Thu, 10 Jun 1993 14:46:41 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 10 Jun 1993 15:41:23 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306101941.AA20913@stnfor.ae.ge.com>
To: preston@cs.rice.edu
CC: LitProg@shsu.edu
Subject: Re:  "nuweb for pc"

   From: preston@cs.rice.edu (Preston Briggs)

   >I just found out why pc filenames and extensions were restricted.

   One way around this would be to write all temporary files to the same
   file name (say foo.bar or some such).  Since each file is created and
   renamed before progressing to the next file, we won't see any conflicts.

   I'm not sure what the best temporary file name would be, accounting for all
   possible systems :-)
   On another note,
   a friend suggested that nuweb write-protect output files
   to help avoid accidental editing of what is effectively an intermediate file.
   Sounds reasonable to me.  Does anyone hate the idea?

   Preston
I tried nuweb~~~.tmp and it works on dos, unix. Write protect is a good
idea. I found myself screwing with the temp files intead of .w and then 
go back. This will remind the users to the best practice i.e. fix the .w
file!
Osman

--
Osman F. Buyukisik  |  GE Aricraft Engines  | ae1181t@stnfor.ae.ge.com
================================================================================
Archive-Date: Thu, 10 Jun 1993 15:58:28 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 10 Jun 1993 15:54:27 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: ae1181t@stnfor.ae.ge.com
CC: litprog@SHSU.edu
Message-ID: <0096DD2F.FC3DAC20.27984@SHSU.edu>
Subject: RE: nuweb for pc

On Thu, 10 Jun 1993 14:48:55 -0400, Osman F Buyukisik
<ae1181t@stnfor.ae.ge.com> posted:
> I just uploaded nuweb.zip into incoming/nuweb/msdos dir. This includes a
> small fix for the filename problem the earlier one had. Also full source
> and make and a man page are included. The executable is smaller (44k). Used
> the same compiler (djgpp). 

Thanks!  I've superceded what was in the tex-archive/web/nuweb/msdos/
directory on pip (hence on Gopher) to include this larger distribution. 

--George
================================================================================
Archive-Date: Fri, 11 Jun 1993 03:06:11 CST
Sender: LP-Mgr@SHSU.edu
Date: Fri, 11 Jun 93 10:04:03 +0200
From: ddw2@sunbim.be (Dominique de Waleffe)
Reply-To: LitProg@SHSU.edu, ddw2@SUNBIM.BE
Message-ID: <9306110804.AA03971@amadeus.sunbim.be>
To: LitProg@SHSU.edu, preston@CS.RICE.EDU
CC: LitProg@shsu.edu, ae1181t@stnfor.ae.ge.com
Subject: Re:  "nuweb for pc"
References: <9306101923.AA14788@dawn.cs.rice.edu> >>> On Thu, 10 Jun 93 14:23:48 CDT, preston@cs.rice.edu (Preston Briggs) said:

   Preston> One way around this would be to write all temporary files
   Preston> to the same file name (say foo.bar or some such).  Since
   Preston> each file is created and renamed before progressing to
   Preston> the next file, we won't see any conflicts.

   Preston> I'm not sure what the best temporary file name would be,
   Preston> accounting for all possible systems :-)

Why not keep the file name but put the temporary output 
in the directory indicated by the environment variable TMPDIR if it
exists or into \tmp\ 

   Preston> On another note, a friend suggested that nuweb
   Preston> write-protect output files to help avoid accidental
   Preston> editing of what is effectively an intermediate file.
   Preston> Sounds reasonable to me.  Does anyone hate the idea?

I'm not sure this is a good idea. I think that keeping the files in
another place, and automatically removing them is probably a better
protection and easier to implement (using unlink() on both systems).


Regards,

Dominique

==============================================
Dominique de Waleffe             ddw@sunbim.be
BIM sa
Chaussee de Louvain, 510	 Tel: +32 2 719 26 14
B-1930 Zaventem			 Fax: +32 2 725 47 83
Belgium
================================================================================
Archive-Date: Fri, 11 Jun 1993 05:09:26 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <m0o461v-000F0EC@glenlivet.ohm.york.ac.uk>
From: "John K Nicoll" <jkn@ohm.york.ac.uk>
Reply-To: LitProg@SHSU.edu, jkn@OHM.YORK.AC.UK
Subject: Re: "nuweb for pc"
To: LitProg@SHSU.edu, preston@CS.RICE.EDU
Date: Fri, 11 Jun 1993 11:08:13 +0100 (BST)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

According to Preston Briggs:
> 
> >I just found out why pc filenames and extensions were restricted.
> 
> One way around this would be to write all temporary files to the same
> file name (say foo.bar or some such).  Since each file is created and
> renamed before progressing to the next file, we won't see any conflicts.
> 
> I'm not sure what the best temporary file name would be, accounting for all
> possible systems :-)
> 

The scheme I prefer (for DOS) is to have a separate directory,
specified by eg. an environment string (NUBACKUP=...). You would
then use the same basic filename but save in this directory. Only
if you couldn't access this backup directory would you then resort
to massaging the filename and saving in the current directory.

Of the several schemes various editors use for backups, this one
(used by Brief, & perhaps others) is the one I have found most
convenient.

	john N
> 
> Preston
> 

================================================================================
Archive-Date: Fri, 11 Jun 1993 06:38:08 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <m0o47Jq-0005LwC@satyr.sylvan.com>
Date: Fri, 11 Jun 93 04:30 PDT
To: ddw2@SUNBIM.BE
CC: LitProg@SHSU.edu
Subject: Re:  "nuweb for pc"
From: Kayvan Sylvan <kayvan@satyr.Sylvan.COM>
Reply-To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM

>>>>> "Dominique" == Dominique de Waleffe <apple!sunbim.be!ddw2> writes:

Preston> On another note, a friend suggested that nuweb write-protect
Preston> output files to help avoid accidental editing of what is
Preston> effectively an intermediate file.  Sounds reasonable to me.
Preston> Does anyone hate the idea?

Dominique> I'm not sure this is a good idea. I think that keeping the
Dominique> files in another place, and automatically removing them is
Dominique> probably a better protection and easier to implement (using
Dominique> unlink() on both systems).

It seems like you're confusing two different issues. The intermediate
file (wherever it ends up being and whatever it's named) will be
unlink()'ed at the conclusion of the compare operation. I favor the
name "nuweb~~~.tmp" for the intermediate file.

The output files that Preston is talking about write-protecting are
the files produced by running nuweb over the web file. So if I'm
writing a C program, and I run nuweb over foo.web to get foo.c,
extern.h, and bar.c, those files would be write-protected. I think
this is a good idea. Users shouldn't be going around changing the
output of nuweb.

			---Kayvan

| Kayvan Sylvan, Sylvan Associates, kayvan@satyr.Sylvan.COM, (408) 978-1407  |
| Consulting, Training, Development, SysAdmin, {BSD,SVr3,SVr4} Unix Systems  |
| "Think Globally, Act Locally." "Only you can make your dreams come true."  |
| Proud Dad of Katherine Yelena (born 8/8/89) & Robin Gregory (born 2/28/92) |
================================================================================
Archive-Date: Fri, 11 Jun 1993 07:29:43 CST
Sender: LP-Mgr@SHSU.edu
Date: Fri, 11 Jun 93 14:27:03 +0200
From: ddw2@sunbim.be (Dominique de Waleffe)
Reply-To: LitProg@SHSU.edu, ddw2@SUNBIM.BE
Message-ID: <9306111227.AA04964@amadeus.sunbim.be>
To: Kayvan Sylvan <kayvan@satyr.Sylvan.COM>
CC: LitProg@SHSU.edu
Subject: Re:  "nuweb for pc"
References: <9306110804.AA03971@amadeus.sunbim.be> <m0o47Jq-0005LwC@satyr.sylvan.com> >>> On Fri, 11 Jun 93 04:30 PDT, Kayvan Sylvan <kayvan@satyr.Sylvan.COM> said:




Kayvan> It seems like you're confusing two different issues. The intermediate

You're right. My morning coffee was not strong enough.

Kayvan> The output files that Preston is talking about write-protecting are
Kayvan> the files produced by running nuweb over the web file. So if I'm

Agreed also. The output files could be write-protected. 

Sorry for the confusion I introduced.

Dominique




================================================================================
Archive-Date: Fri, 11 Jun 1993 07:59:40 CST
Sender: LP-Mgr@SHSU.edu
Date: Fri, 11 Jun 93 14:08:36 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu, HHBODE@DOSUNI1.RZ.UNI-OSNABRUECK.DE
Subject: Re:  "nuweb for pc"
To: LitProg@SHSU.edu, preston@CS.RICE.EDU


>I'm not sure what the best temporary file name would be, accounting for all
>possible systems :-)

What about tmpfile()/tmpnam() (ANSI) or mktemp() (non-standard but frequently
used)? Of course, this would only work if the file name is not used outside
of a single program. (I havn't tried nuweb yet, so I don't know whether the
former is true.) I discourage from using the original file name in a TMP (or
so) directory, because the original file itself already may reside in TMP...

>a friend suggested that nuweb write-protect output files
>to help avoid accidental editing of what is effectively an intermediate file.
>Sounds reasonable to me.  Does anyone hate the idea?

In some cases, however, it can be reasonable to edit even an intermediate
file, e.g., for testing the effect of a small change without touching the
source file. If there are really people that can't distinguish between source
and intermediate files, they could write a shell/batch script and call
chmod/attrib after nuweb.

Hans-Hermann Bode
Arbeitsgruppe Systemforschung, Universitaet Osnabrueck
Tel.: (49)-541-9692545
e-mail: HHBODE@DOSUNI1.BITNET, hhbode@dosuni1.rz.uni-osnabrueck.de
================================================================================
Archive-Date: Mon, 14 Jun 1993 06:26:28 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 14 Jun 93 07:25:31 EDT
From: krommes@theory.pppl.gov (John Krommes)
Reply-To: LitProg@SHSU.edu, krommes@THEORY.PPPL.GOV
Message-ID: <9306141125.AA26349@theory.pppl.gov>
To: litprog@shsu.edu
Subject: FWEB 1.30 now available --- FWEB 1.30 NOW AVAILABLE ---


  Version 1.30 (non-beta version) of FWEB is now available from

	lyman.pppl.gov:/pub/fweb/fweb-1.30.tar.Z

To obtain, use anonymous guest ftp in binary mode to obtain the tar file,
then:

	uncompress fweb-1.30.tar
	tar -xvf fweb-1.30.tar

This creates the directory fweb-1.30.  Note that the installation procedure
has changed for Unix users, as I slowly gravitate toward gnu-like
conventions.  FWEB now attempts to configure itself automatically to the
host environment:

	cd fweb-1.30
	./configure 
	cd web
	make bootstrap
	make -n install
(Use the -n option to see where various files are going to be put.  If you
need to make changes, make them in defaults.mk.in, then rerun ./configure.)
	[Log on as root]
	make install

  For a short list of things that have changed or been fixed between
fweb-1.30--beta and fweb-1.30, see /pub/fweb/READ_ME.


WHO SHOULD USE FWEB?

  FWEB is a language-sensitive WEB originally based on CWEB.  It was
initially intended to support Fortran (hence the 'F'); however, an
important feature of FWEB is its ability to support particular multiple
languages.  The significant features of FWEB are:

	* multiple language support (even within the same WEB run):
		C, C++, Fortran--77, Fortran--90, Ratfor, and (to a limited
extent) TeX;

	* built-in Ratfor translator (into either Fortran--77 or Fortran--90);

	* built-in ANSI-C-like macro preprocessor (with various
	  special-purpose extensions);

	* superior cross-referencing facilities for identifiers;

	* sophisticated  facilities for changing the typeset appearance of
	  operators and identifiers (these work either with the
	  operator-overloading features of C++ and Fortran--90, or
	  stand-alone); 

	* extensive customization facilities via a style file;

	* usable with either TeX or LaTeX;

	* has been installed successfully on a great variety of machines,
	  including everything from IBM-PCs to CRAYs.

You should use FWEB if:

	* you're a Fortran programmer;

	* you mix languages;

	* you need very flexible macro-processing facilities;

	* you enjoy a variety of convenience features.

You should (perhaps) not use FWEB if:

	* you like language-insensitive literate programming;

	* you need a very small and lean system (FWEB's internal tables are
larger than those of some other WEB's because of the multiple language
support and various advanced cross-referencing facilities; the macro
processor and convenience features enlarge it still more);

	* you program only in C or C++ and are perfectly happy with CWEB.


DOCUMENTATION

  If you're an experienced literate programmer and want to find out whether
FWEB is for you, tex and read the relatively short reference/syntax guide in
fweb-1.30/manual/guide:

	cd manual
	make guide

  FWEB also features a very large and complete user manual suitable for
beginners; this contains many examples and an extensive index and table of
contents:

	cd manual
	make manual


SUPPORT

  FWEB remains actively supported, although STRICTLY AS A SPARE-TIME
ACTIVITY.  It is available courtesy of Princeton University's Plasma
Physics Laboratory, a contractor of the U.S. Dept. of Energy whose mission
is research into fusion energy.  The nation fusion program is currently
under great stress, and this affects the feasible level of support.
Questions, bug reports, and suggestions of all kinds are still very
welcome; however, I can no longer guarantee immediate response.  I will
attempt to answer questions about installation quickly, and will provide
workarounds for egregious bugs.  Suggestions for new features are filed
away systematically and are reviewed periodically.


--- John

krommes@princeton.edu                           |  John A. Krommes
                                                |  Plasma Physics Laboratory
(Mail to krommes@princeton.edu is forwarded     |  P.O. Box 451
to krommes@lyman.pppl.gov == 192.55.106.129)    |  Princeton, NJ  08543

(To ftp files, you must use lyman.pppl.gov.)    |  Phone:  (609) 243--2606  
                                                |  Fax:    (609) 243--2662
================================================================================
Archive-Date: Mon, 14 Jun 1993 08:54:20 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 14 Jun 93 15:53:13 MET DST
Message-ID: <9306141353.AA02712@gallium.chem.vu.nl>
To: LitProg@SHSU.edu
From: ravenek@chem.vu.nl (Walter Ravenek)
Reply-To: LitProg@SHSU.edu, ravenek@CHEM.VU.NL
Subject: Nuweb on Macintosh

I managed to get Nuweb running on the Macintosh. As Tim Larkin
correctly suggested the main difficulty was with the size of
an int (thanks). The changes I needed to make are as follows:

- the functions in arena.c assume that variables of type int
can be used to specify memory lengths. Use type size_t instead.
In fact, it suffices to make changes in two places only:
parameter n of arena_getmem, and variable m in the same function.

- use no multiple definitions of global variables; instead
use one definition and for the rest declarations (i.e., extern).
The easiest way to handle this is to make a header file (to be
included in all source files) and a file globals.c with the
definitions.

- the structure of file names is too UNIX dependent. On the
Macintosh directory names are separated by a colon. A simple
solution is to define a separation character by means of a
#define. One could also contemplate having the user specify
a pathname.

- function unlink is UNIX. Fortunately there is a unix library
with my developing system THINK C, but it should not be used.

Walter Ravenek
Dept. of Chemistry
Vrije Universiteit
De Boelelaan 1083
1081 HV Amsterdam
The Netherlands
e-mail: ravenek@chem.vu.nl

================================================================================
Archive-Date: Mon, 14 Jun 1993 13:06:02 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 14 Jun 93 12:47:14 CDT
From: iapa!ctrbdo@mailhost.ecn.uoknor.edu (bryan d oakley)
Reply-To: LitProg@SHSU.edu, iapa!ctrbdo@MAILHOST.ECN.UOKNOR.EDU
Message-ID: <9306141747.AA03446@hickory.iapa>
To: litprog@shsu.edu
Subject: Help: "Change file entry did not match..."

The root of the problem is in installing TeX, but the actual problem
is related to an out of date (?) change file.  Bear with me if you
think you can help...  I realize that comp.text.tex might be a better
avenue but, alas, I don't have access to that newsgroup.

The problem is thus: To install TeX, I need C source, which requires a
working web2c to convert the pascal sources to C.  I need a working
tangle to convert the .web files to those pesky .p (pascal) files.
Some idealistic soul created a tangleboot.c from which to tangle
tangle.web to create tangle.p.  This compiled just fine, thank you.
However, when I run tangleboot on tangle.web to create tangle.p (and
thus create a full-blown tangle), I get the following:

> This is TANGLE, C Version 4.2
> *1*11*19*29*37*50*65*70*77*94*112*123*143*156*163*171*179*182*188*189
> ! Change file entry did not match. (change file l.61)
> @d banner=='This is TANGLE, Version 4.2'
> 
> Writing the output file.....500..
> Done.
> (Pardon me, but I think I spotted something wrong.)
> make: *** [tangle.p] Error 1

(love those error messages! "... Pardon me, ..." heh heh)

Because of this tangle refuses to build, and thus the dominos start to
fall in my TeX installation.

I am using sources obtained off of the prime-time freeware CD, so I
assume I have a complete and correct set of files (the TeX
version/distribution number is 5.851c).  Alas, I don't have ftp (other
than FTP-by-mail), so getting new sources is a real bear.

So, what do I have to do to keep the tangle bootstrap from complaining
about the change file entry not matching?  Do I _have_ to get new
versions of the source, or can I do some manual hacking?  Can I
recreate a .web from a .ch, or a .ch from a .web, or throw away the
.ch, or what?  I'm not overly adept at web programming; I've tinkered
around with FWEB on my machine (hence the need for TeX), but my pascal
is very rusty.  Perhaps I just need to take a day off and install that
copy of Pascal that we never use...

You know... installing TeX is not nearly as easy as most of the GNU
stuff I'm used to working with... :-(

If there is no quick solution, is there a single point I can go to
where I can get Everything_Necessary_For_TeX.tar.Z?  As stated
earlier, I think I have durn near everything from that CD (it has a
copy of the entire UK archive).  I realize I could throw some bucks at
TUG, but hey, bucks are hard to come by...

On retrospect, I may have clobbered one version of the change file in
favor of another.  The imaketex.tar file that came with the
distribution that I am working with had a tangle.ch but no tangle.web.
Perhaps when I untar'ed that it overwrote the .ch file that went with
the original tangle.web file.  Hmmmmm...

Argh.  

---------------------------------------------------------------------
Instrument Approach Procedures Automation             DOT/FAA/AMI-230
---------------------------------------------------------------------
Bryan D. Oakley                   ctrbdo%iapa@mailhost.ecn.uoknor.edu
KENROB and Associates, Inc.              voice: (405) 954-7176 (work)
5909 NW Expwy Suite 209                         (405) 366-6248 (home)
Oklahoma City, Ok.  73132            
================================================================================
Archive-Date: Tue, 15 Jun 1993 10:06:53 CST
Sender: LP-Mgr@SHSU.edu
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu, tim@MATHS.TCD.IE
Subject: Re: Help: "Change file entry did not match..."
To: LitProg@shsu.edu, iapa!ctrbdo@mailhost.ecn.uoknor.edu
Date: Tue, 15 Jun 93 15:37:33 BST
Message-ID: <9306151537.aa23783@walton.maths.tcd.ie>

> > This is TANGLE, C Version 4.2
> > *1*11*19*29*37*50*65*70*77*94*112*123*143*156*163*171*179*182*188*189
> > ! Change file entry did not match. (change file l.61)
> > @d banner=='This is TANGLE, Version 4.2'
> > 
> > Writing the output file.....500..
> > Done.
> > (Pardon me, but I think I spotted something wrong.)
> > make: *** [tangle.p] Error 1

So, your tangle.web and tangle.ch do not match --
they correspond to different versions of tangle.
Just change the change file tangle.ch to read

@x
@d banner=='This is TANGLE, Version 4.1'
@y

or whatever, as in tangle.web .

Of course, there might be other changes that don't match,
though you might well be lucky --
even if tangle.web has been changed in the newer version,
these changes could easily have no intersection
with the changes in tangle.ch .

> You know... installing TeX is not nearly as easy as most of the GNU
> stuff I'm used to working with... :-(

The problem above seems to me _exactly_ the same as if you are
patching the wrong version of a file.
In fact I would say that tangle is much easier to use than diff/patch,
if less flexible.


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: Tue, 15 Jun 1993 11:14:24 CST
Sender: LP-Mgr@SHSU.edu
From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu, schrod@ITI.INFORMATIK.TH-DARMSTADT.DE
Message-ID: <9306151609.AA10225@spice.iti.informatik.th-darmstadt.de>
Subject: LaTeX support for CWEB, 2nd round
To: litprog@shsu.edu (Literate Programming discussion)
Date: Tue, 15 Jun 1993 18:09:28 +0100 (MESZ)
CC: levy@math.berkeley.edu (Silvio Levy), mimu@mpi-sb.mpg.de
Content-Type: text

Here we go again.

Version 0.2 of the cweb style is ready for distribution.

Most important changes:
  * `cweb' is a style now, not an option.
  * It supports (and needs) the recent version of CWEB (3.0 beta).
  * It runs with older versions of LaTeX, too.

cweb.sty is now considered as a stable alpha version. It's not beta
yet, since it still builds upon the article style. The final version
will be a style file on its own. I've appended the respective History
entry FYI.

Since it's stable, I moved it from the hidden directory to a public
area, namely the Literate Programming Archive:

	ftp.th-darmstadt.de [130.83.55.75]
	directory pub/programming/literate-programming/c.c++
	file cweb-sty-0.2.tar.Z

Use the archive at off-US [sic!] business hours, our international
bandwidth is narrow.

CWEB 3.0 beta is also there, but US folks might want to fetch it from
labrea.stanford.edu:/alpha.


Enjoy
    Joachim


---------------- History entry:

Version 0.2	[15 Jun 93]

	cweb is now a style, not an option.

	CWEAVE markup has changed in April '93. Documents and
	implements the new and changed tags.
	    In particular, supports the group level construct of
	starred sections, i.e., `@**', `@*1', etc.
	
	Handles  @( foo @>  constructs.
		[Problem reported by Michael Mueller <mimu@mpi-sb.mpg.de>]
	
	The detection of `@.' entries is more robust now.
	
	Works with LaTeX versions prior to 1992, too.
		[Problem reported by Michael Mueller <mimu@mpi-sb.mpg.de>]

	Allows an optional \con at the file end (was mandatory before).
	    Typesets identifier index or refinement list only when
	they exist.
	
	Improved the documentation, both internal and user.


--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany
================================================================================
Archive-Date: Tue, 15 Jun 1993 15:24:37 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306152021.AA13251@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu, leew@CS.UTEXAS.EDU
Date: Tue, 15 Jun 1993 15:21:30 -0500
To: LitProg@shsu.edu, ravenek@chem.vu.nl
Subject: Re: Nuweb on Macintosh

Walter Ravenek notes:

  > - function unlink is UNIX. Fortunately there is a unix library
  > with my developing system THINK C, but it should not be used.

The corresponding Standard C function is ``remove.''  Quoting from
Plauger & Brodie's _Standard C_ book:

	    int remove(const char *filename);

	The function removes the file with the filename {\tt filename}
	and returns zero if successful.  If the file is open when you
	remove it, the result is implementation-defined.  Once you
	remove it, you cannot open it as an existing file.

I recommend to all concerned that they change all their ``unlinks''
(Unix) to ``removes'' (Standard).  If your compiler does not support
Standard C (as, alas, many compilers still do not), a #ifdef is in
order.

		 -- Lee
================================================================================
Archive-Date: Wed, 16 Jun 1993 12:28:00 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306161726.AA01221@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu, leew@CS.UTEXAS.EDU
Date: Wed, 16 Jun 1993 12:26:40 -0500
To: LitProg@shsu.edu
Subject: Maintaining multiple implementations in a [C] web.

I've been having a bit of success with the following technique,
and I thought I ought to spread it around.  It should work in any LP
system that supports C programming (or any other language that supports
conditional compilation).

The problem is to write a web that will compile unchanged under both
Brand X and Brand Y compilers, which are notoriously incompatible.
The program has to do something (unspecified here) that cannot be
written in Standard C (or one of the compilers may not yet support the
standard).  Using CWEB notation, we can organize our program something
like this:

-----------

@*The Program.
Here we put all the portable stuff that will work unchanged,
regardless of the compiler.
@c
...
@<Now we do some non-portable stuff@>@;
...

@*Brand X Implementation.
Here we put all the code specific to the Brand X compiler.
@<Now we do some non-portable stuff@>=
#ifdef BRAND_X
@#
    @<Code specific to the Brand X compiler@>@;
@#
@#endif

@*Brand Y Implementation.
Here we put all the code specific to the Brand Y compiler.
@<Now we do some non-portable stuff@>=
#ifdef BRAND_Y
@#
    @<Code specific to the Brand Y compiler@>@;
@#
@#endif

-----------

The @#'s aren't really necessary, but they make the woven output look
nicer.  The trick is that when we tangle the web, all the compiler-
specific code is enclosed in #ifdef/#endif wrappers, so only the
appropriate code will be compiled by a given compiler.  Of course, the
BRAND_n constants have to be chosen to be unique to a the given
compiler, and preferably, supplied automatically, but that doesn't seem
to be a problem in practice.  I also tend to use the #ifdef/#endif
wrappers around every code part in the ``Brand $n$ Implementation''
sections.  It makes the web a little longer than need be, but it
allows me to safely use the same section names in each of the
implementation parts.

This technique doesn't displace change files; it supplements them.
The rule of thumb I use is that code I'm going to support goes into
the web.  Options I don't intend to support go into change files.

		-- Lee

================================================================================
Archive-Date: Thu, 17 Jun 1993 05:15:41 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 17 Jun 93 12:14:38 +0200
From: Denis Roegel <Denis.Roegel@loria.fr>
Reply-To: LitProg@SHSU.edu, Denis.Roegel@LORIA.FR
Message-ID: <9306171014.AA06499@pandore.loria.fr>
To: LITPROG@SHSU.edu
Subject: CWEB: alphab. ordering of sections
CC: roegel@pandore.loria.fr


I am using CWEB 2.8 and I ran into a small problem.
The names of my sections are french names, so some of them
have accents. The problem is that the list of the section names
doesn't put them in the right order when accents arise. 
Let me give an example:

Suppose I have two sections @<\'el\`eves@> and @<autres fonctions@>.
When processed by cweave, the list of the section names will show
@<\'el\`eves@> first, then @<autres fonctions@>, etc...
I would like @<\'el\`eves@> to be classified as @<eleves@> for instance.

So, is there any way to enforce an alphabetic order ?

Thanks in advance,

Denis. (roegel@loria.fr)

================================================================================
Archive-Date: Thu, 17 Jun 1993 11:22:31 CST
Sender: LP-Mgr@SHSU.edu
From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu, schrod@ITI.INFORMATIK.TH-DARMSTADT.DE
Message-ID: <9306171607.AA21205@spice.iti.informatik.th-darmstadt.de>
Subject: Re: LaTeX support for CWEB, 2nd round
To: litprog@shsu.edu (Literate Programming discussion)
Date: Thu, 17 Jun 1993 18:07:44 +0100 (MESZ)
Content-Type: text

I wrote:
> 
> Version 0.2 of the cweb style is ready for distribution.

It's version 0.3 now.

> Most important changes:
>   * `cweb' is a style now, not an option.
>   * It supports (and needs) the recent version of CWEB (3.0 beta).
>   * It runs with older versions of LaTeX, too.

Change from 0.2 to 0.3:

    * It supports (and needs) CWEB 3.0.

> [It's in the Literate Programming Archive]
> 
> CWEB 3.0 beta is also there, but US folks might want to fetch it from
> labrea.stanford.edu:/alpha.

CWEB 3.0 is also there (as cweb.tar.Z), but US folks might want to
fetch it from labrea.stanford.edu:/pub/cweb.

Enjoy
    Joachim

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany
================================================================================
Archive-Date: Thu, 17 Jun 1993 11:57:06 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306171655.AA27363@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu, leew@CS.UTEXAS.EDU
Date: Thu, 17 Jun 1993 11:55:14 -0500
To: LitProg@shsu.edu, Denis.Roegel@loria.fr
Subject: Re: CWEB: alphab. ordering of sections

Denis Roegel asks:

  > I am using CWEB 2.8 and I ran into a small problem.
  > The names of my sections are french names, so some of them
  > have accents. The problem is that the list of the section names
  > doesn't put them in the right order when accents arise. 
  > Let me give an example:
  > 
  > Suppose I have two sections @<\'el\`eves@> and @<autres fonctions@>.
  > When processed by cweave, the list of the section names will show
  > @<\'el\`eves@> first, then @<autres fonctions@>, etc...
  > I would like @<\'el\`eves@> to be classified as @<eleves@> for instance.
  > 
  > So, is there any way to enforce an alphabetic order ?

[I'm working from a CWEB 3.0 beta listing rather than 2.8, but things
should be pretty similar.]

The only way I can see to do this is to play around with the
|web_strcmp| function in common.w (via change file, of course).
CTANGLE & CWEAVE put section names into a binary search tree. CWEAVE
simple writes these names using an inorder traversal to get the output
in alphabetical order.  It _should_ be fairly easy to get |web_strcmp|
to ignore certain TeX control sequences.  The only possible drawback
is that if you have both @<eleven something@> and @<\'el\`eves@> in a
web, then the prefix @<ele...@> is no longer unique.  I don't think it
should be much problem in practice, however.

Not a great solution, but it will work (without making any webs you
create non-standard -- they will still go through the standard CWEAVE;
the alphabetizing will just be different).

Is there a better, easier fix that I missed?  Anyone?

		 -- Lee
================================================================================
Archive-Date: Thu, 17 Jun 1993 11:58:49 CST
Sender: LP-Mgr@SHSU.edu
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu, tim@MATHS.TCD.IE
Subject: Re: LaTeX support for CWEB, 2nd round
To: LitProg@shsu.edu, schrod@iti.informatik.th-darmstadt.de
Date: Thu, 17 Jun 93 17:54:32 BST
Message-ID: <9306171754.aa12935@walton.maths.tcd.ie>

> CWEB 3.0 is also there (as cweb.tar.Z), but US folks might want to
> fetch it from labrea.stanford.edu:/pub/cweb.

I don't think you said (this time) where "there" is.


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 Jun 1993 18:59:01 CST
Sender: LP-Mgr@SHSU.edu
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu, tim@MATHS.TCD.IE
Subject: cweb-3.0 on the Mac
To: litprog@shsu.edu
Date: Fri, 18 Jun 93 0:56:38 BST
Message-ID: <9306180056.aa01687@salmon.maths.tcd.ie>

Here are change files for ctangle.w and common.w
using Think C on the Mac.
They can be retrieved from ftp.maths.tcd.ie
in pub/Mac/TeX .
The application ctangle and the project to make it
are also there, in HQX format.

=============== common-thinkc.ch ===============
This is the change file for CWEB's COMMON under Think C on the Macintosh.

created:
    17-JUN-1993 Timothy Murphy <tim@maths.tcd.ie>

modified:
	not yet!

@x l.5  (TGM)
% Version 3.0 --- June 1993
@y
% Version 3.0 --- June 1993
% With changes for THINK C on the Macintosh
% by Timothy Murphy <tim@@maths.tcd.ie> June 1993
@z

@x l.92  Memory for large arrays must be allocated dynamically
  @<Initialize pointers@>;
@y
  @<Allocate memory for large arrays@>;
  @<Initialize pointers@>;
@z

@x l.162  (TGM)
#include <stdio.h>
@y
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@z

@x l.417  Memory for large arrays must be allocated dynamically
boolean changed_section[max_sections]; /* is the section changed? */
@y
boolean *changed_section; /* is the section changed? */
@z

@x l.590  Memory for large arrays must be allocated dynamically
char byte_mem[max_bytes]; /* characters of names */
char *byte_mem_end = byte_mem+max_bytes-1; /* end of |byte_mem| */
name_info name_dir[max_names]; /* information about names */
name_pointer name_dir_end = name_dir+max_names-1; /* end of |name_dir| */
@y
char *byte_mem; /* characters of names */
char *byte_mem_end; /* end of |byte_mem| */
name_info *name_dir; /* information about names */
name_pointer name_dir_end; /* end of |name_dir| */
@z

@x l.1403  (TGM)
extern int strlen(); /* length of string */
@y
extern size_t strlen(); /* length of string */
@z

@x l.1409 Memory for large arrays must be allocated dynamically
@** Index.
@y
@** Mac specific code.
Unfortunately, the variable |h| is pre-defined in |MacHeaders|.
(It represents the horizontal co-ordinate.)
So we replace it here by |H|.

@d h H

@ We allocate memory for large arrays dynamically.

@<Allocate memory for large arrays@>=
changed_section = (boolean*)calloc(max_sections, sizeof(boolean));
byte_mem = (char*)calloc(max_bytes, sizeof(char));
byte_mem_end= byte_mem+max_bytes-1;
name_dir = (name_info*)calloc(max_names, sizeof(name_info));
name_dir_end= name_dir+max_names-1;
if (changed_section==NULL || byte_mem==NULL || name_dir==NULL)
  fatal("common.c: ", "memory allocation failure");

@** Index.
@z
================================================

=============== ctangle-thinkc.ch ==============
This is the change file for CWEB's CTANGLE under Think C on the Macintosh.

created:
    17-JUN-1993 Timothy Murphy <tim@maths.tcd.ie>

modified:
	not yet!

@x l.5
% Version 3.0 --- June 1993
@y
% Version 3.0 --- June 1993
% With changes for THINK C on the Macintosh
% by Timothy Murphy <tim@@maths.tcd.ie> June 1993
@z

@x l.75
extern int strlen(); /* length of string */
@y
extern size_t strlen(); /* length of string */
@z

@x l.93
  argc=ac; argv=av;
  program=ctangle;
@y
#ifdef THINK_C
  ac = ccommand(&av);
#endif
  argc=ac; argv=av;
  program=ctangle;
  @<Allocate memory for large arrays@>@;
@z

@x l.109
@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 */
@d max_names 4000 /* number of identifiers, strings, section names;
  must be less than 10240; used in |"common.w"| */
@d max_texts 2500 /* number of replacement texts, must be less than 10240 */
@d hash_size 353 /* should be prime; used in |"common.w"| */
@d longest_name 1000 /* section names shouldn't be longer than this */
@y
@d max_bytes 45000 /* 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 */
@d max_names 2000 /* number of identifiers, strings, section names;
  must be less than 10240; used in |"common.w"| */
@d max_texts 1250 /* number of replacement texts, must be less than 10240 */
@d hash_size 353 /* should be prime; used in |"common.w"| */
@d longest_name 500 /* section names shouldn't be longer than this */
@z

@x common.w l.152
#include <stdio.h>
@y
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef THINK_C
#include <console.h>
#endif
@z

@x common.w l.590 Memory for large arrays must be allocated dynamically
extern char byte_mem[]; /* characters of names */
extern char *byte_mem_end; /* end of |byte_mem| */
extern name_info name_dir[]; /* information about names */
@y
extern char *byte_mem; /* characters of names */
extern char *byte_mem_end; /* end of |byte_mem| */
extern name_info *name_dir; /* information about names */
@z

@x common.w l.417 Memory for large arrays must be allocated dynamically
extern boolean changed_section[]; /* is the section changed? */
@y
extern boolean *changed_section; /* is the section changed? */
@z

@x l.157 Memory for large arrays must be allocated dynamically
text text_info[max_texts];
text_pointer text_info_end=text_info+max_texts-1;
text_pointer text_ptr; /* first unused position in |text_info| */
eight_bits tok_mem[max_toks];
eight_bits *tok_mem_end=tok_mem+max_toks-1;
@y
text *text_info;
text_pointer text_info_end;
text_pointer text_ptr;
eight_bits *tok_mem;
eight_bits*tok_mem_end;
@z

@x l.1523 Memory for large arrays must be allocated dynamically
@** Index.
@y
@** Mac specific code.
Unfortunately, the variable |h| is pre-defined in |MacHeaders|.
(It represents the horizontal co-ordinate.)
So we replace it here by |H|.

@d h H

@ We allocate memory for large arrays dunamically.

@<Allocate memory for large arrays@>=
text_info = (text*)calloc(max_texts, sizeof(text));
text_info_end= text_info+max_texts-1;
tok_mem = (eight_bits*)calloc(max_toks, sizeof(eight_bits));
tok_mem_end= tok_mem+max_toks-1;
if (text_info==NULL || tok_mem==NULL)
  fatal("ctangle: ", "memory allocation failure");

@** Index.
@z
================================================

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: Fri, 18 Jun 1993 11:57:03 CST
Sender: LP-Mgr@SHSU.edu
Date: Fri, 18 Jun 1993 11:56:31 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: LitProg@SHSU.edu, schrod@ITI.INFORMATIK.TH-DARMSTADT.DE
Message-ID: <0096E358.12954CC0.25506@SHSU.edu>
Subject: Re: LaTeX support for CWEB, 2nd round

On Thu, 17 Jun 1993 18:07:44 +0100 (MESZ), Joachim Schrod
<schrod@iti.informatik.th-darmstadt.de> posted:
> CWEB 3.0 is also there (as cweb.tar.Z), but US folks might want to fetch it
> from labrea.stanford.edu:/pub/cweb.

Sorry, between the start of summer session, being ill, having to deal with
a few picky people on a grant request (which looks successful!), and a few
other things, I have gotten behind.  The CWEB 3.0 files are now on
Niord.SHSU.edu (192.92.115.8) in [FILESERV.CWEB] for consumption.  This
means for mail retrieval, you can use:
 SENDME CWEB
in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu)
and get an 8 part UUENCODEd ZIP archive.  Also, for anonymoous ftp
retrieval, a the ZIP archive CWEB-3_0.ZIP is available there, or the
individual files in [FILESERV.CWEB-3_0...].  Finally, Niord's gopher server
has been updated to reflect the change in the directory path:
 TeX-related Materials/
   Literate Programming Library/
     CWEB (version 3.0)/

I know a few other things have been updated as well and hope to attend to
them soon.

--George
================================================================================
Archive-Date: Fri, 18 Jun 1993 13:59:23 CST
Sender: LP-Mgr@SHSU.edu
From: ralexand@mason1.gmu.edu (Roger T Alexander)
Reply-To: LitProg@SHSU.edu, ralexand@MASON1.GMU.EDU
Message-ID: <9306181857.AA25369@mason1.gmu.edu>
Subject: Re: LaTeX support for CWEB, 2nd round
To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
Date: Fri, 18 Jun 1993 14:57:37 -0400 (EDT)
Content-Type: text

> 
> The CWEB 3.0 files are now on
> Niord.SHSU.edu (192.92.115.8) in [FILESERV.CWEB] for consumption.  This
> means for mail retrieval, you can use:
>  SENDME CWEB
> in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu)
> and get an 8 part UUENCODEd ZIP archive.  Also, for anonymoous ftp
> retrieval, a the ZIP archive CWEB-3_0.ZIP is available there, or the
> individual files in [FILESERV.CWEB-3_0...].  Finally, Niord's gopher server
> has been updated to reflect the change in the directory path:
>  TeX-related Materials/
>    Literate Programming Library/
>      CWEB (version 3.0)/
>

Does this meadn that CWEB 3.0 is "officially" released for general
consumption (i.e., not an alpha or beta version) ?

 
================================================================================
Archive-Date: Fri, 18 Jun 1993 14:51:26 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306181950.AA14343@math.berkeley.edu>
To: LitProg@shsu.edu
Subject: cweb 3.0
CC: levy@math.berkeley.edu
Date: Fri, 18 Jun 93 12:50:04 -0700
From: Silvio Levy <levy@math.berkeley.edu>
Reply-To: LitProg@SHSU.edu, levy@MATH.BERKELEY.EDU


In response to Roger T Alexander's incredulous question:

Yes, cweb 3.0 is released as of June 16.  You can find it on labrea.

Silvio
================================================================================
Archive-Date: Fri, 18 Jun 1993 17:47:00 CST
Sender: LP-Mgr@SHSU.edu
Date: Fri, 18 Jun 93 18:46:00 -0400
From: ohl@chico.harvard.edu (Thorsten Ohl)
Reply-To: LitProg@SHSU.edu, ohl@CHICO.HARVARD.EDU
Message-ID: <9306182246.AA27762@chico.harvard.edu>
To: Literate Programming Discussion List <litprog@shsu.edu>
CC: Silvio Levy <levy@math.berkeley.edu>, Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Subject: CWEB 3.0: funny indentation

The following (nonsense) WEB shows an inconsistency in the formatting
of CWEB 3.0 [both with the classic plain TeX version and in Joachim's
cweb.sty]:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< cut here >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
% bug.w --
@ Here is a visible format definition.
@f bar int
@f foo int
@d foo 1
@d bar 2

@ Here is a hidden format definition, which causes a funny indentation
of the first macro definition.
@s baz int
@d foo 1
@d bar 2
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< cut again >>>>>>>>>>>>>>>>>>>>>>>>>>>>>

In my (not so) humble opinion, the first macro definition should
*not* be indented.

Cheers,
-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: Mon, 21 Jun 1993 04:33:21 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 21 Jun 93 11:09:14 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu, HHBODE@DOSUNI1.RZ.UNI-OSNABRUECK.DE
Subject: Re: FWEB 1.30 now available --- FWEB 1.30 NOW AVAILABLE ---
To: LitProg@SHSU.edu, krommes@THEORY.PPPL.GOV, "George D. Greenwade" <bed_gdg@shsu.edu>, texinfo1@rusinfo.rus.uni-stuttgart.de


>  Version 1.30 (non-beta version) of FWEB is now available from
>
>        lyman.pppl.gov:/pub/fweb/fweb-1.30.tar.Z

I have again compiled an extract for quick and easy use on MS-DOS. It is
available as fweb130x.zip in the directory pub/msdos/tex/web at
ftp.rz.uni-osnabrueck.de. This file replaces fwebexe.zip. It is packed with
ZIP v1.9, so you must use UNZIP v5.0 or PKUNZIP v2.0 or later to unpack. I
append the readme file below.

Good luck,

Hans-Hermann Bode
Arbeitsgruppe Systemforschung, Universitaet Osnabrueck
Tel.: (49)-541-9692545
e-mail: HHBODE@DOSUNI1.BITNET, hhbode@dosuni1.rz.uni-osnabrueck.de

%--READ_ME.pc-from-fweb130x.zip-----------------------------------------------
								-*-Text-*-
This archive is an extract of John A. Krommes' ``WEB System of Structured
Software Design and Documentation for C, C++, Fortran, Ratfor, and TeX''
(Version 1.30)---briefly FWEB---, that contains everything necessary to run
the system on a PC. This collection has been compiled by Hans-Hermann Bode
(hhbode@dosuni1.rz.uni-osnabrueck.de or HHBODE@DOSUNI1.BITNET).

Herein are the following files:

./read_me.pc		this file
./read_me		readme file of the original distribution
./demos			directory containing several demo WEBs
./demos/read_me.dem
./demos/intro.tex
./demos/verbatim.sty
./demos/newton.f
./demos/newton.web
./demos/adj.web
./demos/breakpt.web
./demos/demo.ch
./demos/demo.web
./demos/macros.hwe
./demos/xnewton.web
./demos/series.web
./ftangle.exe		the tangle processor including Ratfor capability
./ftangle0.exe		the tangle processor excluding Ratfor capability
./fweave.exe		the weave processor
./guide.dvi		reference guide
./guid-inx.dvi		index of the reference guide
./fwebman.dvi		the manual
./fweb-inx.dvi		index of the manual
./fwebmac.dvi		documentation of the macro package
./fwebmac.sty		the macro package
./fweb.sty		sample style file
./fweb.man		manual page

Copy the three exe files into a directory where your executables reside and
fwebmac.sty into a directory where TeX looks for its input. Optionally, you
can (customize and) copy fweb.sty into your FWEB working directory (see the
manual page for further options). After printing (caution: fwebman.dvi
results in about 180 pages!) and reading the documentation you might be able
to run FWEB.

The problems you may run into most likely are---as always---due to memory
limitations under PC/MS-DOS. Both the weave and the tangle processors need a
minimum of approx. 500 KByte of available memory. If one of those complains
about insufficient memory, you should take the following measures into
account:

1. Clean-up your memory. Delete everything from your config.sys and
autoexec.bat files that installs resident in conventional memory but isn't
really needed. (Do you really need the display.sys driver?) After this,
reboot the system and try again.

2. If you don't need the Ratfor processor, you can use ftangle0 instead of
ftangle. Both tangle processors are identical except that ftangle0 doesn't
understand Ratfor and therefore gets along with about 30 KByte less than
ftangle.

3. If none of the solutions above will lead to success, look in the
documentation for the section on dynamic memory allocation (Appendix N) and
find out how you can customize the sizes of internal tables. You should
distinguish between two situations: first, the machine's memory may overflow
and you'll have to shrink some arrays to fit the processor in memory;
second, the sizes of one or more arrays may be too small for a certain job
and you'll have to enlarge them (clearly, neither method 1 nor 2 would help
in this case). For instance, I could tangle all the demos with 527360 Byte
available on the system using ftangle0 with -yn750 option.

Note that the files in this archive are only a small part of the whole FWEB
system. You should be able to obtain all sources, documentation, demos, and
installation stuff for various machines from the same site as you got the
archive described here.
									-h2b
================================================================================
Archive-Date: Mon, 21 Jun 1993 08:26:00 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 21 Jun 1993 08:25:45 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: LitProg@SHSU.edu, HHBODE@DOSUNI1.RZ.UNI-OSNABRUECK.DE
Message-ID: <0096E596.2045D160.31625@SHSU.edu>
Subject: Re: FWEB 1.30 now available --- FWEB 1.30 NOW AVAILABLE ---

On Mon, 21 Jun 93 11:09:14 MEZ, Hans-Hermann Bode
<HHBODE@dosuni1.rz.Uni-Osnabrueck.DE> posted:
> >  Version 1.30 (non-beta version) of FWEB is now available from
> >
> >        lyman.pppl.gov:/pub/fweb/fweb-1.30.tar.Z
>
> I have again compiled an extract for quick and easy use on MS-DOS. It is
> available as fweb130x.zip in the directory pub/msdos/tex/web at
> ftp.rz.uni-osnabrueck.de. This file replaces fwebexe.zip. It is packed with
> ZIP v1.9, so you must use UNZIP v5.0 or PKUNZIP v2.0 or later to unpack. I
> append the readme file below.

Thanks!!  I have retrieved the file and placed it in [FILESERV.FWEB130X] on
Niord.SHSU.edu (192.92.115.8) (renamed to FWEB130-X.ZIP for consistency
purposes with FILESERV).  To retrieve the 28-part UUENCODEd ZIP archive
Hans-Hermann created, include:
 SENDME FWEB130X
in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu). 
Also, this is available for gopher retrieval from Niord (port 70) in:
  TeX-related Materials/
     Literate Programming Library/

--George
================================================================================
Archive-Date: Mon, 21 Jun 1993 11:43:14 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <m0o7oph-0005LwC@satyr.sylvan.com>
Date: Mon, 21 Jun 93 09:35 PDT
To: HHBODE@DOSUNI1.RZ.UNI-OSNABRUECK.DE
CC: LitProg@SHSU.edu, krommes@THEORY.PPPL.GOV, bed_gdg@shsu.edu, texinfo1@rusmv1.rus.uni-stuttgart.de
Subject: Re: FWEB 1.30 now available --- FWEB 1.30 NOW AVAILABLE ---
From: Kayvan Sylvan <kayvan@satyr.Sylvan.COM>
Reply-To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM

I hope this PC version was created from the fweb-1.30a.tar.Z of Jun 18th.

The earlier release (there for a day or two) had a couple of problems
that were quickly fixed.

			---Kayvan

| Kayvan Sylvan, Sylvan Associates, kayvan@satyr.Sylvan.COM, (408) 978-1407  |
| Consulting, Training, Development, SysAdmin, {BSD,SVr3,SVr4} Unix Systems  |
| "Think Globally, Act Locally." "Only you can make your dreams come true."  |
| Proud Dad of Katherine Yelena (born 8/8/89) & Robin Gregory (born 2/28/92) |
================================================================================
Archive-Date: Tue, 22 Jun 1993 04:46:20 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 22 Jun 93 11:28:52 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu, HHBODE@DOSUNI1.RZ.UNI-OSNABRUECK.DE
Subject: Re: FWEB 1.30 now available --- FWEB 1.30 NOW AVAILABLE ---
To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM


>I hope this PC version was created from the fweb-1.30a.tar.Z of Jun 18th.

No, it wasn't.

>The earlier release (there for a day or two) had a couple of problems
>that were quickly fixed.

What are these problems? FWEB 1.30 has been in beta test for quite a long
time. Hence, they should not be too seriously. Anyway, updating fweb130x
now has a very low priority for me and I will not do it soon. If anyone
else will do it---fine.

Hans-Hermann Bode
================================================================================
Archive-Date: Wed, 23 Jun 1993 10:39:54 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 23 Jun 93 17:37:52 +0200
From: marcus@x4u.desy.de (Marcus Speh)
Reply-To: LitProg@SHSU.edu, marcus@X4U.DESY.DE
Message-ID: <9306231537.AA07282@x4u.desy.de>
To: Literate Programmers <litprog@shsu.edu>
Subject: Literate Programming on the World Wide Web [regular posting]

[[This is a regular posting to LitProg mailing list and Comp/TeX discussion
  groups, formatted for Emacs outline mode. Cut here and copy rest to file.]]

-----------------------------------------------------------------------------
* Literate Programming on the World Wide Web
-----------------------------------------------------------------------------
   FYI, there is a wealth of information on Literate Programming,
   the art of structured programming and documentation [especially
   using WEB-like systems with TeX formatting] available on the
   World Wide Web [WWW], a distributed HyperText system, a network
   of documents connected by links which can be activated electronically.
   Examples for LitProg environments are WEB for Pascal (DEK), CWEB for C/C++
   (Levy/Knuth), FWEB for C/C++/Fortran/ratfor/TeX (Krommes)...and many more.
-----------------------------------------------------------------------------
* How to get to the Web
-----------------------------------------------------------------------------
   If you have a WWW browser up and running, try going to

		        http://info.desy.de:80/

   (this brings you to the DESY home page), and look for "User Documents"
   in the panel which appears. The precise URL is

	   http://info.desy.de:80/gnu/ftp/pub/www/projects/LitProg.html

   If you have no clue what WWW is, you can go over the Internet with

        	telnet info.cern.ch

   which brings you to the WWW Home Page at CERN. You are now using the
   simple line mode browser. To move around the Web, enter the numbers
   given after an item. To go to the Literate Programming documents, enter

	go http://info.desy.de:80/gnu/ftp/pub/www/projects/LitProg.html

   This is what you should see now:
-----------------------------------------------------------------------------
* What you will see here
-----------------------------------------------------------------------------

                           LITERATE PROGRAMMING
                                    
   __________________________________________________________________

  Getting Started[1]      A first look into Literate Programming with WEB
                         
   Editing                GNU Emacs mode for WEB programming: Sources[2]
                         and Manual[3] (PostScript)
                         
   Tools[4]               List of common, freely available Literate
                         Programming environments
                         
   Examples[5]            Literate Programming archives and selected
                         examples
                         
   LitProg Library[6]     George D. Greenwade's Literate Programming
                         Library at Niord.shsu.edu
                         
   LITPROG Mailing List[7]
                          Information on the Literate Programming
                         Mailing List
                         
   FAQs[8]                Lists of Frequently Asked Questions for WEB
                         systems
                         
   Further Reading        Nelson Beebe's Literate Programming
                         bibliography at ftp.math.utah.edu in directory
                         /pub/tex/bib[9] (files litprog.*)
                         
   HyperLitProg[10]       Literate Programming using HyperText[11]
                         Techniques
                         
   OO-LitProg[12]         Thoughts on Object-Oriented[13] Literate
                         Programming
                         

 [[Now you can continue climbing down the documentation tree by
   entering numbers 1-13 and follow your own interests]]
-----------------------------------------------------------------------------
* More on Browsing the Web
-----------------------------------------------------------------------------
   The by far nicest way of "browsing" through WWW uses the X-Terminal
   based tool "NCSA Mosaic". Binaries for many platforms (ready for use)
   and sources are available via anonymous FTP from
   ftp.ncsa.uiuc.edu in directory Web/xmosaic.
     The general FTP repository for browser software is info.cern.ch
  (including a hypertext browser/editor for NeXTStep 3.0)
     If you cannot go through TELNET, you can still retrieve WWW
   documents by e-mail: send a mail to listserv@info.cern.ch with a
   line in it saying just
				HELP
   to get back detailed instructions. Your mail system must have a
   mail gateway to the internet mail.
-----------------------------------------------------------------------------
* Contact for Further Information
-----------------------------------------------------------------------------
   Please feel free to contact me for questions, suggestions and further
   contributions, or just to tell me whether you found this information
   useful in any way. For questions related to WWW, consult the WWW-FAQ:
   a draft of this text is available via anonymous FTP from ftp.desy.de
   in /pub/faq/www/www-faq (it will later be avaible at rtfm.mit.edu,
   as other Usenet FAQ lists), or on WWW at
   http://www.vuw.ac.nz:80/who/Nathan.Torkington/ideas/www-faq.html
   Enjoy.

   13/06/93   Marcus Speh  E-mail:  INTERnet: marcus@x4u.desy.de
	                            BITnet:   i02msp@dhhdesy3
	                            DECnet:   13313::speh
-----------------------------------------------------------------------------
Local Variables:
mode: outline
outline-regexp: "^\*"
eval: (hide-body)
End:

================================================================================
Archive-Date: Wed, 23 Jun 1993 15:44:54 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 23 Jun 93 19:11:54 GMT
Message-ID: <8633@apusapus.demon.co.uk>
From: tfj@apusapus.demon.co.uk (Trevor Jenkins)
Reply-To: LitProg@SHSU.edu, tfj@APUSAPUS.DEMON.CO.UK
To: LitProg@shsu.edu
CC: tfj@apusapus.demon.co.uk
Subject: Literate programming in (sic) TeX

I need to write some TeX code. Being a believer in literate progamming I
therefore want to write my TeX code with some form of TANGLE/WEAVE. Anyone
know of the existence of versions of these tools which accept TeX as the
``programming language''? 

Regards, Trevor.

---------------------------------------------------------------------------
Trevor Jenkins                                                Re: "deemed!"
134 Frankland Rd, Croxley Green, RICKMANSWORTH, WD3 3AU, England
email: tfj@apusapus.demon.co.uk   phone: +44 (0)923 776436     radio: G6AJG 

   "We need bigger and better books", Jimmy Tingle (Damned in the USA)
================================================================================
Archive-Date: Wed, 23 Jun 1993 16:34:44 CST
Sender: LP-Mgr@SHSU.edu
From: shell@mailhost.cs.pdx.edu (Edith M Brown)
Reply-To: LitProg@SHSU.edu, shell@MAILHOST.CS.PDX.EDU
Message-ID: <9306232129.AA01582@rigel.cs.pdx.edu>
Subject: Re: Literate Programming on the World Wide Web [regular posting]
To: LitProg@shsu.edu, marcus@x4u.desy.de
Date: Wed, 23 Jun 1993 14:29:31 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

> 
> [[This is a regular posting to LitProg mailing list and Comp/TeX discussion
>   groups, formatted for Emacs outline mode. Cut here and copy rest to file.]]
> 
> -----------------------------------------------------------------------------
> * Literate Programming on the World Wide Web
> -----------------------------------------------------------------------------
>    FYI, there is a wealth of information on Literate Programming,
>    the art of structured programming and documentation [especially
>    using WEB-like systems with TeX formatting] available on the
>    World Wide Web [WWW], a distributed HyperText system, a network
>    of documents connected by links which can be activated electronically.
>    Examples for LitProg environments are WEB for Pascal (DEK), CWEB for C/C++
>    (Levy/Knuth), FWEB for C/C++/Fortran/ratfor/TeX (Krommes)...and many more.
> -----------------------------------------------------------------------------
> * How to get to the Web
> -----------------------------------------------------------------------------
>    If you have a WWW browser up and running, try going to
> 
> 		        http://info.desy.de:80/
> 
>    (this brings you to the DESY home page), and look for "User Documents"
>    in the panel which appears. The precise URL is
> 
> 	   http://info.desy.de:80/gnu/ftp/pub/www/projects/LitProg.html
Hello,
I was using xmosaic to get to this URL, but I kept getting an error.  The
system kept telling me that the info server was not accessible or it was
refusing to serve the document to me.  I their some sort of special per-
mission I need for the server?

-- 




Edith Brown
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Taken from the Gummy Bears:

Black Knight:"What kind of fool do you take me for?"

Troll: "Duuuhhh, I don't know. How many kinds are there?"
================================================================================
Archive-Date: Wed, 23 Jun 1993 19:12:29 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 23 Jun 93 18:55:38 CDT
From: bart@cs.tamu.edu (Bart Childs)
Reply-To: LitProg@SHSU.edu, bart@CS.TAMU.EDU
Message-ID: <9306232355.AA08223@clavin.cs.tamu.edu>
To: LitProg@shsu.edu, tfj@apusapus.demon.co.uk
Subject: Re:  Literate programming in (sic) TeX

FWEB does!  It outputs a .sty file unless you tell it to use a
different extension.

Bart Childs

================================================================================
Archive-Date: Wed, 23 Jun 1993 19:59:03 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 23 Jun 1993 20:54:46 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306240054.AA20521@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, tfj@APUSAPUS.DEMON.CO.UK
CC: LitProg@shsu.edu, tfj@apusapus.demon.co.uk
Subject: Re: Literate programming in (sic) TeX

Try non-language specific webs : noweb,nuweb,funnelWeb, and on dos CLiP.
Also to some extent FWEB.
Hope this helps. 
Osman
================================================================================
Archive-Date: Wed, 23 Jun 1993 23:57:57 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <m0o8jGK-0005LlC@satyr.sylvan.com>
Date: Wed, 23 Jun 93 21:50 PDT
To: LitProg@SHSU.edu, tfj@APUSAPUS.DEMON.CO.UK
Subject: Literate programming in (sic) TeX
From: Kayvan Sylvan <kayvan@satyr.Sylvan.COM>
Reply-To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM

>>>>> "Trevor" == Trevor Jenkins <apple!apusapus.demon.co.uk!tfj> writes:

Trevor> I need to write some TeX code. Being a believer in literate
Trevor> progamming I therefore want to write my TeX code with some
Trevor> form of TANGLE/WEAVE. Anyone know of the existence of versions
Trevor> of these tools which accept TeX as the ``programming
Trevor> language''?

FWEB will do what you want.

			---Kayvan

| Kayvan Sylvan, Sylvan Associates, kayvan@satyr.Sylvan.COM, (408) 978-1407  |
| Consulting, Training, Development, SysAdmin, {BSD,SVr3,SVr4} Unix Systems  |
| "Think Globally, Act Locally." "Only you can make your dreams come true."  |
| Proud Dad of Katherine Yelena (born 8/8/89) & Robin Gregory (born 2/28/92) |
================================================================================
Archive-Date: Thu, 24 Jun 1993 02:40:01 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 24 Jun 93 09:31:34 MDT
From: Zdenek Wagner <WAGNER%CSEARN.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu, WAGNER%CSEARN.BITNET@SHSU.EDU
Subject: Re: Literate programming in (sic) TeX
To: Literate Progaramming list <LitProg@SHSU.edu>, tfj@APUSAPUS.DEMON.CO.UK

Literate programming in TeX is supported by DOC.STY and DOCSTRIP.TEX. They
are a part of the Mainz distribution and they are fully documented by the
same tool. You should retrieve INSTALL.MZ0 (e.g. form Niord.shsu.edu or
Stuttgart or from elsewhere). You will also need program MakeIndex to print
the index of macros. This program is also available from Niord.shsu.edu
(latest version 2.11).

Regards

                                                ,
,~~~/        /`               /     /|      /~~~
   /        /           |_/  /__/  ' |     /
  /     /~~/ /~~/ /~~/ /~~/ /\       | /| / /~~/ /~~/ /~~/ /~~/ /~~~
 /   , /  / /~~~ /  / /~~~ /  \      |/ |/ /  /_/  / /  / /~~~ /
 ~~~~  ~~~  ~~~ '  '  ~~~ '    `     '  '  ~~~  ~~/ '  '  ~~~ '
                              Zdenek Wagner______/

Some gateway between me and you may garble backslash. It will appear
on your screen as ã but now it seems repaired.
================================================================================
Archive-Date: Thu, 24 Jun 1993 04:09:57 CST
Sender: LP-Mgr@SHSU.edu
From: Lang@tu-harburg.dbp.de (Bernhard Lang)
Reply-To: LitProg@SHSU.edu, Lang@TU-HARBURG.DBP.DE
Message-ID: <9306240907.AA47921@kirk.ti1.tu-harburg.de>
Subject: Re: Literate programming in (sic) TeX
To: LitProg@SHSU.edu.d400.de, tfj@APUSAPUS.DEMON.CO.uk.d400.de
Date: Thu, 24 Jun 1993 11:07:37 +0100 (METDST)
Content-Type: text

> 
> I need to write some TeX code. Being a believer in literate progamming I
> therefore want to write my TeX code with some form of TANGLE/WEAVE. Anyone
> know of the existence of versions of these tools which accept TeX as the
> ``programming language''? 
> 
> Regards, Trevor.
> 
Try Nuweb, thats language independent. You can pick it from ftp.shsu.edu, 
directory tex-archive/web/nuweb.

Bernhard.

{{{  Dr. Bernhard Lang  -----------------------------------------------
     email: lang@tu-harburg.dbp.de         TU Hamburg Harburg
                                           Technische Informatik I
}}}
...  Enter this fold to view behind the scenes  -----------------------
================================================================================
Archive-Date: Thu, 24 Jun 1993 05:41:40 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 24 Jun 93 10:36:58 GMT
Message-ID: <8877.9306241036@dlpx1.dl.ac.uk>
From: Dave Love <d.love@daresbury.ac.uk>
Reply-To: LitProg@SHSU.edu, d.love@DARESBURY.AC.UK
To: LitProg@SHSU.edu
Subject: Should be an FAQ [was: Literate programming in (sic) TeX]
References: <7213.9306240750@dlpx1.dl.ac.uk> <tfj@apusapus.demon.co.uk>

>>>>> On Thu, 24 Jun 93 09:31:34 MDT, Zdenek Wagner <WAGNER%BITNET.CSEARN@edu.SHSU> said:

 > Literate programming in TeX is supported by DOC.STY and DOCSTRIP.TEX. 

Hear, hear.  I'd urge anyone writing TeX macros to use the doc system.
[It's in the CTAN archives like shsu in `macros/latex/distribs/doc'.]

Pros relative to WEB-like systems:

* Built on TeX, so it can cope with things like changing category
  codes and is customisable through TeX (e.g., building
  installation/configuration procedures on top of docstrip).  Needs no
  new syntax.

* Only depends on (La)TeX (plus makeindex if you want the index); you
  don't need to import another tool to process the stuff.

* It's the de facto standard for the job in the TeX world e.g., the
  LaTeX3 project.

Possible cons:

* Documentation needs to be written in LaTeX, but the code can be any
  TeX or, indeed, any language.  The dependence on TeX as the
  typesetting system is obviously not an issue!

* No WEB-like `module' system (substitution of code chunks), but this
  has limited usefulness with TeX: it's a macro language anyhow, and
  there aren't many problems with the ordering of code (like having
  declarations preceding code).

* No pretty-printing; but the dynamic lexical structure of TeX
  militates against that anyhow.

* Generating a code index is slow.
================================================================================
Archive-Date: Thu, 24 Jun 1993 07:34:16 CST
Sender: LP-Mgr@SHSU.edu
To: litprog@shsu.edu
From: mckearney_s <mckearney_s@bt-web.bt.co.uk>
Reply-To: LitProg@SHSU.edu, mckearney_s@BT-WEB.BT.CO.UK
Subject: Are modules necessary?
Date: Thu, 24 Jun 1993 13:31:38 +0100


Hello,

I have developed a WEB for Word system, based around the WORDWEB 
developed elsewhere, that does almost everything most WEB systems do 
including : cross-references, code indexes, find definition, etc.

Some people here have been using it and we have come to the conclusion 
that the formal structure of Text Part - Code Part is unnecessary in 
this WYSIWYG environment.  Having code chunks appear throughout the 
text seems to lead to a slightly different style of programming.

Does anyone else feel that the numbered module structure is more than 
simply a carry over from the parsing of the source file in the 
original WEB?  Cross-references can be handled using page numbers etc.

Before someone goes on about how much better TeX is over Word, etc I 
should say that if I had a free choice it would be TeX/LaTeX and in 
my environment most people will not move away from WYSIWYG 
environments.

Stephen Mc Kearney
================================================================================
Archive-Date: Thu, 24 Jun 1993 09:05:20 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 24 Jun 1993 10:01:42 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306241401.AA21688@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, mckearney_s@bt-web.bt.co.uk.ae.ge.com.ae.ge.com
CC: litprog@shsu.edu
Subject: Re: Are modules necessary?

Yes, since they allow you develop code without regard to the particular
compilers needs (sequence). Does your web has the same limitation as
the earlier one namely the 64k limit on the program size (due to the
wordbasics string size limit)? Even though I like (La)TeX based webs,
I would like to try ``word'' based ones (If it is available).
Osman
================================================================================
Archive-Date: Thu, 24 Jun 1993 15:57:30 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 24 Jun 93 15:09:54 -0500
From: arouse@math.utexas.edu
Reply-To: LitProg@SHSU.edu, arouse@MATH.UTEXAS.EDU
Message-ID: <9306242009.AA00680@elle.ma.utexas.edu>
To: LitProg@shsu.edu, mckearney_s@BT-WEB.BT.CO.UK
CC: litprog@shsu.edu
Subject: Are modules necessary?

mckearney_s said:
>Does anyone else feel that the numbered module structure is more than 
>simply a carry over from the parsing of the source file in the 
>original WEB?  Cross-references can be handled using page numbers etc.
	I think I agree with you.
	When I first heard of Lit. Prog. and read about the subject I
developed the impression that the final document would resemble a
chapter from a textbook or a book and not a numbered sequence of
text/code segments as is currently the case. 
	I imagined that the code would be in its own box (or area) in
the document in the same way that photographs and other images are
included in newspapers, dictionaries, texts. I also thought that
actual images could be included. For example, in a program that draws
a line its progress could be graphically shown by pixel diagrams. Or a
sorting algorithm could include a graph of its performance on random
data.
	In other words I feel that the ideal product of a Literate
Programmer is to be able to produce a final document which is
indistinguishable from an ordinary expository/descriptive treatise.
Perhaps the best description I could give of the ideal program is, as
I first said, "something that looks like a chapter/section from
'Intro. to Algorithms' or another such book"

Allen Rouse
================================================================================
Archive-Date: Thu, 24 Jun 1993 15:57:39 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 24 Jun 93 15:09:54 -0500
From: arouse@math.utexas.edu
Reply-To: LitProg@SHSU.edu, arouse@MATH.UTEXAS.EDU
Message-ID: <9306242009.AA00680@elle.ma.utexas.edu>
To: LitProg@shsu.edu, mckearney_s@BT-WEB.BT.CO.UK
CC: litprog@shsu.edu
Subject: Are modules necessary?

mckearney_s said:
>Does anyone else feel that the numbered module structure is more than 
>simply a carry over from the parsing of the source file in the 
>original WEB?  Cross-references can be handled using page numbers etc.
	I think I agree with you.
	When I first heard of Lit. Prog. and read about the subject I
developed the impression that the final document would resemble a
chapter from a textbook or a book and not a numbered sequence of
text/code segments as is currently the case. 
	I imagined that the code would be in its own box (or area) in
the document in the same way that photographs and other images are
included in newspapers, dictionaries, texts. I also thought that
actual images could be included. For example, in a program that draws
a line its progress could be graphically shown by pixel diagrams. Or a
sorting algorithm could include a graph of its performance on random
data.
	In other words I feel that the ideal product of a Literate
Programmer is to be able to produce a final document which is
indistinguishable from an ordinary expository/descriptive treatise.
Perhaps the best description I could give of the ideal program is, as
I first said, "something that looks like a chapter/section from
'Intro. to Algorithms' or another such book"

Allen Rouse
================================================================================
Archive-Date: Thu, 24 Jun 1993 16:19:00 CST
Sender: LP-Mgr@SHSU.edu
Date: Thu, 24 Jun 93 20:03:00 GMT
Message-ID: <8678@apusapus.demon.co.uk>
From: tfj@apusapus.demon.co.uk (Trevor Jenkins)
Reply-To: LitProg@SHSU.edu, tfj@APUSAPUS.DEMON.CO.UK
To: LitProg@shsu.edu
CC: beebe@math.utah.edu, tfj@apusapus.demon.co.uk
Subject: Re: Literate programming in (sic) TeX

In message <CMM.0.90.4.740870897.beebe@plot79.math.utah.edu> you write:

Thanks for the response...

> Literate programming in TeX has already been described by Don Knuth
> in Volumes B and D of Computers and Typesetting,

but no in there he describes Literate Programming WITH TeX :-)

My requirements/objectives are to write TeX macros using a Literate
Programming Style.  Not something that even Knuth attempts in volumes B
and D.

> @Article{Mittelbach:TB10-2-245-273,
>   author =       "Frank Mittelbach",
>   title =        "{{The {\tt doc}--option}}",
>   journal =      TUGboat,
>   year =         "1989",
>   volume =       "10",
>   number =       "2",
>   pages =        "245--273",
>   month =        Jul,
> }
> 
> for LaTeX. 

I'll have a look but from what I recall the {\tt doc} option merely
pretty-prints a LaTeX style file. Still something different from what I
want.

Regards, Trevor.

---------------------------------------------------------------------------
Trevor Jenkins                                                Re: "deemed!"
134 Frankland Rd, Croxley Green, RICKMANSWORTH, WD3 3AU, England
email: tfj@apusapus.demon.co.uk   phone: +44 (0)923 776436     radio: G6AJG 

   "We need bigger and better books", Jimmy Tingle (Damned in the USA)
================================================================================
Archive-Date: Fri, 25 Jun 1993 05:55:55 CST
Sender: LP-Mgr@SHSU.edu
Date: Fri, 25 Jun 93 12:41:19 MDT
From: Zdenek Wagner <WAGNER%CSEARN.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu, WAGNER%CSEARN.BITNET@SHSU.EDU
Subject: RE: Literate programming in (sic) TeX
To: Literate Progaramming list <litprog@SHSU.edu>


Dave Love <d.love@daresbury.ac.uk> writes:

> Possible cons:

> * Generating a code index is slow.

This does not matter because you do not need to do it frequently. Anyway, on
my AT286 it is not much slower than running ctangle/cweave/tex.

Trevor Jenkins <tfj@apusapus.demon.co.uk> writes:

> I'll have a look but from what I recall the {\tt doc} option merely
> pretty-prints a LaTeX style file. Still something different from what I
> want.
>
> Regards, Trevor.

DOC is not only pretty printer. Of course, each LP tool may be misused. You
can e.g. place the whole C program into a single module and WEB will also be
degraded to a pretty printer.

There are two reasons (not mentioned by Dave Love) why TeX (LaTeX, AMS-TeX,
LAMS-TeX, AMS-LaTeX, etc.) macros should be documented by DOC and DOCSTRIP:

Users of TeX macros may not necessarily be programmers. The web source of TeX
macros will be useless for non-programmers. However, each TeX user has TeX and
in principal may have LaTeX and he/she will know how to install LaTeX and
DOC/DOCSTRIP. If you want to distributed your documented macros to
non-programmers, you have to give not only the web source but also tangled and
woven code.

If a user does not have DOC/DOCSTRIP, the documented file can be used AS IS.
The concept is similar as in c-no-web.

Tangling is not necessary. In C you will write something like:

@c
void main () {
@<Read input data@>@;
@<Do the job@>@;
@<Output the results@>@;
}

Large macros in TeX might be defined via DOC as:

% \begin{macro}{\MainMacro}
%    \begin{macrocode}
\def\MainMacro{%
  \ReadInputData
  \DoTheJob
  \OutputTheResults
}
%    \end{macrocode}
% \end{macro}

Macros \ReadInputData, \DoTheJob, \OutputTheResults may be explained and
defined anywhere.

It looks as if modules in C were replaced by small functions. There are good
reasons why TeX macros should be defined this way. It makes possible for users
to customize the macro. If I include the macro package and I need a different
version of \ReadInputData, I just redefine it. My definition deletes the old
definition unless I save it somewhere. (This cannot be done in WEB.)

You may be missing change files. Again, they are not needed because yoou can
redefine any macro in your document. However, there are occasions where a change
file is helpful. In such cases I successfully use wmerge from cweb.

All TeX wizards should study DOC and DOCSTRIP -- they are very good examples
of LP in TeX.

(I would like to see good examples of LP for METAFONT)

                                                ,
,~~~/        /`               /     /|      /~~~
   /        /           |_/  /__/  ' |     /
  /     /~~/ /~~/ /~~/ /~~/ /\       | /| / /~~/ /~~/ /~~/ /~~/ /~~~
 /   , /  / /~~~ /  / /~~~ /  \      |/ |/ /  /_/  / /  / /~~~ /
 ~~~~  ~~~  ~~~ '  '  ~~~ '    `     '  '  ~~~  ~~/ '  '  ~~~ '
                              Zdenek Wagner______/

Some gateway between me and you may garble backslash. It will appear
on your screen as ã but now it seems repaired.
================================================================================
Archive-Date: Fri, 25 Jun 1993 09:06:01 CST
Sender: LP-Mgr@SHSU.edu
Date: Fri, 25 Jun 1993 16:07 +0000 (GMT)
From: "Eric W. van Ammers, LUW, tel: (+31)8370-83356" <AMMERS@RCL.WAU.NL>
Reply-To: LitProg@SHSU.edu, AMMERS@RCL.WAU.NL
Subject: Support for Allen Rouse's view
To: LITPROG@shsu.edu
Message-ID: <01GZSUSQFRKG8ZG030@RCL.WAU.NL>
Content-Transfer-Encoding: 7BIT


Allen Rouse writes:

>	When I first heard of Lit. Prog. and read about the subject I
>developed the impression that the final document would resemble a
>chapter from a textbook or a book and not a numbered sequence of
>text/code segments as is currently the case. 
>	I imagined that the code would be in its own box (or area) in
>the document in the same way that photographs and other images are
>included in newspapers, dictionaries, texts. I also thought that
>actual images could be included. For example, in a program that draws
>a line its progress could be graphically shown by pixel diagrams. Or a
>sorting algorithm could include a graph of its performance on random
>data.
>	In other words I feel that the ideal product of a Literate
>Programmer is to be able to produce a final document which is
>indistinguishable from an ordinary expository/descriptive treatise.
>Perhaps the best description I could give of the ideal program is, as
>I first said, "something that looks like a chapter/section from
>'Intro. to Algorithms' or another such book"

Perfectly true. For exactly this reason I maintain that a literate 
programming tool should be capable to cooperate with any formatter 
or wordprocessor one wants to use, without imposing any restrictions on 
the use of the choosen text processing system.  I consider it a severe
disadvantage if the LP-tool imposes a particular structure of chapters and 
sections on the documentation or prohibits the use of figures or tables.  


Eric W. van Ammers

============================================================================
Eric W. van Ammers
Department of Computer Science
Wageningen Agricultural University
Dreijenplein 2				E-mail:	ammers@rcl.wau.nl
6703 HB  Wageningen			voice:	+31 (0)8370 83356/84154
The Netherlands				fax:	+31 (0)8370 84731
============================================================================
================================================================================
Archive-Date: Sun, 27 Jun 1993 13:26:11 CST
Sender: LP-Mgr@SHSU.edu
Date: Sun, 27 Jun 93 13:24:28 CDT
From: bart@cs.tamu.edu (Bart Childs)
Reply-To: LitProg@SHSU.edu, bart@CS.TAMU.EDU
Message-ID: <9306271824.AA12550@clavin.cs.tamu.edu>
To: litprog@shsu.edu
Subject: Modules are valuable


I feel strongly that sections are extremely valuable.  Can we do
without them? Sure!  Can we do without the index?  Sure!  Just look at
FunnelWeb, NOweb, and NUweb.  Can we do without good typesetting of
the code?  Sure! Just look at same list.  Can we do without the table
of contents?  Sure!

Then, let us look at the state of software.  It is often quoted that
the 60 to 80 percent of the cost of a code in its lifetime is
maintenance!  Code should be done carefully and with full attention
paid to the reading aids.  I think Don Knuth's design was the result
of careful study, consideration of many alternatives, ... that are
typical of his works.  The reason that Norman Ramsey did NOweb was
because of the difficulty of convincing users to try such a
complicated system as WEB.

I think the solution is training!  WEB like systems offer a reasonable
way of weaving documentation and code together to make it easier to
maintain...  We are embarking on an experiment to use it in beginning
courses.  We are confident that we will make a difference in their
problem solving and programming skills (and we hope writing skills
too).  Most webs use few of the available web commands and darned
few TeX commands too (of course TeX and METAFONT are exceptions).
I believe that cooperative efforts to share (like this discussion
list) is the way to improve understanding of literate programming.
I am pleasantly surprised how many have made good strides by
themselves.  I had the great pleasure of working with several good
graduate students who helped me greatly in understanding the
processes.

Have you ever imagined a (say) calculus book without an index, table
of contents, ...?  It can be such a disaster to try to study and
learn a technical subject without such aids.  Maintenance programming
is often similar to learning a new subject.

Cheers

Bart Childs

================================================================================
Archive-Date: Sun, 27 Jun 1993 18:12:06 CST
Sender: LP-Mgr@SHSU.edu
Date: Sun, 27 Jun 1993 19:08:56 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306272308.AA27570@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, bart@cs.tamu.edu.ae.ge.com.ae.ge.com
CC: litprog@shsu.edu
Subject: Re: Modules are valuable

   I feel strongly that sections are extremely valuable.  Can we do
   without them? Sure!  Can we do without the index?  Sure!  Just look at
   FunnelWeb, NOweb, and NUweb.  Can we do without good typesetting of
   the code?  Sure! Just look at same list.  Can we do without the table
   of contents?  Sure!
   Bart Childs
I think nuweb has index and table of contents. Only the code typesetting
is missing due to its applicability to all languages.
Osman


================================================================================
Archive-Date: Sun, 27 Jun 1993 18:27:12 CST
Sender: LP-Mgr@SHSU.edu
From: kotch@ulysses.att.com
Reply-To: LitProg@SHSU.edu, kotch@ULYSSES.ATT.COM
To: LitProg@SHSU.edu, bart@CS.TAMU.EDU
CC: 
Subject: Re: Modules are valuable
Date: Sun, 27 Jun 93 19:22:30 EDT



Bart, 
  True that a large part of the time is spent on maintenance, yet
that initial time is spent in front of a screen, not looking at a
peice of paper. That is where the problem lies. Give me a system
which will provide me the benifits of web and allow me to \italics{eaisly}
electronic code and I will buy it.

Brett

================================================================================
Archive-Date: Mon, 28 Jun 1993 06:17:44 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 28 Jun 93 13:04:18 MDT
From: Zdenek Wagner <WAGNER%CSEARN.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu, WAGNER%CSEARN.BITNET@SHSU.EDU
Subject: RE: modules are valuable
To: Literate Progaramming list <litprog@SHSU.edu>

Bart Child writes:

  I think the solution is training!  WEB like systems offer a reasonable
  way of weaving documentation and code together to make it easier to
  maintain...  We are embarking on an experiment to use it in beginning
  courses.  We are confident that we will make a difference in their
  problem solving and programming skills (and we hope writing skills
  too).  Most webs use few of the available web commands and darned
  few TeX commands too (of course TeX and METAFONT are exceptions).
  I believe that cooperative efforts to share (like this discussion
  list) is the way to improve understanding of literate programming.
  I am pleasantly surprised how many have made good strides by
  themselves.  I had the great pleasure of working with several good
  graduate students who helped me greatly in understanding the
  processes.

Take for example the book by Niklaus Wirth: Algorithms + Data Structures =
Programs. This book shows how the program should be designed. It is written
in conventional Pascal but the way how the program grows in the examples is
exactly the same as in WEB. Using WEB in the courses for beginners (even those
who do not know TeX) will be easy provided TeX is already installed.

                                                ,
,~~~/        /`               /     /|      /~~~
   /        /           |_/  /__/  ' |     /
  /     /~~/ /~~/ /~~/ /~~/ /\       | /| / /~~/ /~~/ /~~/ /~~/ /~~~
 /   , /  / /~~~ /  / /~~~ /  \      |/ |/ /  /_/  / /  / /~~~ /
 ~~~~  ~~~  ~~~ '  '  ~~~ '    `     '  '  ~~~  ~~/ '  '  ~~~ '
                              Zdenek Wagner______/

Some gateway between me and you may garble backslash. It will appear
on your screen as ã but now it seems repaired.
================================================================================
Archive-Date: Mon, 28 Jun 1993 06:20:00 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 28 Jun 93 13:10:25 MDT
From: Zdenek Wagner <WAGNER%CSEARN.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu, WAGNER%CSEARN.BITNET@SHSU.EDU
Subject: RE: Support for Allen Rouse's view
To: Literate Progaramming list <litprog@SHSU.edu>

Allen Rouse writes:

>       When I first heard of Lit. Prog. and read about the subject I
>developed the impression that the final document would resemble a
>chapter from a textbook or a book and not a numbered sequence of
>text/code segments as is currently the case.
>       I imagined that the code would be in its own box (or area) in
>the document in the same way that photographs and other images are
>included in newspapers, dictionaries, texts. I also thought that
>actual images could be included. For example, in a program that draws
>a line its progress could be graphically shown by pixel diagrams. Or a
>sorting algorithm could include a graph of its performance on random
>data.
>       In other words I feel that the ideal product of a Literate
>Programmer is to be able to produce a final document which is
>indistinguishable from an ordinary expository/descriptive treatise.
>Perhaps the best description I could give of the ideal program is, as
>I first said, "something that looks like a chapter/section from
>'Intro. to Algorithms' or another such book"

Eric W. van Ammers writes:

>Perfectly true. For exactly this reason I maintain that a literate
>programming tool should be capable to cooperate with any formatter
>or wordprocessor one wants to use, without imposing any restrictions on
>the use of the choosen text processing system.  I consider it a severe
>disadvantage if the LP-tool imposes a particular structure of chapters and
>sections on the documentation or prohibits the use of figures or tables.

 Who says that WEB imposes a particular structure of chapters? As I know
CWEB 2.7 (I have not retrieved CWEB 3 yet), it suggests a structure which
is probably used by everybody. You can change it if you redefine macros
in cwebmac.tex. CWEB 3 is probably most flexible. My documentation includes
tables and figures because it is supported by TeX. If you know TeX, you know
how to do it.

                                                ,
,~~~/        /`               /     /|      /~~~
   /        /           |_/  /__/  ' |     /
  /     /~~/ /~~/ /~~/ /~~/ /\       | /| / /~~/ /~~/ /~~/ /~~/ /~~~
 /   , /  / /~~~ /  / /~~~ /  \      |/ |/ /  /_/  / /  / /~~~ /
 ~~~~  ~~~  ~~~ '  '  ~~~ '    `     '  '  ~~~  ~~/ '  '  ~~~ '
                              Zdenek Wagner______/

Some gateway between me and you may garble backslash. It will appear
on your screen as ã but now it seems repaired.
================================================================================
Archive-Date: Mon, 28 Jun 1993 11:46:26 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306281644.AA18142@mailee.bellcore.com>
To: LitProg@SHSU.edu, mckearney_s@BT-WEB.BT.CO.UK
Subject: Re: Are modules necessary?
Date: Mon, 28 Jun 93 12:44:03 -0400
From: norman@bellcore.com
Reply-To: LitProg@SHSU.edu, norman@BELLCORE.COM

> Some people here have been using it and we have come to the conclusion 
> that the formal structure of Text Part - Code Part is unnecessary in 
> this WYSIWYG environment.  Having code chunks appear throughout the 
> text seems to lead to a slightly different style of programming.
> 
> Does anyone else feel that the numbered module structure is more than 
> simply a carry over from the parsing of the source file in the 
> original WEB?  Cross-references can be handled using page numbers etc.

Yes.  noweb has no module structure and uses page numbers for
cross-reference.  I find it infuriating every time I dive into TeX or
METAFONT and have to cope with cross-references to module numbers.  I
confess that noweb does not do page numbers as well as I would like
(i.e. 17a, 17b, 17c for chunks appearing on page 17), but I just
haven't been able to force myself to try to write even such a simple
program using latex's brain-damaged cross-reference mechanism.

Norman
================================================================================
Archive-Date: Mon, 28 Jun 1993 11:55:47 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306281653.AA18265@mailee.bellcore.com>
To: LitProg@SHSU.edu, bart@CS.TAMU.EDU
Subject: Re: Modules are valuable
Date: Mon, 28 Jun 93 12:53:32 -0400
From: norman@bellcore.com
Reply-To: LitProg@SHSU.edu, norman@BELLCORE.COM

> The reason that Norman Ramsey did NOweb was
> because of the difficulty of convincing users to try such a
> complicated system as WEB.

I'm being grossly maligned here (not on purpose, I know, Bart).  I
created noweb because extensive experience with WEB, CWEB, and Spidery
WEB convinced me that WEB should die.  I won't go into the details
here; they are in my papers.  I thought that literate programming was
a great idea hiding behind some poor tools.  Don Knuth is a brilliant
algorithmicist, but his tools can be awkward.  For example, the TeX
world seems to prefer latex to plain TeX, even though plain TeX is
better documented and has fewer bugs.  The reason must be that latex
comes closer to providing the tools people actually want to use to
make documents.  The goal of noweb was to eliminate the clutter and
awkwardness surrounding the tools so that people could experiment with
and evaluate literate programming without having to fight awkward
tools.

Norman
================================================================================
Archive-Date: Mon, 28 Jun 1993 12:11:38 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306281709.AA18536@mailee.bellcore.com>
To: LitProg@SHSU.edu, bart@CS.TAMU.EDU
Subject: more flaming Re: Modules are valuable
Date: Mon, 28 Jun 93 13:09:27 -0400
From: norman@bellcore.com
Reply-To: LitProg@SHSU.edu, norman@BELLCORE.COM


> I feel strongly that sections are extremely valuable.  Can we do
> without them? Sure!  Can we do without the index?  Sure!  Just look at
> FunnelWeb, NOweb, and NUweb.  Can we do without good typesetting of
> the code?  Sure! Just look at same list.  Can we do without the table
> of contents?  Sure!

These exclamations are slightly unfair.  I can't speak to FunnelWEB
(ran screaming from the manual some time ago), but both noweb and
nuweb support table of contents and automatic indexing of
sections/macros/code chunks (use your favorite term).  nuweb has a
nice semi-automated solution to the indexing problem.  [This reminds
me---Preston, I couldn't find where you documented what an identifier
is... is it just characters delimited by whitespace?]  Even minimalist
old noweb supports the latex indexing mechanism.

> I think Don Knuth's design was the result
> of careful study, consideration of many alternatives, ... that are
> typical of his works.

I'm not so sure I agree.  Consider that the part of TeX that is
absolutely the most difficult to understand is *not* written as a
literate program (I refer to the TRIP test?).

> I think the solution is training!

I agree training is needed, but I think we should be teaching people
how to use the literate-programming paradigm, not how to use
particular tools.  Our experience using literate programming on a team
project showed us how difficult it was to teach people to write
literate programs, and how people can write truly horrendous programs
using literate-programming tools.  Carla Marceau and I wrestled with
this problem over two years, and we thought we had a coherent story
about how to write literate programs, but when we started passing our
analysis around it fell to bits.  We had a good understanding of the
issues involved in creating tools, but everything we learned about
writing programs can be stated in two words: peer review.

I encourage all of you to write down your ideas about how to write
literate programs.  The world needs an ``Introduction to writing
literate programs'' along the lines of Andrew Birrel's ``Introduction
to Programming with Threads.''

Norman

================================================================================
Archive-Date: Mon, 28 Jun 1993 12:22:46 CST
Sender: LP-Mgr@SHSU.edu
To: litprog@shsu.edu
From: mckearney_s <mckearney_s@bt-web.bt.co.uk>
Reply-To: LitProg@SHSU.edu, mckearney_s@BT-WEB.BT.CO.UK
Subject: Re:Are modules necessary?
Date: Mon, 28 Jun 1993 18:20:35 +0100


I posted a message asking if people thought modules were an important 
part of the LP concept.  By modules I mean the format:

1. blah blah blah

<blah> = 
    code
    code
    code

The reason for my comment was because some people here have been using 
a WORD based WEB that I adapted from a previous version.  In this WEB 
we originally had numbered modules but discovered that with numbered 
sections and chapters the numbering of modules in this strict fashion 
was not necessary.  I am not saying you should remove the code module 
idea but simply be more flexible over the text.

As I expected the discussion has moved into the 'TeX is best' argument 
with some people advocating training etc.  Having recently moved from 
a university research environment into an industry research 
environment I can simply say that, although I like TeX/LaTeX, there is 
no way the majority of programmers will use TeX when things like WORD 
are relatively easy to use and look good - fact of life.

As for modules etc. the code we are producing does not seem to need 
numbering of modules and when you abandon numbering you seem to end up 
with something closer to a 'book'.  I think this is because the 
numbered module idea seems to set you thinking afresh for each module 
while without numbers the document feels more like a flowing 
description.  I get this feeling from most LP programs I have read 
that have been published.

I am very interested in the views expressed so far.

Stephen

================================================================================
Archive-Date: Mon, 28 Jun 1993 13:30:54 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 28 Jun 93 12:27:41 MDT
From: gilligan@central.bldrdoc.gov (Jonathan M. Gilligan)
Reply-To: LitProg@SHSU.edu, gilligan@CENTRAL.BLDRDOC.GOV
Message-ID: <9306281827.AA28661@central.bldrdoc.gov>
To: LitProg@SHSU.edu
Subject: Teaching literate programming (is it possible?)

Forgive my skepticism, and pardon my impertinence (I've never taught
programming above the high-school level, where I used LOGO most
illiterately), but to teach literate programming seems as though it
would be altogether different from teaching programming and much
closer to teaching expository writing. There is no simple how-to for
writing an essay that's a joy to read. You can give rules
(four-sentence paragraphs, making outlines, the technicalities of
footnotes and bibliographies) but the magic is ineffable and the
student can only learn it by example (read Orwell's prose, for
instance). Similarly, I would, with all humility, suggest that only by
publishing excellent literate programs will we give illiterate
programmers the tools they need to learn literacy.

Using the various tools themselves seems a small obstacle compared to
learning how to think in a literate manner.

Thus, I find completely plausible Norman Ramsey's statement that
nothing helped except peer review. Nothing else helps novelists or
poets either.

Jon
================================================================================
Archive-Date: Mon, 28 Jun 1993 14:02:37 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 28 Jun 93 14:00:01 CDT
From: preston@cs.rice.edu (Preston Briggs)
Reply-To: LitProg@SHSU.edu, preston@CS.RICE.EDU
Message-ID: <9306281900.AA08711@dawn.cs.rice.edu>
To: LitProg@shsu.edu, mckearney_s@bt-web.bt.co.uk
Subject: Re:Are modules necessary?

Stephen McKearney writes:
>I posted a message asking if people thought modules were an important
>part of the LP concept.  By modules I mean the format:

>1. blah blah blah
>
><blah> =
>    code
>    code

Sure, I (and others) agree with your points.
I write text, organized however I feel is best, with chapters,
sections, figures, tables, and everything else LaTeX provides.
I also happen to have code organized into scraps which are cross-referenced,
indexed, etc.

This is all in the context of nuweb.
Noweb and FunnelWeb have similar feature sets.
Nuweb does all the cross references in terms of scrap numbers.
Noweb does it all in terms of pages numbers.  I'd prefer page numbers;
but I couldn't figure out how to do it all as cleanly as I wanted.

Presumably others will reflect on their experience (and ours)
and will design new tools with different features that better support
their concept of literate programming.  Maybe we'll reach a consensus
or maybe not; I doubt it matters.

Preston
================================================================================
Archive-Date: Mon, 28 Jun 1993 16:35:47 CST
Sender: LP-Mgr@SHSU.edu
Date: Mon, 28 Jun 93 22:30:30 BST
From: Manuel Carriba <M.Carriba@dcs.sheffield.ac.uk>
Reply-To: LitProg@SHSU.edu, M.Carriba@DCS.SHEFFIELD.AC.UK
Message-ID: <9306282130.AA04832@dcs.shef.ac.uk>
To: LitProg@SHSU.edu
Subject: NUWEB compiled for DOS?


Dear all,

if picked up a compiled DOS executable of Preston Briggs' NUWEB in 
ftp.shsu.edu:tex-archive/web/nuweb/msdos.

According to the 'readme.txt' file it is compiled with the DJGPP GCC Compiler
and combined with the GO32 extender.

I've tried to run the executable but my micro (Viglen 386SX) echos some
control characters on the screen and goes dead.

The retrieved zip file of the subdirectory msdos and it is ok! (no CRC errors.)

Someone knows what happened there? 

Manuel Carriba <M.Carriba@dcs.shef.ac.uk>
================================================================================
Archive-Date: Tue, 29 Jun 1993 02:18:18 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 1993 09:17:12 +0200
From: cgl@risc1.rug.nl (Cees van der Laan)
Reply-To: LitProg@SHSU.edu, cgl@RISC1.RUG.NL
Message-ID: <9306290717.AA09999@risc1.rug.nl>
To: litprog@shsu.edu
Subject: change of address
CC: cgl@risc1.rug.nl


subscribe litprog "Kees van der Laan"
================================================================================
Archive-Date: Tue, 29 Jun 1993 02:41:16 CST
Sender: LP-Mgr@SHSU.edu
From: Lang@tu-harburg.dbp.de (Bernhard Lang)
Reply-To: LitProg@SHSU.edu, Lang@TU-HARBURG.DBP.DE
Message-ID: <9306290738.AA61710@kirk.ti1.tu-harburg.de>
Subject: Re: NUWEB compiled for DOS -- pick up my version
To: LitProg@SHSU.edu.d400.de, M.Carriba@DCS.SHEFFIELD.ac.uk
Date: Tue, 29 Jun 1993 09:38:06 +0100 (METDST)
Content-Type: text

> 
> 
> Dear all,
> 
> if picked up a compiled DOS executable of Preston Briggs' NUWEB in 
> ftp.shsu.edu:tex-archive/web/nuweb/msdos.
> 
> According to the 'readme.txt' file it is compiled with the DJGPP GCC Compiler
> and combined with the GO32 extender.
> 
> I've tried to run the executable but my micro (Viglen 386SX) echos some
> control characters on the screen and goes dead.
> 
> The retrieved zip file of the subdirectory msdos and it is ok! (no CRC errors.)
> 
> Someone knows what happened there? 
> 
> Manuel Carriba <M.Carriba@dcs.shef.ac.uk>
> 

In the nuweb program for DOS that you picked up not the GO32-extender was
included
but only a stub that calls GO32. I think you have an old GO32-extender, then
happen these things you describe.

You may pick up my nuweb DOS version from kirk.ti1.tu-harburg.de. It definitely includes the correct GO32-extender, thus it is bigger than the version you 
picked up. Login as user FTP and send your e-mail address as password.
You will find the executable and nuweb.w in the directory pub/nuweb/msdos.

If you fail retrieving the files, please let me know.

Bernhard

{{{  Dr. Bernhard Lang  -----------------------------------------------
     email: lang@tu-harburg.dbp.de         TU Hamburg Harburg
                                           Technische Informatik I
}}}
...  Enter this fold to view behind the scenes  -----------------------
================================================================================
Archive-Date: Tue, 29 Jun 1993 02:51:17 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 1993 09:21 +0100 (MET)
From: CGL@RUGR86.RUG.NL
Reply-To: LitProg@SHSU.edu, CGL@RUGR86.RUG.NL
To: litprog@shsu.edu
Message-ID: <01GZY1RP685I8WWM0U@RUGR86.RUG.NL>
Content-Transfer-Encoding: 7BIT

signoff litprog
(change of address)
================================================================================
Archive-Date: Tue, 29 Jun 1993 05:10:14 CST
Sender: LP-Mgr@SHSU.edu
From: Adrian F Clark <alien@essex.ac.uk>
Reply-To: LitProg@SHSU.edu, alien@ESSEX.AC.UK
Date: Tue, 29 Jun 93 10:57:16 +0100
Message-ID: <14647.9306290957@vulcan.essex.ac.uk.essex.ac.uk>
To: LitProg@SHSU.edu
Subject: Summary sheet for Nuweb

Just to let readers know that, with George's assistance, I have
uploaded a two-page summary of Nuweb to the
ftp.shsu.edu:/tex-archive/web/nuweb and to equivalent places at Aston
and Stuttgart.  It lists the mark-up commands, summarises Nuweb's
invocation, and gives a simple (language-independent) example.

It should print on both A4 and quarto paper.  For those of us in the
A4 part of the world, I find it best to photocopy the A4-sized master
to produce a double-sided A5-sized sheet.

The files are:

   nuweb-summary.ps        formatted version of the summary
   nuweb-summary.tex       LaTeX source of the summary
   nuweb-summary-sample.w  sample file for use with the nuweb-summary.tex

The .ps file uses Palatino as the body font, so it may not print on
baroque laser printers.  Before attempting to format the .tex file,
the sample .w file needs to be run through Nuweb.  It's unlikely to
look right unless your LaTeX uses the new font selection scheme.

Any comments concerning the summary sheet should be addressed to me,
not to Preston Briggs, Nuweb's author.  I'm sure he doesn't want to be
bothered with complaints about things he didn't write!

..Adrian

 Dr Adrian F. Clark                                   JANET: alien@uk.ac.essex
 INTERNET: alien%uk.ac.essex@nsfnet-relay.ac.uk          FAX: (+44) 206-872900
 BITNET: alien%uk.ac.essex@ac.uk              PHONE: (+44) 206-872432 (direct)
 Dept ESE, University of Essex, Wivenhoe Park, Colchester, Essex, C04 3SQ, UK.
================================================================================
Archive-Date: Tue, 29 Jun 1993 06:45:02 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 1993 07:41:49 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306291141.AA00738@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, mckearney_s@bt-web.bt.co.uk.ae.ge.com.ae.ge.com
CC: litprog@shsu.edu
Subject: Re: Re:Are modules necessary?

Hi, maybe I misunderstood the first time, but it looks like you are right
``numbers'' are not needed. Need a better method than just page numbers
for the indices (like what Norman said 17a, 17b,...). Is that possible
in WORD? Are you going to have it availble?

Osman

Ps: you have not answered about the code size restriction (<64k) of the
    earlier wordweb being still true?




================================================================================
Archive-Date: Tue, 29 Jun 1993 07:12:42 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 1993 08:09:29 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306291209.AA00890@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, Lang@tu-harburg.dbp.de.ae.ge.com.ae.ge.com
CC: LitProg@shsu.edu.d400.de.ae.ge.com.ae.ge.com, M.Carriba@dcs.sheffield.ac.uk.ae.ge.com.ae.ge.com
Subject: Re: NUWEB compiled for DOS -- pick up my version

Yes, It was my mistake 8*( ! I thought the package was ok but the computers
I tested both had go32.exe on the PATH. So people who picked up nuweb.zip
from pip.shsu need to get go32.exe. I will recreate the executable and
upload it as soon as possible (this time the executable will be appended so
no need for an extra go32.exe). Sorry for the inconvenience.
Osman
================================================================================
Archive-Date: Tue, 29 Jun 1993 07:23:23 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <m0oAehO-000EzkC@glenlivet.ohm.york.ac.uk>
From: "John K Nicoll" <jkn@ohm.york.ac.uk>
Reply-To: LitProg@SHSU.edu, jkn@OHM.YORK.AC.UK
Subject: Re: NUWEB compiled for DOS?
To: LitProg@SHSU.edu, M.Carriba@DCS.SHEFFIELD.AC.UK
Date: Tue, 29 Jun 1993 13:22:09 +0100 (BST)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

According to Manuel Carriba:
> 
> 
> Dear all,
> 
> if picked up a compiled DOS executable of Preston Briggs' NUWEB in 
> ftp.shsu.edu:tex-archive/web/nuweb/msdos.
> 
> According to the 'readme.txt' file it is compiled with the DJGPP GCC Compiler
> and combined with the GO32 extender.
> 
> I've tried to run the executable but my micro (Viglen 386SX) echos some
> control characters on the screen and goes dead.
> 
> The retrieved zip file of the subdirectory msdos and it is ok! (no CRC errors.)
> 
> Someone knows what happened there? 
> 
> Manuel Carriba <M.Carriba@dcs.shef.ac.uk>
> 
Hello Manuel
	I can't tell you what your problem is, but I compiled Nuweb
for DOS (before the gcc version was available). I haven't done much
work with it but you're welcome to a copy.

	john N

================================================================================
Archive-Date: Tue, 29 Jun 1993 10:23:24 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 93 16:58:16 MEZ
From: Hans-Hermann Bode <HHBODE@dosuni1.rz.Uni-Osnabrueck.DE>
Reply-To: LitProg@SHSU.edu, HHBODE@DOSUNI1.RZ.UNI-OSNABRUECK.DE
Subject: Re: cweb 3.0
To: LitProg@SHSU.edu, levy@MATH.BERKELEY.EDU
CC: "George D. Greenwade" <bed_gdg@shsu.edu>, texinfo1@rusinfo.rus.uni-stuttgart.de


>Yes, cweb 3.0 is released as of June 16.  You can find it on labrea.

Although WEB systems recently have been declared to be dead, I have updated
my PC port. It is not based on the *-pc.ch change files provided with CWEB.
Especially, it can be compiled with (Turbo/Borland) compilers that have a
64 KByte limit for static data per file; nevertheless, all arrays except
for one still have their original size.

The port (including sources, change files, and executables) is available
from ftp.rz.uni-osnabrueck.de in the directory pub/msdos/tex/web. The file
is called cwb30p8c.zip and replaces cweb-p.zip. There is no successor for
cweb-p.tar.Z since everything interesting for non-PC users now is part of
CWEB itself. Below is the README file from cwb30p8c.

Hans-Hermann Bode
Arbeitsgruppe Systemforschung, Universitaet Osnabrueck, D-49069 Osnabrueck
Tel.: (49)-541-9692545
e-mail: HHBODE@DOSUNI1.BITNET, hhbode@dosuni1.rz.uni-osnabrueck.de

%--README-from-cwb30p8c.zip-------------------------------------------------
								-*-Text-*-
This file, README, is part of CWEB-p. The current version of CWEB-p is p8c.

The CWEB programs by Silvio Levy and Donald E. Knuth are based on programs by
Knuth. The PC port (i.e., Turbo-C++ change files and executables) is made by
Hans-Hermann Bode.

The programs are distributed WITHOUT ANY WARRANTY, express or implied.

This README file last updated 24 Jun 1993 by Hans-Hermann Bode.

Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth
Copyright (C) 1991,1992,1993 Hans-Hermann Bode

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.

Please send comments, suggestions, etc. to one of the following addresses:
  -- levy@geom.umn.edu (if related to the original CWEB system),
  -- hhbode@dosuni1.rz.uni-osnabrueck.de or HHBODE@DOSUNI1.BITNET (if
related to the PC port).


INTRODUCTION

The CWEB-p system is an adaptation of Silvio Levy's and Donald E. Knuth's
CWEB system that supports installation with the Turbo-C++ compiler and
provides PC-/MS-DOS executables.


CONTENTS OF THE DISTRIBUTION

The sources directory contains the following files from the original CWEB
distribution:

./sources/readme	README file from the original distribution
./sources/makefile	Makefile from the original distribution
./sources/common.h	header file to be included in ctangle.w and cweave.w
./sources/common.w	common code for ctangle and cweave
./sources/ctangle.w	the tangle processor
./sources/cweave.w	the weave processor
./sources/prod.w	production rules to be included in cweave.w
./sources/cwebmac.tex	macros for formatting
./sources/cwebman.tex	the user manual
./sources/cweb.1	manual page (nroff format)
./sources/cweb.el	elisp file for GNU Emacs
./sources/common.c	CTANGLEd product of common.w
./sources/ctangle.c	CTANGLEd product of ctangle.w

The examples directory contains examples of CWEB programming. They are from
the original distribution, too. For use on PC systems, they probably have to
be edited (for wmerge.w, that is used in the make process, a change file is
provided).

./examples/readme	README file from the original examples directory
./examples/makefile	generic Makefile for CWEB applications
./examples/wc.w		UNIX word-count utility
./examples/treeprin.w	tree-structured directory lister by Norman Ramsey
./examples/wmerge.w	WEB-like file merger by Silvio Levy
./examples/extex.w	spellchecking filter for TeX and CWEB by Don Knuth
./examples/wordtest.w	spellchecker by Don Knuth
./examples/xlib_typ.w	include file for XView programs
./examples/xview_ty.w	ditto
./examples/oemacs.w	example XView application by Don Knuth
./examples/kspell.el	Emacs interface to extex/wordtest
./examples/oemacs.el	Emacs interface to oemacs

The change files that set up the CWEB-p adaptation are in the changes
directory.

./changes/common-h.ch	for common.h
./changes/common.ch	for common.w
./changes/ctangle.ch	for ctangle.w
./changes/cweave.ch	for cweave.w
./changes/prod.ch	for prod.w
./changes/cwebmac.ch	for cwebmac.tex
./changes/wmerge.ch	for wmerge.w from the examples directory

Note that several sets of change files (*-man.ch, *-vms.ch, *-pc.ch,
*-amiga.ch) that come with the original CWEB system are not supported by and
not provided with CWEB-p.

Finally, in this (root) directory the following files do reside. The files
common.c, ctangle.c, and cwebmac.tex include the changes from the changes
directory .

./version		note about the current version of CWEB-p
./readme		this file
./makefile		Makefile for Turbo C++
./cweb.man		manual page (ASCII format)
./common.c		product of sources/common.w and changes/common.ch
./ctangle.c		product of sources/ctangle.w and changes/ctangle.ch
./wmerge.c		product of examples/wmerge.w and changes/wmerge.ch
./cwebmac.tex		product of sources/cwebmac.tex and changes/cwebmac.ch
./ctangle.exe		executable tangle processor for PC-/MS-DOS systems
./cweave.exe		executable weave processor for PC-/MS-DOS systems
./wmerge.exe		executable WEB-like file merger for PC-/MS-DOS systems


GETTING STARTED

Before starting, you should run cwebman.tex (needs cwebmac.tex!) through TeX
and print out the manual; the first step can be done by calling `make man'
from the Makefile.

Then, all you have to do to get a working CWEB system on PC-/MS-DOS is to
copy ctangle.exe and cweave.exe to your binaries directory and cwebmac.tex
(from the root directory) to your TeX-inputs directory; that's it, you are
ready to use CWEB!


NOTES

1. When you want to recompile the tangle and weave processors, for
bootstrapping you find a pretangled common.c, ctangle.c, and wmerge.c for
the Turbo-C++ compiler in the root directory of this distribution. From
these you can build working tangle and wmerge processors for CWEB, which in
turn are the basis for recompiling the whole system. For other PC-/MS-DOS
compilers, you must use the ctangle.exe and wmerge.exe from this
distribution (a ctangle from previous versions may or may not work); in this
case, delete common.c, ctangle.c, and wmerge.c from the root directory,
since they may not include the right changes.

Then, edit the Makefile corresponding to your environment and call make.
Note that the Makefile from the sources directory is lacking some
dependencies and will not work for this distribution. So, better use the
Makefile from the root directory as a template.

The Makefile from the root directory is intended for Turbo Make, Version 3.6
(earlier versions probably will not work!). If you are using the real-mode
version of Turbo Make 3.6, you should say `make -S all' to prevent from
running out of memory. The Makefile is prepared to use change files from a
`fixes' directory and from a `private' directory in addition to the
`changes' directory. If you use this feature, you must have Klaus
Guntermann's tie processor for concatenating multiple change files (take a
look at ftp.th-darmstadt.de); then you can call `make -S -D_fix all' to
include the files from the changes and fixes directory or `make -S -D_priv
all' to include the files from all three directories.

2. If you like to or have to make changes to the CWEB-p system, it is
recommended that you don't edit the files in the sources or changes
directories, but set up a complete new group of change files in a directory
called `fixes' or `private' and include it in the make process
appropriately. This will save much effort when you get a new version of
CWEB-p.

Incidentally, if you try the recompilation on a PC-/MS-DOS system with
another compiler than Turbo C++, you may have no luck with the Turbo-C++
changes. In this case, it's best to create a new set of change files similar
to the `changes' group and use the supplied executables to generate new .c
files rather than to edit the .c files themselves. You can set up such new
changes in a `fixes' or `private' directory by making use of the provided
changes and just calling make as described above.

3. If you want a full documentation of the tangle and weave programs, say
`make doc' (you may include the same options as described in Note 1). This
should produce the files common.dvi, ctangle.dvi, cweave.dvi, and---with the
Turbo Makefile---cwebman.dvi.

4. To delete all intermediate files created in the make processes say `make
clean', to delete even the DVI files with the Turbo Makefile say `make
veryclean'.
================================================================================
Archive-Date: Tue, 29 Jun 1993 10:59:41 CST
Sender: LP-Mgr@SHSU.edu
To: litprog@shsu.edu
From: mckearney_s <mckearney_s@bt-web.bt.co.uk>
Reply-To: LitProg@SHSU.edu, mckearney_s@BT-WEB.BT.CO.UK
Subject: WORDWEB limits
Date: Tue, 29 Jun 1993 16:47:49 +0100


Osman writes

> Hi, maybe I misunderstood the first time, but it looks like you are 
> right ``numbers'' are not needed. Need a better method than just page 
> numbers for the indices (like what Norman said 17a, 17b,...). Is that 
> possible in WORD? Are you going to have it availble?
>
> Osman
>
> Ps: you have not answered about the code size restriction (<64k) of 
> the earlier wordweb being still true?

I never thought of indexing like this although I'm not sure it will be 
much more useful than just page numbers.

The code size restriction is just on generated code, that is, the 
output of the tangle phase.  I do not find this to be a problem 
because I tend to keep individual WEB files reasonably small and WORD 
provides facilities to create large documents from a number of files.  
For example, if you write a large thesis you might have files called 
CHAPTER1.DOC, CHAPTER2.DOC, etc.

A more serious problem was caused because the main tangle routine in 
the original version used recursion that VERY quickly ran out of memory. 
Judicious use of GOTOs etc. removed the recursion and it seems to 
handle reasonably large files now.

If people are interested in this version I can look into supplying it 
but I do not have FTP access.

Stephen
================================================================================
Archive-Date: Tue, 29 Jun 1993 11:01:14 CST
Sender: LP-Mgr@SHSU.edu
From: Adrian F Clark <alien@essex.ac.uk>
Reply-To: LitProg@SHSU.edu, alien@ESSEX.AC.UK
Date: Tue, 29 Jun 93 16:51:45 +0100
Message-ID: <14801.9306291551@vulcan.essex.ac.uk.essex.ac.uk>
To: litprog@shsu.edu
Subject: Updated Nuweb summary

Strange how these things always happen.  Although the Nuweb summary
sheet I announced earlier today had been proof-read by two people,
someone spotted a mistake in it -- and I've just found another one
myself.

I've uploaded the corrected summary sheet to shsu's /incoming
directory, and I'm sure it'll be put into place in the Nuweb directory
in the near future.

..Adrian

================================================================================
Archive-Date: Tue, 29 Jun 1993 11:04:38 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 93 12:08:05 EDT
From: shearer@mobster.cit.ge.com (Jim Shearer)
Reply-To: LitProg@SHSU.edu, shearer@MOBSTER.CIT.GE.COM
Message-ID: <9306291608.AA00646@mobster.cit.ge.com>
To: LitProg@shsu.edu


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

From MAILER-DAEMON@crdems.ge.com Tue Jun 29 09:04:56 1993
Received: from thomas.ge.com by mobster.cit.ge.com (4.1/GEA Sun server 2.5A)
	id AA00475; Tue, 29 Jun 93 09:04:55 EDT
Received: from crdems.crd.ge.com by thomas.ge.com (5.65/GE Internal Gateway 1.21) with SMTP
	 id AA23983; Tue, 29 Jun 93 08:58:16 -0400
Received:   by crdems.ge.com (5.65/GE 1.60) id AB11499; Tue, 29 Jun 93 08:55:56 -0400
Date:  Tue, 29 Jun 93 08:55:56 -0400
From: MAILER-DAEMON@crdems.ge.com (Mail Delivery Subsystem)
Subject: Returned mail: Service unavailable
Message-Id:  <9306291255.AB11499@crdems.ge.com>
To: MAILER-DAEMON@thomas.ge.com
Cc: Postmaster@crdems.ge.com
Status: R

   ----- Transcript of session follows -----
While talking to stnfor2.ae.ge.com:
>>> DATA
<<< 554 sendall: too many hops 18 (17 max): from <MAILER-DAEMON@thomas.ge.com>, to MAILER-DAEMON@thomas.ge.com
554 <ae1181t@stnfor2.ae.ge.com>... Service unavailable

   ----- Recipients of this delivery -----
Bounced, cannot deliver:
   <ae1181t@stnfor2.ae.ge.com>

   ----- Unsent message follows -----
Return-Path:  <MAILER-DAEMON@thomas.ge.com>
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01219; Tue, 29 Jun 1993 08:50:17 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA11228; Tue, 29 Jun 93 08:47:18 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01181; Tue, 29 Jun 1993 08:45:17 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA11075; Tue, 29 Jun 93 08:41:10 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01130; Tue, 29 Jun 1993 08:39:03 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10989; Tue, 29 Jun 93 08:38:02 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01078; Tue, 29 Jun 1993 08:35:56 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10792; Tue, 29 Jun 93 08:31:43 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01040; Tue, 29 Jun 1993 08:29:22 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10672; Tue, 29 Jun 93 08:26:07 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01006; Tue, 29 Jun 1993 08:23:50 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10550; Tue, 29 Jun 93 08:22:32 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA00978; Tue, 29 Jun 1993 08:20:31 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10368; Tue, 29 Jun 93 08:16:33 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA00917; Tue, 29 Jun 1993 08:14:15 -0400
Received: by thomas.ge.com (5.65/GE Internal Gateway 1.21) id AA22654; Tue, 29 Jun 93 08:14:10 -0400
Date: Tue, 29 Jun 93 08:14:10 -0400
From: MAILER-DAEMON@thomas.ge.com (Mail Delivery Subsystem)
Subject: Returned mail: Host unknown
Message-Id: <9306291214.AA22654@thomas.ge.com>
To: ae1181t@stnfor2.ae.ge.com.LOCAL

   ----- Transcript of session follows -----
550 shsu.edu.d400.de.ae.ge.com.ae.ge.com (tcp)... 550 Host unknown
554 <LitProg@shsu.edu.d400.de.ae.ge.com.ae.ge.com>... 550 Host unknown (Authoritative answer from name server)

   ----- Recipients of this delivery -----
Bounced, cannot deliver:
   <LitProg@shsu.edu.d400.de.ae.ge.com.ae.ge.com>

   ----- Unsent message follows -----
Received: from crdems.crd.ge.com by thomas.ge.com (5.65/GE Internal Gateway 1.21) with SMTP
	 id AA22650; Tue, 29 Jun 93 08:14:10 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10299; Tue, 29 Jun 93 08:11:47 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA00890; Tue, 29 Jun 1993 08:09:29 -0400
Date: Tue, 29 Jun 1993 08:09:29 -0400
From: ae1181t@stnfor2.ae.ge.com (Osman F Buyukisik)
Message-Id: <9306291209.AA00890@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, Lang@tu-harburg.dbp.de.ae.ge.com.ae.ge.com
Cc: LitProg@shsu.edu.d400.de.ae.ge.com.ae.ge.com,
        M.Carriba@dcs.sheffield.ac.uk.ae.ge.com.ae.ge.com
In-Reply-To: <9306290738.AA61710@kirk.ti1.tu-harburg.de> (Lang@tu-harburg.dbp.de.ae.ge.com)
Subject: Re: NUWEB compiled for DOS -- pick up my version

Yes, It was my mistake 8*( ! I thought the package was ok but the computers
I tested both had go32.exe on the PATH. So people who picked up nuweb.zip
from pip.shsu need to get go32.exe. I will recreate the executable and
upload it as soon as possible (this time the executable will be appended so
no need for an extra go32.exe). Sorry for the inconvenience.
Osman


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

================================================================================
Archive-Date: Tue, 29 Jun 1993 11:07:16 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 93 12:09:38 EDT
From: shearer@mobster.cit.ge.com (Jim Shearer)
Reply-To: LitProg@SHSU.edu, shearer@MOBSTER.CIT.GE.COM
Message-ID: <9306291609.AA00668@mobster.cit.ge.com>
To: LitProg@shsu.edu.d400.de


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

From MAILER-DAEMON@stnfor2.ae.ge.com Tue Jun 29 09:01:04 1993
Received: from thomas.ge.com by mobster.cit.ge.com (4.1/GEA Sun server 2.5A)
	id AA00464; Tue, 29 Jun 93 09:00:59 EDT
Received: from stnfor2.ae.ge.com by thomas.ge.com (5.65/GE Internal Gateway 1.21) with SMTP
	 id AA23850; Tue, 29 Jun 93 08:54:18 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AB01277; Tue, 29 Jun 1993 08:54:06 -0400
Date: Tue, 29 Jun 1993 08:54:06 -0400
From: MAILER-DAEMON@stnfor2.ae.ge.com (Mail Delivery Subsystem)
Subject: Returned mail: Unable to deliver mail
Message-Id: <9306291254.AB01277@stnfor.ae.ge.com>
To: MAILER-DAEMON@thomas.ge.com
Status: R

   ----- Transcript of session follows -----
554 sendall: too many hops 18 (17 max): from <MAILER-DAEMON@thomas.ge.com>, to MAILER-DAEMON@thomas.ge.com

   ----- Unsent message follows -----
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA11445; Tue, 29 Jun 93 08:52:34 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01227; Tue, 29 Jun 1993 08:50:28 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA11231; Tue, 29 Jun 93 08:47:34 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01185; Tue, 29 Jun 1993 08:45:29 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA11084; Tue, 29 Jun 93 08:41:17 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01134; Tue, 29 Jun 1993 08:39:10 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10994; Tue, 29 Jun 93 08:38:07 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01084; Tue, 29 Jun 1993 08:36:00 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10790; Tue, 29 Jun 93 08:31:38 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01048; Tue, 29 Jun 1993 08:29:32 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10668; Tue, 29 Jun 93 08:26:04 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA01014; Tue, 29 Jun 1993 08:24:01 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10548; Tue, 29 Jun 93 08:22:27 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA00974; Tue, 29 Jun 1993 08:20:26 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10362; Tue, 29 Jun 93 08:16:08 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA00913; Tue, 29 Jun 1993 08:14:07 -0400
Received: by thomas.ge.com (5.65/GE Internal Gateway 1.21) id AA22648; Tue, 29 Jun 93 08:14:01 -0400
Date: Tue, 29 Jun 93 08:14:01 -0400
From: MAILER-DAEMON@thomas.ge.com (Mail Delivery Subsystem)
Subject: Returned mail: Host unknown
Message-Id: <9306291214.AA22648@thomas.ge.com>
To: ae1181t@stnfor2.ae.ge.com

   ----- Transcript of session follows -----
550 dcs.sheffield.ac.uk.ae.ge.com.ae.ge.com (tcp)... 550 Host unknown
554 <M.Carriba@dcs.sheffield.ac.uk.ae.ge.com.ae.ge.com>... 550 Host unknown (Authoritative answer from name server)

   ----- Recipients of this delivery -----
Bounced, cannot deliver:
   <M.Carriba@dcs.sheffield.ac.uk.ae.ge.com.ae.ge.com>

   ----- Unsent message follows -----
Received: from crdems.crd.ge.com by thomas.ge.com (5.65/GE Internal Gateway 1.21) with SMTP
	 id AA22644; Tue, 29 Jun 93 08:14:01 -0400
Received:  from stnfor.ae.ge.com by crdems.ge.com (5.65/GE 1.60) id AA10295; Tue, 29 Jun 93 08:11:43 -0400
Received: by stnfor.ae.ge.com (5.65/DEC-Ultrix/4.3)id AA00890; Tue, 29 Jun 1993 08:09:29 -0400
Date: Tue, 29 Jun 1993 08:09:29 -0400
From: ae1181t@stnfor2.ae.ge.com (Osman F Buyukisik)
Message-Id: <9306291209.AA00890@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, Lang@tu-harburg.dbp.de.ae.ge.com.ae.ge.com
Cc: LitProg@shsu.edu.d400.de.ae.ge.com.ae.ge.com,
        M.Carriba@dcs.sheffield.ac.uk.ae.ge.com.ae.ge.com
In-Reply-To: <9306290738.AA61710@kirk.ti1.tu-harburg.de> (Lang@tu-harburg.dbp.de.ae.ge.com)
Subject: Re: NUWEB compiled for DOS -- pick up my version

Yes, It was my mistake 8*( ! I thought the package was ok but the computers
I tested both had go32.exe on the PATH. So people who picked up nuweb.zip
from pip.shsu need to get go32.exe. I will recreate the executable and
upload it as soon as possible (this time the executable will be appended so
no need for an extra go32.exe). Sorry for the inconvenience.
Osman


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

================================================================================
Archive-Date: Tue, 29 Jun 1993 11:34:13 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <MAILQUEUE-101.930629173031.384@techa.greenwich.ac.uk>
To: LitProg@SHSU.edu
From: M Afzal <M.Afzal@greenwich.ac.uk>
Date: 29 Jun 93 17:30:31 GMT
Subject: Ideal Literate Programming System?
Reply-To: LitProg@SHSU.edu, M.Afzal@greenwich.ac.uk

X-cs: 
From:     Self <TECHA/AM0ZXR>
To:       arouse@math.utexas.edu
Subject:  Re: Ideal System for Literate Programming?
Reply-to: am0zxr@thames.ac.uk
Date:     25 Jun 93 12:45:52


Allen Rouse in his message 'Are modules nexessary?' writes:

>    In other words I feel that the ideal product of a Literate
> Programmer is to be able to produce a final document which is
> indistinguishable from an ordinary expository/descriptive treatise.
> Perhaps the best description I could give of the ideal program is,
> as I first said, "something that looks like a chapter/section from
> 'Intro. to Algorithms' or another such book"

I still expect something similar, as I haven't yet started using LP.
I have been reading through this discussion list and from literature
about Literate Programming.

I am a (Fortran based) software developer, prefer to concentrate more
on the design phase; with 2B Lead pencil, rubber and bunch of
papers; as only tools. This phase does involve the text, figures and
blocks of code. It takes me very small time in implementation, but a
good system  for LP could reduce it even further, and save me from
rewriting/puting it into computer.

Although the man-made systems and products are always evolving in
nature and need improvement, but still if some product could prvide
some mechanism to embed code, text and graphics; and with minimum
learning overhead would be much appreciated. One such system has been
proposed in recent issue of Software Engineering Journal:

Stephen Shum and Curtis Cook
    AOPS: an Abstraction-Oriented Programming System for Literate
    Programmin
        Software Engineering Journal, V 8, n 3, pp 113-120, May 1993

They claim, AOPS is text processor and programming language
independent, and can embed code, text and graphics in same source
AOPS file. It does have its browser and other tools. It is PC-based.
I have requested its copy from authors, which they have offered
free to anybody who (sends them a diskette and) wants to use it.

Afzal
================================================================================
Archive-Date: Tue, 29 Jun 1993 11:34:21 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <MAILQUEUE-101.930629173031.672@techa.greenwich.ac.uk>
To: LitProg@SHSU.edu
From: M Afzal <M.Afzal@greenwich.ac.uk>
Date: 29 Jun 93 17:30:31 GMT
Subject: Ideal Literate Programming System?
Reply-To: LitProg@SHSU.edu, M.Afzal@greenwich.ac.uk


I attempted to comment on Allen Rouse' message, but something was
wrong in setup, so it couldn't be transmitted, to the discussion list.
Now I am enclosing the same comment as file, hopefully it would be of
interest to you all.

Regards
Afzal
================================================================================
Archive-Date: Tue, 29 Jun 1993 13:23:46 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 1993 14:20:08 -0400
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu, ae1181t@STNFOR.AE.GE.COM
Message-ID: <9306291820.AA02825@stnfor.ae.ge.com>
To: LitProg@SHSU.edu, M.Afzal@greenwich.ac.uk.ae.ge.com.ae.ge.com
CC: LitProg@SHSU.edu
Subject: Re: Ideal Literate Programming System?

Hi, AOPS seems intersting. Is it possible for someone who has the program to
put it on one of the CTAN archives? Even if it is for msdos may be someone
will port it to other platforms. Are the authors reachable by email?
Thanks in advance.
Osman
================================================================================
Archive-Date: Tue, 29 Jun 1993 13:59:17 CST
Sender: LP-Mgr@SHSU.edu
Date: Tue, 29 Jun 93 14:00:27 CDT
From: stevef@ttsi.tandem.com (Steve Farmer)
Reply-To: LitProg@SHSU.edu, stevef@TTSI.TANDEM.COM
Message-ID: <9306291900.AA11168@sun670.ttsi.tandem.com >
To: LitProg@shsu.edu
Subject: WYSIWYG WEB system?

Stephen McKearney (mckearney_s@bt-web.bt.co.uk) states:

   I have developed a WEB for Word system, based around the WORDWEB 
   developed elsewhere, that does almost everything most WEB systems do 
   including : cross-references, code indexes, find definition, etc.

Are any of these WYSIWYG WEB systems available through anonymous ftp? I
understand that current word-processors are not ideal, but I think there
is a lot of potential in WYSIWYG that I would like to explore.

Steve Farmer
stevef@ttsi.tandem.com
Tandem Telecommunications
Plano, Texas, USA
================================================================================
Archive-Date: Tue, 29 Jun 1993 15:59:40 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 30 Jun 1993 08:56:53 +1300
From: John Bathurst <srgcejb@grv.grace.cri.nz>
Reply-To: LitProg@SHSU.edu, srgcejb@GRV.GRACE.CRI.NZ
To: litprog@shsu.edu
Message-ID: <0096ECAC.F7601E40.2464@grv.grace.cri.nz>
Subject: Signoff

signoff litprog
================================================================================
Archive-Date: Wed, 30 Jun 1993 04:30:24 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 30 Jun 1993 19:29:11 +1000
From: Richard Walker <Richard.Walker@cs.anu.edu.au>
Reply-To: LitProg@SHSU.edu, Richard.Walker@CS.ANU.EDU.AU
Message-ID: <199306300929.AA28125@barnard.anu.edu.au>
To: LitProg@shsu.edu
Subject: Where is SpiderWeb's webkernel.tex?

Hi.  I finally got around to getting the latest Spider, but I
can't seem to find webkernel.tex anywhere.  Is it hiding?

I will be using it with LaTeX anyway, but it seems rather
strange that this crucial file is missing from the
distribution (certainly on pip.shsu.edu).

Richard.
================================================================================
Archive-Date: Wed, 30 Jun 1993 04:34:51 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <MAILQUEUE-101.930630103244.288@techa.greenwich.ac.uk>
To: LitProg@SHSU.edu
From: M Afzal <M.Afzal@greenwich.ac.uk>
Reply-To: LitProg@SHSU.edu, M.Afzal@GREENWICH.AC.UK
Date: 30 Jun 93 10:32:44 GMT
Subject: Receipt confirmation

Confirmation: message read at 10:32, 30 Jun 93
Subject: Ideal Literate Programming System?
================================================================================
Archive-Date: Wed, 30 Jun 1993 04:35:00 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <MAILQUEUE-101.930630103301.352@techa.greenwich.ac.uk>
To: LitProg@SHSU.edu
From: M Afzal <M.Afzal@greenwich.ac.uk>
Reply-To: LitProg@SHSU.edu, M.Afzal@GREENWICH.AC.UK
Date: 30 Jun 93 10:33:01 GMT
Subject: Receipt confirmation

Confirmation: message read at 10:33, 30 Jun 93
Subject: Ideal Literate Programming System?
================================================================================
Archive-Date: Wed, 30 Jun 1993 04:56:22 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <MAILQUEUE-101.930630105432.256@techa.greenwich.ac.uk>
To: LitProg@SHSU.edu
From: M Afzal <M.Afzal@greenwich.ac.uk>
Date: 30 Jun 93 10:54:32 GMT
Subject: Ideal Literate Programming System?
Reply-To: LitProg@SHSU.edu, M.Afzal@greenwich.ac.uk

    In reply to Osman's message:

>   AOPS seems intersting. Is it possible for someone who has the
>   program to put it on one of the CTAN archives? Even if it is for
>   msdos may be someone will port it to other platforms. Are the
>   authors reachable by email?

    Unfortunately, still most of the Jounals, even computer related
ones, do not give the authors' Email addresses, so I don't have any
idea for them. The journal does provide the surface mail addresses of
the authors as:

    Stephen Shum                Curtis Cook
    Computer Science Deptt      Computer Science Deptt
    Augustana College           Oregon State University
    Siox Falls                  Corvallis
    SD 57197, USA               OR 97331-3202, USA

    Hopefully this will work.

    Regards
    Afzal
================================================================================
Archive-Date: Wed, 30 Jun 1993 06:38:03 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <MAILQUEUE-101.930630123652.256@techa.greenwich.ac.uk>
To: LitProg@SHSU.edu
From: M Afzal <M.Afzal@greenwich.ac.uk>
Reply-To: LitProg@SHSU.edu, M.Afzal@GREENWICH.AC.UK
Date: 30 Jun 93 12:36:52 GMT
Subject: Receipt confirmation

Confirmation: message read at 12:36, 30 Jun 93
Subject: Ideal Literate Programming System?
================================================================================
Archive-Date: Wed, 30 Jun 1993 07:58:42 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 30 Jun 1993 07:58:24 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: LitProg@SHSU.edu, M.Afzal@GREENWICH.AC.UK
Message-ID: <0096ECA4.CC11AAE0.4955@SHSU.edu>
Subject: RE: Receipt confirmation

On 30 Jun 93 10:32:44 GMT (and subsequently), LitProg received from M Afzal
<M.Afzal@greenwich.ac.uk>:
> Confirmation: message read at 10:32, 30 Jun 93
> Subject: Ideal Literate Programming System?
This user has been removed from the LitProg distribution list.  I am aware
of the variety of systems out there and how they operate, but I do not
personally condone these sorts of replies (for *any* purpose) unless they
are directed to the RFC822-compliant Return-Path: or From: specifications
(obviously, this software is using the RFC822 Reply-To: line).

I apologize to the list for this loop (which such software creates when
using the Reply-To: specification if the Reply-To: is set to a list
redistribution address, as is the case with LitProg; the other fields
specified above should, with very rare exception, always point to a single
or a well-defined and configurable small number of mailboxes).  

Additionally, I apologize to M Afzal for the unannounced unilateral removal
from this list.  However, I cannot allow a looping phenomenon to be created
(clearly this will happen as the arrival of another confirmation message
will create another confirmation message, and on and on, ad nauseum). 
Given the number of subscribers (now 327) and the network topology
associated with its geographically diverse audience, the use of bandwidth
created by this form of looping is inexcusable if knowingly allowed by the
host site for the list's management.

If you either disengage this piece of software (permanently or selectively
for this list) or (far less preferable) retain it but reconfigure it so it
works more appropriately for wide area networks, you are more than welcome
to return to this list by inluding:
 SUBSCRIBE LitProg "M Afzal"
in the body of a mail message to LISTSERV@SHSU.edu.

Your attention to this will be appreciated by everyone involved.  If you
have any questions about this, please contact me directly.

Regards and thanks for your interest in our services,   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, 30 Jun 1993 09:56:09 CST
Sender: LP-Mgr@SHSU.edu
From: drs@bach.pdb.bnl.gov (drs)
Reply-To: LitProg@SHSU.edu, drs@BACH.PDB.BNL.GOV
Message-ID: <9306301054.ZM3448@bach.pdb.bnl.gov>
Date: Wed, 30 Jun 1993 10:54:31 -0400
References: <0096ECA4.CC11AAE0.4955@SHSU.edu>
To: LitProg@SHSU.edu
Subject: Fweb and C++

I seem to be spending an inordinate amount of effort forcing the format of C++
code in fweb. (It seems to want to stick an entire method on one line.) I can't
believe that this is correct.

Does anyone have a sample C++ web that I can use as a baseline model? The demos
that are shipped with fweb 1.3 are not useful in seeing what I am doing wrong.

Thanks.

Dave

================================================================================
Archive-Date: Wed, 30 Jun 1993 11:07:28 CST
Sender: LP-Mgr@SHSU.edu
Message-ID: <9306301604.AA08763@mailee.bellcore.com>
To: LitProg@SHSU.edu, Richard.Walker@CS.ANU.EDU.AU
Subject: Re: Where is SpiderWeb's webkernel.tex?
Date: Wed, 30 Jun 93 12:04:11 -0400
From: norman@bellcore.com
Reply-To: LitProg@SHSU.edu, norman@BELLCORE.COM

Oops.  Mea culpa.  I include the missing file at the end of this
message.  George, perhaps you would be kind enough either to pick it
up here and park it in spiderweb/src, or to grab a new spiderweb.tar.Z
from csservices.princeton.edu:pub?

Norman

# To unbundle, "sed '1,/^# To unbundle/d' < thisfile | sh"
# To unbundle, make sure both lines appear in the file
# Wed Jun 30 12:00:57 EDT 1993
echo webkernel.tex 1>&2
sed 's/^-//' >'webkernel.tex' <<'End of webkernel.tex'
-% Copyright 1989-92 by Norman Ramsey, Odyssey Research Associates
-% Not to be sold, but may be used freely for any purpose
-% For more information, see file COPYRIGHT
-
-%\let\plainmark=\mark
-%\def\mark#1{\message{(Marking ``#1'')}\plainmark{#1}}
-
-% standard macros for WEB listings (in addition to PLAIN.TEX)
-% rename some old favorites
-\let\amp=\&
-\let\SS=\S
-\let\PP=\P
-\let\em=\it % compatibility with latex
-
-\newif\iftwoside\twosidefalse
-\parskip 0pt % .1pt plus 0.1pt mins 0.1pt % no stretch between paragraphs
-\parindent 1em % for paragraphs and for the first line of Pascal text
-
-\font\eightrm=cmr8
-\font\sc=cmcsc10
-\let\mainfont=\tenrm
-\font\titlefont=cmr7 scaled\magstep4 % title on the contents page
-\font\ttitlefont=cmtt10 scaled\magstep2 % typewriter type in title
-\font\tentex=cmtex10 % TeX extended character set (used in strings)
-\let\idfont\it
-\let\reservedfont\bf
-
-\def\today{\ifcase\month\or
-  January\or February\or March\or April\or May\or June\or
-  July\or August\or September\or October\or November\or December\fi
-  \space\number\day, \number\year}
-
-\def\\#1{\leavevmode\hbox{\idfont#1\/\kern.05em}} % italic type for identifiers
-\def\|#1{\leavevmode\hbox{$#1$}} % one-letter identifiers look better this way
-\def\&#1{\leavevmode\hbox{\reservedfont#1\/}} % boldface type for reserved words
-\def\.#1{\leavevmode\hbox{\tentex % typewriter type for strings
-  \let\\=\BS % backslash in a string
-  \let\'=\RQ % right quote in a string
-  \let\`=\LQ % left quote in a string
-  \let\{=\LB % left brace in a string
-  \let\}=\RB % right brace in a string
-  \let\~=\TL % tilde in a string
-  \let\ =\SP % space in a string
-  \let\_=\UL % underline in a string
-  \let\&=\AM % ampersand in a string
-  #1}}
-\def\#{\hbox{\tt\char`\#}} % parameter sign
-\def\${\hbox{\tt\char`\$}} % dollar sign
-\def\%{\hbox{\tt\char`\%}} % percent sign
-\def\^{\ifmmode\mathchar"222 \else\char`^ \fi} % pointer or hat
-% circumflex accents can be obtained from \^^D instead of \^
-\def\AT!{@} % at sign for control text
-\def\@{@} % at sign in strings
-% EVERY WEAVE MUST DEFINE \? WHERE ? IS THE AT SIGN!!!!
-
-% Macros to surround text in |...|
-\def\CD{\relax\ifmmode\let\DC\egroup\hbox\bgroup\else\let\DC\relax\fi}
-\let\DC=\relax
-
-\chardef\AM=`\& % ampersand character in a string
-\chardef\BS=`\\ % backslash in a string
-\chardef\LB=`\{ % left brace in a string
-\def\LQ{{\tt\char'22}} % left quote in a string
-\chardef\RB=`\} % right brace in a string
-\def\RQ{{\tt\char'23}} % right quote in a string
-\def\SP{{\tt\char`\ }} % (visible) space in a string
-\chardef\TL=`\~ % tilde in a string
-\chardef\UL=`\_ % underline character in a string
-
-\newbox\bak \setbox\bak=\hbox to -1em{} % backspace one em
-\newbox\bakk\setbox\bakk=\hbox to -2em{} % backspace two ems
-
-\newcount\ind % current indentation in ems
-\def\0{\ifmmode\ifinner$\par % forced break
-  \hangindent\ind em\noindent\kern\ind em\ignorespaces$\fi
-  \else\par % forced break
-  \hangindent\ind em\noindent\kern\ind em\ignorespaces\fi}
-\def\1{\global\advance\ind by1\hangindent\ind em} % indent one more notch
-\def\2{\global\advance\ind by-1} % indent one less notch
-\def\3#1{\hfil\penalty#10\hfilneg} % optional break within a statement
-\def\4{\copy\bak} % backspace one notch
-\def\5{\hfil\penalty-1\hfilneg\kern2.5em\copy\bakk\ignorespaces}% optional break
-%\def\6{\ifmmode\else\par % forced break with no indentation
-%  \hangindent\ind em\noindent\kern\ind em\copy\bakk\ignorespaces\fi}
-\def\6{\ifmmode\else\par % forced break with no indentation
-  \hangindent\ind em\startline\ignorespaces\fi}
-\def\7{\Y\6} % forced break and a little extra space
-\def\8{\unskip} % no indentation--works only in code, not in |...|
-\def\startline{\noindent
-  \count255=\ind\advance\count255by-2
-  \hskip\count255 em}
-
-\let\yskip=\smallskip
-\def\note#1#2.{\Y\noindent{\hangindent2em\baselineskip10pt\eightrm#1 #2.\par}}
-\def\lapstar{\rlap{*}}
-\def\startsection{\Q\noindent{\let\*=\lapstar\bf\modstar.\quad}}
-\def\defin#1{\global\advance\ind by 2 \1\&{#1 }} % begin `define' or `format'
-\def\A{\note{See also}} % cross-reference for multiply defined section names
-\def\B{\mathopen{\.{@\commentbegin}}} % begin controlled comment
-\def\C#1{\ifmmode\gdef\XX{\null$\null}\else\gdef\XX{}\fi % C comments
-  \XX\hfil\penalty-1\hfilneg\quad
-	$\commentbegin\,${#1}$\,\commentend$\XX}
-\def\D{\defin{define}} % macro definition
-\def\F{\defin{format}} % format definition
-\def\J{\.{@\&}} % TANGLE's join operation
-\outer\def\M#1.{\MN#1.\ifon\vfil\penalty-100\vfilneg % beginning of section
-  \vskip12ptminus3pt\startsection\ignorespaces}
-\outer\def\N#1.#2.{\MN#1.\headcheck#2\headcheck
-  \edef\rhead{\uppercase{\ignorespaces\themodtitle}} % define running headline
-  \message{*\modno} % progress report
-  \edef\next{\write\cont{\thetocskip
-	\Z{\theopen\relax
-		\themodtitle}{\modno}{\noexpand\the\pageno}}}\next % to contents file
-  \ifon\startsection{\bf\ignorespaces\themodtitle.\quad}\ignorespaces}
-\def\MN#1.{\par % common code for \M, \N
-  {\xdef\modstar{#1}\let\*=\empty\xdef\modno{#1}}
-  \ifx\modno\modstar \onmaybe \else\ontrue \fi \mark{\modno}}
-\def\O#1{% octal, hex or decimal constant
-  {\def\?{\kern.2em}%
-  \def\${\ell}% long constant
-  \def\_{\cdot 10^{\aftergroup}}% power of ten
-  \def\~{\hbox{\rm\char'23\kern-.2em\it\aftergroup\?\aftergroup}}% octal
-  \def\^{\hbox{\rm\char"7D\tt\aftergroup}}% double quotes for hex constant
-  #1}}
-\def\P{\rightskip=0pt plus 100pt minus 10pt % go into Pascal mode
-  \sfcode`;=3000
-  \pretolerance 10000
-  \hyphenpenalty 10000 \exhyphenpenalty 10000
-  \global\ind=2 \1\startline}%\ \unskip}
-\def\Q{\rightskip=0pt % get out of Pascal mode
-  \sfcode`;=1500 \pretolerance 200 \hyphenpenalty 50 \exhyphenpenalty 50 }
-\def\T{\mathclose{\.{@\commentend}}} % terminate controlled comment
-\def\U{\note{This code is used in}} % cross-reference for uses of sections
-\def\X#1:#2\X{\ifmmode\gdef\XX{\null$\null}\else\gdef\XX{}\fi % section name
-  \XX$\langle\,$#2{\eightrm\kern.5em#1}$\,\rangle$\XX}
-\def\XF#1:#2\XF{\ifmmode\gdef\XX{\null$\null}\else\gdef\XX{}\fi % section name
-  \XX{\tt(#2{\eightrm\kern.5em#1})}\XX}
-\def\Y{\par\yskip}
-\def\){\hbox{\.{@\$}}} % sign for string pool check sum
-\def\]{\hbox{\.{@\\}}} % sign for forced line break
-\def\=#1{\kern2pt\hbox{\vrule\vtop{\vbox{\hrule
-        \hbox{\strut\kern2pt\.{#1}\kern2pt}}
-      \hrule}\vrule}\kern2pt} % verbatim string
-\let\~=\ignorespaces
-\let\*=*
-
-
-\def\DO{\hbox{\sl\char'044}} % slant dollar sign
-\let\G=\ge % greater than or equal sign
-\def\H{{\rm\char'136}} % hat
-\let\I=\ne % unequal sign
-\let\K=\gets % left arrow
-\let\L=\le % less than or equal sign
-\let\R=\lnot % logical not
-\let\S=\equiv % equivalence sign
-\let\TI\sim % tilde
-\let\V=\lor % logical or
-\let\W=\land % logical and
-\let\Z=\let % now you can \send the control sequence \Z
-
-
-\def\onmaybe{\let\ifon=\maybe} \let\maybe=\iftrue
-\newif\ifon \newif\iftitle \newif\ifpagesaved
-\def\lheader{\mainfont\the\pageno\eightrm\qquad\rhead\hfill\title\qquad
-  \tensy x\mainfont\topmark} % top line on left-hand pages
-\def\rheader{\tensy x\mainfont\topmark\eightrm\qquad\title\hfill\rhead
-  \qquad\mainfont\the\pageno} % top line on right-hand pages
-\def\lfooter{\hfil} % bottom line on left-hand-pages
-\def\rfooter{\hfil} % bottom line on left-hand-pages
-\def\page{\box255 }
-\def\normaloutput#1#2#3#4#5{%
-%\message{(At start top, first, and bottom marks: \topmark, \firstmark, \botmark)}%
-\shipout\vbox{
-  \iftwoside\else\ifodd\pageno\hoffset=\pageshift\fi\fi
-  \vbox to\fullpageheight{
-     \iftitle
-     \else\hbox to\pagewidth{\vbox to10pt{}%
-   	\ifodd\pageno#3\else
-		\iftwoside#2\else#3\fi
-	\fi}%
-     \fi
-     \vfill#1% parameter #1 is the page itself
-     \iftitle\global\titlefalse
-     \else\baselineskip=24pt\hbox to\pagewidth{\strut % see TeXbook p256
-	\ifodd\pageno#5\else
-		\iftwoside#4\else#5\fi
-	\fi}%
-     \fi
-  }%
-}%
-\global\advance\pageno by1
-%\message{(At end top, first, and bottom marks: \topmark, \firstmark, \botmark)}%
-}
-
-
-\def\rhead{\.{WEB} OUTPUT} % this running head is reset by starred sections
-\def\title{} % an optional title can be set by the user
-\def\topofcontents{\centerline{\titlefont\title}
-  \vfill} % this material will start the table of contents page
-\def\botofcontents{\vfill} % this material will end the table of contents page
-\def\contentspagenumber{0} % default page number for table of contents
-\newdimen\pagewidth \pagewidth=6.5in % the width of each page
-\newdimen\pageheight \pageheight=8.4in % the height of each page
-\newdimen\fullpageheight \fullpageheight=9in % page height including
-					     % headlines and footlines
-\newdimen\pageshift \pageshift=0in % shift righthand pages wrt lefthand ones
-\catcode`\@=11 % make at letter
-\def\m@g{\mag=\count@\pagewidth=6.5truein\pageheight=8.4truein
-  \fullpageheight=9truein\setpage}
-\catcode`\@=12 % make at other
-\def\setpage{\hsize\pagewidth\vsize\pageheight} % use after changing page size
-
-\edef\contentsfile{\jobname.toc } % file that gets table of contents info
-\def\readcontents{\expandafter\input \contentsfile}
-
-\newwrite\cont
-\output{\setbox0=\page % the first page is garbage
-  \openout\cont=\contentsfile
-  \write\cont{\string\catcode`\string\@=11}% a hack to make contents
-	  				   % take stuff in \.{---}
-  \global\output{\normaloutput\page\lheader\rheader\lfooter\rfooter}}
-\setpage
-\vbox to \vsize{} % the first \topmark won't be null
-% Delete as per bug report from kademan@stat.wisc.edu
-% Causes headings on first page to be missing
-% \eject
-
-\def\ch{\note{The following sections were changed by the change file:}
-  \let\*=\relax}
-\newbox\sbox % saved box preceding the index
-\newbox\lbox % lefthand column in the index
-\def\inx{\par\vskip6pt plus 1fil % we are beginning the index
-  \write\cont{} % ensure that the contents file isn't empty
-  \closeout\cont % the contents information has been fully gathered
-  \output{\ifpagesaved\normaloutput{\box\sbox}\lheader\rheader
-		\lfooter\rfooter\fi
-    \global\setbox\sbox=\page \global\pagesavedtrue}
-  \pagesavedfalse \eject % eject the page-so-far and predecessors
-  \setbox\sbox\vbox{\unvbox\sbox} % take it out of its box
-  \vsize=\pageheight \advance\vsize by -\ht\sbox % the remaining height
-  \hsize=.5\pagewidth \advance\hsize by -10pt
-    % column width for the index (20pt between cols)
-  \parfillskip 0pt plus .6\hsize % try to avoid almost empty lines
-  \def\lr{L} % this tells whether the left or right column is next
-  \output{\if L\lr\global\setbox\lbox=\page \gdef\lr{R}
-    \else\normaloutput{\vbox to\pageheight{\box\sbox\vss
-        \hbox to\pagewidth{\box\lbox\hfil\page}}}\lheader\rheader
-	\lfooter\rfooter
-    \global\vsize\pageheight\gdef\lr{L}\global\pagesavedfalse\fi}
-  \message{Index:}
-  \parskip 0pt plus .5pt
-  \outer\def\:##1, {\par\hangindent2em\noindent##1:\kern1em} % index entry
-  \def\[##1]{$\underline{##1}$} % underlined index item
-  \rm \rightskip0pt plus 2.5em \tolerance 10000 \let\*=\lapstar
-  \hyphenpenalty 10000 \parindent0pt}
-\def\fin{\par\vfill\eject % this is done when we are ending the index
-  \ifpagesaved\null\vfill\eject\fi % output a null index column
-  \if L\lr\else\null\vfill\eject\fi % finish the current page
-  \parfillskip 0pt plus 1fil
-  \def\rhead{NAMES OF THE SECTIONS}
-  \message{Section names:}
-  \output{\normaloutput\page\lheader\rheader\lfooter\rfooter}
-  \setpage
-  \def\note##1##2.{\quad{\eightrm##1 ##2.}}
-  \def\U{\note{Used in}} % cross-reference for uses of sections
-  \def\:{\par\hangindent 2em}\let\*=*}
-\def\con{\par\vfill\eject % finish the section names
-  \rightskip 0pt \hyphenpenalty 50 \tolerance 200
-  \setpage
-  \output{\normaloutput\page\lheader\rheader\lfooter\rfooter}
-  \titletrue % prepare to output the table of contents
-  \pageno=\contentspagenumber \def\rhead{TABLE OF CONTENTS}
-  \message{Table of contents:}
-  \topofcontents
-  \line{\hfil Section\hbox to3em{\hss Page}}
-  \def\Z##1##2##3{\line{{\ignorespaces##1}
-    \leaders\hbox to .5em{.\hfil}\hfil\ ##2\hbox to3em{\hss##3}}}
-  \readcontents\relax % read the contents info
-  \botofcontents \end} % print the contents page(s) and terminate
-%\tracingstats1 % temporary (during development)
-
-
-\def\vert{|}
-		
-%%% this stuff is to allow inital =,1,2,3,4 in starred modules
-%%% 	= means ``part'', don't skip page
-%%%	normal starred module is 0
-%%%		1,2,3,4 are submodules, and are indented
-%%%
-%%%	@*=	bold name in table of contents
-%%%		causes page eject
-%%%		suppresses page eject following
-%%%
-%%%	@*1,2	first level of indentation
-%%%	@*3,4	second level of indentation
-%%%
-%%%     @*1,3	cause page eject
-%%%     @*2,4	don't cause page eject
-%%%
-
-
-\newif\ifcancel\cancelfalse
-\catcode`\@=11
-\def\ifnextchar#1#2#3{\let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}\@ifnch}
-\def\@ifnch{\ifx \@tempc \@tempe\let\@tempd\@tempa\else\let\@tempd\@tempb\fi
-      \@tempd}
-\def\makethechar#1{\let\@tempc=#1}
-\catcode`\@=12
-
-\def\headcheck#1#2\headcheck{%
-	\makethechar{#1}%
-	\def\theskipper{\vfil\penalty-100\vfilneg\vskip12ptminus3pt}%
-				% skip before new module
-	\def\theopen{}% opening skip in toc entry
-	\def\thetocskip{}% vertical skip before toc entry
-	\def\themodtitle{{#2}}
-	\ifnextchar={%
-		\def\theskipper{\vfil\eject}%
-		\canceltrue
-		\def\theopen{\bf}%
-		\def\thetocskip{\vskip3ptplus1in\penalty-100
-			\vskip0ptplus-1in}%
-	}{\ifnextchar1{%
-		\cancelfalse
-		\def\theskipper{\vfil\eject}%
-		\def\theopen{\hskip2em}%
-	}{\ifnextchar2{%
-		\cancelfalse
-		\def\theopen{\hskip2em}%
-	}{\ifnextchar3{%
-		\cancelfalse
-		\def\theskipper{\vfil\eject}%
-		\def\theopen{\hskip4em}%
-	}{\ifnextchar4{%
-		\cancelfalse
-		\def\theopen{\hskip4em}%
-	}{% else 
-		\ifcancel\else
-			\def\theskipper{\vfil\eject}%
-		\fi
-		\cancelfalse
-		\def\themodtitle{#1{#2}}%
-	}}}}}%
-	\theskipper
-}
-
-
-%%%%%%%% for verbatim quoting of code
-% The following are copied from manmanc.tex and are taken from p421 of
-% the TeXbook  ... modified to \verbatim...\endverbatim
-% macros for verbatim scanning
-\chardef\other=12
-\def\ttverbatim{\begingroup
-  \catcode`\|=\other
-  \catcode`\\=\other
-  \catcode`\{=\other
-  \catcode`\}=\other
-  \catcode`\$=\other
-  \catcode`\&=\other
-  \catcode`\#=\other
-  \catcode`\%=\other
-  \catcode`\~=\other
-  \catcode`\_=\other
-  \catcode`\^=\other
-  \obeyspaces \obeylines \tt}
-{\obeyspaces\global\let =\ } % from texbook, p 381
-
-
-%\outer\def\verbatim{$$\let\par=\endgraf \ttverbatim \parskip=0pt
-%  \catcode`\|=0 \rightskip-5pc \ttfinish}
-%{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character
-%  |obeylines % end of line is active
-%  |gdef|ttfinish#1^^M#2\endverbatim{#1|vbox{#2}|endgroup$$}}
-
-\outer\def\verbatimcode{\par\ttverbatim\leftskip=2em\parskip=0pt
-  \ttfinishcode}
-{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character
-  |obeylines % end of line is active
-  |gdef|ttfinishcode#1^^M#2\endverbatimcode{#1|vbox{#2}|endgroup}}
-
-
-% end of manmac stuff
-
End of webkernel.tex
================================================================================
Archive-Date: Wed, 30 Jun 1993 12:16:15 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 30 Jun 93 19:14:16 +0200
From: marcus@x4u.desy.de (Marcus Speh)
Reply-To: LitProg@SHSU.edu, marcus@X4U.DESY.DE
Message-ID: <9306301714.AA05306@x4u.desy.de>
To: Literate Programmers <litprog@shsu.edu>
Subject: re: Fweb and C++
References: <0096ECA4.CC11AAE0.4955@SHSU.edu> <9306301054.ZM3448@bach.pdb.bnl.gov> <bed_gdg@SHSU.edu>
CC: drs@bach.pdb.bnl.gov

>>>>> On Wed, 30 Jun 1993 10:54:31 -0400, drs@bach.pdb.bnl.gov (drs) said:

|> I seem to be spending an inordinate amount of effort forcing the format of C++
|> code in fweb. (It seems to want to stick an entire method on one line.) I can't
|> believe that this is correct.

|> Does anyone have a sample C++ web that I can use as a baseline model? The demos
|> that are shipped with fweb 1.3 are not useful in seeing what I am doing wrong.

I dont know whether some silly samples I wrote can be of help -- look
in ftp.desy.de, directory pub/web/fweb -- this information is also
contained (plus more samples) in the WWW LitProg info page which you
may consult. Whatever your findings are, write to me and I put it
in the next FWEB FAQ -- sorry for this brief answer, I am about to leave!

		Marcus

ps info how to get to WWW is in 
   pub/www/projects/Announce/LitProg.txt




================================================================================
Archive-Date: Wed, 30 Jun 1993 12:39:08 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 30 Jun 1993 12:37:20 CST
From: "George D. Greenwade" <bed_gdg@SHSU.edu>
Reply-To: LitProg@SHSU.edu, bed_gdg@SHSU.EDU
To: ae1181t@stnfor.ae.ge.com
CC: litprog@SHSU.edu
Message-ID: <0096ECCB.C34E4040.6547@SHSU.edu>
Subject: RE: nuweb msdos fix

On 29 Jun 1993 08:56:42 -0400, Osman F Buyukisik <ae1181t@stnfor.ae.ge.com>
posted:
> I just saw a message on the litprog on nuweb-msdos. It was my mistake. The
> executable that I uploaded earlier had assumed that the user has go32.exe
> (DJ's dos extender) on their path somewhere! So I uploaded go32.exe and a
> new executable which does not need go32.exe to incoming/nuweb-msdos-fix
> directory. Sorry for the inconvenience. 8*(

No problem.  I got backlogged and didn't check incoming yesterday and
haven't today until just now.  I have moved the files to
tex-archive/web/nuweb/msdos/ on ftp.shsu.edu for anonymous ftp retrieval
(or the gopher link from niord should work fine).

Thanks for the update and my apologies to the LitProg community for not
handling this yesterday.

--George
================================================================================
Archive-Date: Wed, 30 Jun 1993 14:40:56 CST
Sender: LP-Mgr@SHSU.edu
From: ravn@imada.ou.dk (Thorbjoern Ravn Andersen)
Reply-To: LitProg@SHSU.edu, ravn@IMADA.OU.DK
Message-ID: <9306301938.AA18602@wagner.imada.ou.dk>
Subject: How to use several modes in Emacs when writing for NUWEB?
To: LitProg@SHSU.edu
Date: Wed, 30 Jun 93 21:38:05 MET DST

The sys-adms here at Odense University (myself included) have a small
problem arisen from this scenario.

* We use LaTeX for documentation, which is most convenient from Emacs
  using AUC-TeX (*) where LaTeX mode is a major mode.

* We write sys-adm programs in Perl (**) which has its own major mode
  with a lot of bells and whistles.


So far so good.

We have now started using NUWEB (***) for writing programs of all sorts
intermixed with LaTeX code, especially Perl programs.  This doesn't work
very well because we have to switch major modes manually and repeatedly
because code and documentation is interlaced.

Have anybody had the same problem, or is there an easy cure?

[I have posted this several places, which is why I explain all the tools
we are using here:

*:   AUC-TeX for Emacs is an excellent package for doing LaTeX stuff
     from within Emacs.  Recommended if this is your editor and
     typesetter.

**:  Perl is a shell-and-C-and-AWK featuring language which is great for
     doing sys-adm things, as well as "use awk" or "use grep"
     situations.

***: NUWEB is a language independent WEB translator used in Litterate
     Programming , or said in other words.  It allows producing
     documented code as well as the actual source code from a common
     file, in which the source code components are grouped according to
     function (or whatever the programmer wants) instead as dictated by
     the language chosen.  NUWEB builds on ideas and experience from
     users of WEB which Knuth wrote for making TeX.
]

Thanks in advance for any feedback -- if there is sufficient interest I
will summarize.

-- 
Thorbj{\o}rn Andersen
ravn@imada.ou.dk
================================================================================
Archive-Date: Wed, 30 Jun 1993 22:07:13 CST
Sender: LP-Mgr@SHSU.edu
Date: Wed, 30 Jun 93 16:55:28 CDT
From: infmx!quivira!grodecki@uunet.UU.NET (Don Grodecki)
Reply-To: LitProg@SHSU.edu, infmx!quivira!grodecki@UUNET.UU.NET
Message-ID: <9306302155.AA16912@quivira.lenexa.pd>
To: uunet!SHSU.edu!LitProg@uunet.UU.NET, uunet!BT-WEB.BT.CO.UK!mckearney_s@uunet.UU.NET
Subject: WORDWEB limits
CC: quivira!grodecki@uunet.UU.NET

Can I get a copy somehow?  Perhaps send you diskettes in the mail with
a SASE for return?  I would need your surface address.

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

From uunet!SHSU.edu!LP-Mgr Tue Jun 29 13:17:08 1993
X-Listname: Literate Programming Discussion List <LitProg@SHSU.edu>
Warnings-To: <>
Sender: uunet!SHSU.edu!LP-Mgr
X-Vms-To: R11F::SHSU.EDU::LITPROG
To: litprog@shsu.edu
From: mckearney_s
Reply-To: uunet!SHSU.edu!LitProg, uunet!BT-WEB.BT.CO.UK!mckearney_s
Subject: WORDWEB limits
Date: Tue, 29 Jun 1993 16:47:49 +0100


Osman writes

> Hi, maybe I misunderstood the first time, but it looks like you are 
> right ``numbers'' are not needed. Need a better method than just page 
> numbers for the indices (like what Norman said 17a, 17b,...). Is that 
> possible in WORD? Are you going to have it availble?
>
> Osman
>
> Ps: you have not answered about the code size restriction (<64k) of 
> the earlier wordweb being still true?

I never thought of indexing like this although I'm not sure it will be 
much more useful than just page numbers.

The code size restriction is just on generated code, that is, the 
output of the tangle phase.  I do not find this to be a problem 
because I tend to keep individual WEB files reasonably small and WORD 
provides facilities to create large documents from a number of files.  
For example, if you write a large thesis you might have files called 
CHAPTER1.DOC, CHAPTER2.DOC, etc.

A more serious problem was caused because the main tangle routine in 
the original version used recursion that VERY quickly ran out of memory. 
Judicious use of GOTOs etc. removed the recursion and it seems to 
handle reasonably large files now.

If people are interested in this version I can look into supplying it 
but I do not have FTP access.

Stephen


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

