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: <> . . . <>= 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: <> . . . <>= 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: > > <> > > . . . > > <>= > 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 <> ... <>= x += y * 23; in Noweb, or @ ... @= 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" 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" 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" 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 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: Date: Tue, 1 Jun 93 17:30 PDT To: LitProg@SHSU.edu, preston@CS.RICE.EDU Subject: Re: Nuweb From: Kayvan Sylvan 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 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 ================================================================================ Archive-Date: Sat, 05 Jun 1993 02:11:13 CST Sender: LP-Mgr@SHSU.edu Message-ID: 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 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: Date: Mon, 7 Jun 93 10:39 PDT To: LitProg@SHSU.edu, ddw2@SUNBIM.BE Subject: Re: Nuweb From: Kayvan Sylvan 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" 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" 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" 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)" 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" 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 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" 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 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" 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 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: From: "John K Nicoll" 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: Date: Fri, 11 Jun 93 04:30 PDT To: ddw2@SUNBIM.BE CC: LitProg@SHSU.edu Subject: Re: "nuweb for pc" From: Kayvan Sylvan Reply-To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM >>>>> "Dominique" == Dominique de Waleffe 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 CC: LitProg@SHSU.edu Subject: Re: "nuweb for pc" References: <9306110804.AA03971@amadeus.sunbim.be> >>> On Fri, 11 Jun 93 04:30 PDT, Kayvan Sylvan 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 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 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 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 ] The detection of `@.' entries is more robust now. Works with LaTeX versions prior to 1992, too. [Problem reported by Michael Mueller ] 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 ... @@; ... @*Brand X Implementation. Here we put all the code specific to the Brand X compiler. @= #ifdef BRAND_X @# @@; @# @#endif @*Brand Y Implementation. Here we put all the code specific to the Brand Y compiler. @= #ifdef BRAND_Y @# @@; @# @#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 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 @. When processed by cweave, the list of the section names will show @<\'el\`eves@> first, then @, etc... I would like @<\'el\`eves@> to be classified as @ 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 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 @. > When processed by cweave, the list of the section names will show > @<\'el\`eves@> first, then @, etc... > I would like @<\'el\`eves@> to be classified as @ 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 @ and @<\'el\`eves@> in a web, then the prefix @ 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 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 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 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 June 1993 @z @x l.92 Memory for large arrays must be allocated dynamically @; @y @; @; @z @x l.162 (TGM) #include @y #include #include #include @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. @= 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 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 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; @@; @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 @y #include #include #include #ifdef THINK_C #include #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. @= 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" 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 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 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 CC: Silvio Levy , Joachim Schrod 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 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" , 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" 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 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: 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 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 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 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: 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 Reply-To: LitProg@SHSU.edu, kayvan@SATYR.SYLVAN.COM >>>>> "Trevor" == Trevor Jenkins 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 Reply-To: LitProg@SHSU.edu, WAGNER%CSEARN.BITNET@SHSU.EDU Subject: Re: Literate programming in (sic) TeX To: Literate Progaramming list , 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 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> >>>>> On Thu, 24 Jun 93 09:31:34 MDT, Zdenek Wagner 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 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 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 Reply-To: LitProg@SHSU.edu, WAGNER%CSEARN.BITNET@SHSU.EDU Subject: RE: Literate programming in (sic) TeX To: Literate Progaramming list Dave Love 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 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 () { @@; @@; @@; } 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" 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 Reply-To: LitProg@SHSU.edu, WAGNER%CSEARN.BITNET@SHSU.EDU Subject: RE: modules are valuable To: Literate Progaramming list 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 Reply-To: LitProg@SHSU.edu, WAGNER%CSEARN.BITNET@SHSU.EDU Subject: RE: Support for Allen Rouse's view To: Literate Progaramming list 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 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 = 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 > > = > 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 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 ================================================================================ 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 > 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 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: From: "John K Nicoll" 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 > 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 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" , 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 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 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 , to MAILER-DAEMON@thomas.ge.com 554 ... Service unavailable ----- Recipients of this delivery ----- Bounced, cannot deliver: ----- Unsent message follows ----- Return-Path: 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 ... 550 Host unknown (Authoritative answer from name server) ----- Recipients of this delivery ----- Bounced, cannot deliver: ----- 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 , 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 ... 550 Host unknown (Authoritative answer from name server) ----- Recipients of this delivery ----- Bounced, cannot deliver: ----- 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: To: LitProg@SHSU.edu From: M Afzal 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 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: To: LitProg@SHSU.edu From: M Afzal 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 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 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: To: LitProg@SHSU.edu From: M Afzal 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: To: LitProg@SHSU.edu From: M Afzal 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: To: LitProg@SHSU.edu From: M Afzal 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: To: LitProg@SHSU.edu From: M Afzal 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" 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 : > 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\{\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 Subject: re: Fweb and C++ References: <0096ECA4.CC11AAE0.4955@SHSU.edu> <9306301054.ZM3448@bach.pdb.bnl.gov> 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" 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 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 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 -----