1-Oct-1997 7:35:52-GMT,1254;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id BAA26251 for ; Wed, 1 Oct 1997 01:35:51 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 01 Oct 1997 02:05:28 EST From: "THE SIVITS' FAMILY" <"rdsmvh@worldnet.att.net"@worldnet.att.net> Subject: Qbasic Date: Wed, 01 Oct 1997 02:34:53 -0400 Message-ID: <60ssiu$b9l@mtinsc04.worldnet.att.net> Reply-To: LitProg@SHSU.edu, "rdsmvh@worldnet.att.net"@worldnet.att.net MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu I am having a problem with a Qbasic program. I know Qbasic isn't used much anymore, however, I am just beginning to learn how to program. My question is this... Can the keyword CHR$ be assigned more than one ASCII code? I'm writing a DO...LOOP program that I want to be able to stop by typing a Q or q. I can only get it to stop on one. I'm looking to those who know for help. Thanks, Ron You can email me at rdsmvh@worldnet.att.net 1-Oct-1997 17:16:31-GMT,2815;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id LAA09069 for ; Wed, 1 Oct 1997 11:16:28 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 01 Oct 1997 09:21:46 EST From: furlos@alumni.rpi.edu (Steve Furlong) Reply-To: LitProg@SHSU.edu, furlos@alumni.rpi.edu Subject: noweb -> MS Word Date: 1 Oct 1997 13:59:27 GMT Message-ID: <60tkvv$1u7$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu Howdy, all. First off, please forgive the delay. I haven't been able to post or mail for a few days. A week or so ago, Roland Kaufmann asked for a way to bring a noweb document into MS Word. As revealed in a few mail messages we've traded, his reason is that his shop mandates Word for documents, he's the sole litprogger (sp?), and no one is inclined to learn LaTeX. He'd like to develop code with noweb and LaTeX, and then dump the final version to Word for the consumption of the illiterati. I volunteered to write a proof-of-concept program for an off-line tool to read a literate source file and produce a Word document via OLE automation. (For you non-Windows types, that's a feature of MS Windows which allows one program to control another via defined interfaces.) However, that may not be the best solution. Probably an RTF outputter to go into the noweb translation chain is a better choice. (Again, for you non-Windows types, Rich Text Format is a document description language. It is pretty much just a crippled cousin of TeX, with a few twists. And it's controlled by Microsoft, who change it occasionally but do publish the (allegedly complete and accurate) spec. RTF provides some interoperability between word processors and operating systems and such.) Word can read RTF files just as well as its native format files. Omitting some details (such as my fuzzy thinking) there have also been requests for a tool which allows the literate programmer to write his source document's description chunks in SGML, and then produce a Word document, and to take the regular LaTeX noweb source and produce an SGML document. I'm not going to touch that for now, because I'm not familiar enough with SGML in all its glory. I'm going to delay or cancel writing an off-line file reader which produces a Word document via OLE automation. I don't want to be a big welcher, but it seems to be a severly suboptimal solution. Instead I'll put some work into an RTF outputter for noweb. All advice welcome. Anyone, feel free to contact me with wish-lists, useless advice, imprecations, or anything else on this topic. Ta, Steve Furlong 1-Oct-1997 21:53:31-GMT,2115;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA17098 for ; Wed, 1 Oct 1997 15:53:29 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 01 Oct 1997 14:42:27 EST From: "Information" Reply-To: LitProg@SHSU.edu, information@ldesign.com Subject: Check out the new features in advanced Online training for Professional Developers Date: 1 Oct 1997 19:33:47 GMT Message-ID: <01bcce92$e33241c0$0f00a8c0@tan.ldesign.com> To: LitProg@SHSU.edu Check out "OPUS3 ONLINE UNIVERSITY" - the newest ONLINE TRAINING SITE for C++, MFC, COM, ATL, DCOM, ActiveX, 32 bit Windows, ODBC and Java for serious development. Check our site http://www.ldesign.com for a totally unique offering that will save you tons of time. This site instantly trains you in over 150 red-hot development subjects. There are over 5,000 pages of well organized, concise material with 100s of hands-on, downloadable labs and 1,000s of detailed, up-to-date code examples. Just available, Advanced Java 1.1, a brand new module is now online!! Covers porting from Java 1.0 to 1.1, the new Java event model, JavaBeans in detail, JDBC including the ODBC bridge, Java persistency and distributed Java processing using RMI. Check it out at http://www.ldesign.com. All this comes at an unbeatable price - far less than books and CDs or regular classes - with terrific convenience. Available nowhere else, this is one unique opportunity to expand your horizons with the help of the most experienced, advanced developer training company in existence. It's also totally cool... see for yourself at http://www.ldesign.com! Call 1-800-355-9845 for details, send us an email mailto:information@ldesign.com or visit our site http://www.ldesign.com. Vicky Your Friendly Training Rep mailto:information@ldesign.com http://www.ldesign.com 1-Oct-1997 22:21:08-GMT,2115;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id QAA17825 for ; Wed, 1 Oct 1997 16:21:07 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 01 Oct 1997 14:53:26 EST From: "Information" Reply-To: LitProg@SHSU.edu, information@ldesign.com Subject: Check out the new features in advanced Online training for Professional Developers Date: 1 Oct 1997 19:42:26 GMT Message-ID: <01bcce94$18ff56c0$0f00a8c0@tan.ldesign.com> To: LitProg@SHSU.edu Check out "OPUS3 ONLINE UNIVERSITY" - the newest ONLINE TRAINING SITE for C++, MFC, COM, ATL, DCOM, ActiveX, 32 bit Windows, ODBC and Java for serious development. Check our site http://www.ldesign.com for a totally unique offering that will save you tons of time. This site instantly trains you in over 150 red-hot development subjects. There are over 5,000 pages of well organized, concise material with 100s of hands-on, downloadable labs and 1,000s of detailed, up-to-date code examples. Just available, Advanced Java 1.1, a brand new module is now online!! Covers porting from Java 1.0 to 1.1, the new Java event model, JavaBeans in detail, JDBC including the ODBC bridge, Java persistency and distributed Java processing using RMI. Check it out at http://www.ldesign.com. All this comes at an unbeatable price - far less than books and CDs or regular classes - with terrific convenience. Available nowhere else, this is one unique opportunity to expand your horizons with the help of the most experienced, advanced developer training company in existence. It's also totally cool... see for yourself at http://www.ldesign.com! Call 1-800-355-9845 for details, send us an email mailto:information@ldesign.com or visit our site http://www.ldesign.com. Vicky Your Friendly Training Rep mailto:information@ldesign.com http://www.ldesign.com 1-Oct-1997 22:31:53-GMT,1941;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id QAA18127 for ; Wed, 1 Oct 1997 16:31:52 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 01 Oct 1997 17:07:33 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: noweb cross-reference overflows latex input buffer Date: 1 Oct 1997 21:34:13 GMT Message-ID: <60ufkl$itd$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu Gregg Fenton writes: > I was wondering if you might be able to answer another question... > I know you are aware of the line length limitation in TeX or > LaTeX and that, if you have a code chunk with lots of used > variables, there are lines that can get _very_ long, so long > that LaTeX won't deal with them. Is there any way around this > other than making smaller code chunks? Not without messing up the line numbers so that line numbers in latex error messages are wrong. I have the vague memory that somebody (Joseph Brothers?) wrote a noweb filter that breaks up these long lines in a safe way. If somebody can find this filter (or writes one) I will add it to the noweb distribution and FAQ. Perhaps it is time to ask the TeX community whether the size of the input buffer could be raised to 10000 characters. In these days of large caches, that seems reasonable, and some of these problems might be solved. (That there is a fixed limit at all is unfortunate, but for historical reasons TeX does not support dynamic memory allocation.) I am cc'ing Thomas Esser in the hope that he might be willing to make this change in teTeX, which is widely used. I am also cc'ing Karl Berry. Norman 2-Oct-1997 15:02:13-GMT,1886;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA07459 for ; Thu, 2 Oct 1997 09:02:12 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from amc.com by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 02 Oct 1997 09:35:06 EST Received: from cheetah.amc.com by amc.com (4.1/SMI-4.1) id AA10549; Thu, 2 Oct 97 07:34:38 PDT Received: by cheetah.amc.com (4.1/SMI-4.1) id AA02916; Thu, 2 Oct 97 07:34:37 PDT Date: Thu, 2 Oct 97 07:34:37 PDT From: maryb@amc.com (Mary Bos) Reply-To: LitProg@SHSU.edu, maryb@amc.com Message-ID: <9710021434.AA02916@cheetah.amc.com> To: LitProg@SHSU.edu, nr@CS.VIRGINIA.EDU Subject: Re: noweb cross-reference overflows latex input buffer > From owner-litprog@SHSU.edu Wed Oct 1 15:53:10 1997 > X-Listname: Literate Programming Discussion List > Warnings-To: <> > Sender: owner-litprog@SHSU.edu > From: Norman Ramsey > Reply-To: LitProg@SHSU.edu, nr@CS.VIRGINIA.EDU > Subject: noweb cross-reference overflows latex input buffer > Date: 1 Oct 1997 21:34:13 GMT > To: LitProg@SHSU.EDU > Content-Length: 1239 > > > I have the vague memory that somebody (Joseph Brothers?) wrote a noweb > filter that breaks up these long lines in a safe way. If somebody can > find this filter (or writes one) I will add it to the noweb > distribution and FAQ. Yes, Joseph Brothers did write such a filter but unfortunately Motorola holds the code. Joseph no longer works for Moto and I don't know where his code has meandered (I no longer work for Moto either). So someone else can to write the filter or someone inside Moto finds Joseph's code and obtains the proper releases. mary bos 2-Oct-1997 19:55:12-GMT,1356;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id NAA16952 for ; Thu, 2 Oct 1997 13:55:11 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 02 Oct 1997 12:46:17 EST From: Graham Hughes Reply-To: LitProg@SHSU.edu, graham.hughes@resnet.ucsb.edu Subject: lout backend for noweb Date: 2 Oct 1997 17:15:47 GMT Message-ID: <610ks3$oe9$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=US-ASCII To: LitProg@SHSU.edu Lout is Yet Another Formatting Language that I'm fooling about with at the moment; it's considerably better behaved than TeX, but not as widely supported. Has anyone written a noweb backend to output Lout? One possible hurdle: Lout uses @ as an `escape' character, so this could be slightly inconvenient to use... -- Graham Hughes / Never attribute to malice that MIME OK, PGP preferred / which can adequately be http://A31147.resnet.ucsb.edu/~graham/ / explained by stupidity. / -- Hanlon's Razor 2-Oct-1997 21:00:56-GMT,1674;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA18740 for ; Thu, 2 Oct 1997 15:00:46 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 02 Oct 1997 12:31:09 EST From: maryb@amc.com (Mary Bos) Reply-To: LitProg@SHSU.edu, maryb@amc.com Subject: Re: noweb cross-reference overflows latex input buffer Date: 2 Oct 1997 16:58:55 GMT Message-ID: <610jsf$nti$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu > From owner-litprog@SHSU.edu Wed Oct 1 15:53:10 1997 > X-Listname: Literate Programming Discussion List > Warnings-To: <> > Sender: owner-litprog@SHSU.edu > From: Norman Ramsey > Reply-To: LitProg@SHSU.edu, nr@CS.VIRGINIA.EDU > Subject: noweb cross-reference overflows latex input buffer > Date: 1 Oct 1997 21:34:13 GMT > To: LitProg@SHSU.EDU > Content-Length: 1239 > > > I have the vague memory that somebody (Joseph Brothers?) wrote a noweb > filter that breaks up these long lines in a safe way. If somebody can > find this filter (or writes one) I will add it to the noweb > distribution and FAQ. Yes, Joseph Brothers did write such a filter but unfortunately Motorola holds the code. Joseph no longer works for Moto and I don't know where his code has meandered (I no longer work for Moto either). So someone else can to write the filter or someone inside Moto finds Joseph's code and obtains the proper releases. mary bos 2-Oct-1997 19:32:43-GMT,1026;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id NAA16434 for ; Thu, 2 Oct 1997 13:32:39 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 02 Oct 1997 12:47:02 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: TeX line-size limit to be lifted Date: 2 Oct 1997 17:19:08 GMT Message-ID: <610l2c$okd$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu It looks like this particular problem is going to go away. Karl Berry writes: In Web2c 7.0 I believe you can increase the size up to 30000 in texmf.cnf. And Thomas Esser writes: Done. I have changed the value to 30000. That will be in the next pretest release of teTeX. teTeX and web2c are both available from www.tug.org. Norman 3-Oct-1997 7:14:49-GMT,814;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id BAA02129 for ; Fri, 3 Oct 1997 01:14:48 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 03 Oct 1997 02:04:40 EST From: Reply-To: LitProg@SHSU.edu, user@msn.com Subject: Could some one tell me the basic need to know stuff about Pearl. Message-ID: <01bccfca$565844a0$a5b52399@default> Date: Thu, 02 Oct 1997 23:56:41 -0700 To: LitProg@SHSU.edu I am new to pearl and need a little help. If you can help get me started just send an E-mail to Lone_Lemming2@msn.com 3-Oct-1997 8:18:46-GMT,1430;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id CAA03236 for ; Fri, 3 Oct 1997 02:18:45 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from bommel.math.ruu.nl by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 03 Oct 1997 03:03:32 EST Received: from grit.math.ruu.nl (grit [131.211.22.22]) by bommel.math.ruu.nl with ESMTP id KAA20460 (8.6.13/IDA-1.6); Fri, 3 Oct 1997 10:06:26 +0200 Received: (from tu@localhost) by grit.math.ruu.nl id KAA17930 (8.6.13/IDA-1.6); Fri, 3 Oct 1997 10:06:18 +0200 Date: Fri, 3 Oct 1997 10:06:18 +0200 From: Nguyen Chanh Tu Reply-To: LitProg@SHSU.edu, tu@math.ruu.nl Message-ID: <199710030806.KAA17930@grit.math.ruu.nl> To: LitProg@SHSU.edu Subject: reference help CC: info-tex@SHSU.edu, tu@math.ruu.nl I want to make cross-reference for my book. Theorems are numbered depending on the section. At each time I call \ref{A} to the given \label{A} for Theorem 2.3 in Chapter I ,let say, the reference appear in the form: If their places are still in the same chapter (Chapter I), just type (2.3) If their pales are in different chapter then (I.2.3) Could you please be so kind to advice me the way to do so. Thank you in advance 3-Oct-1997 8:43:08-GMT,2501;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id CAA03822 for ; Fri, 3 Oct 1997 02:43:07 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from mail.eunet.ch by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 03 Oct 1997 03:32:51 EST Received: from igate.ska.com (firewall-user@igate.ska.com [198.240.202.195]) by mail.eunet.ch (8.8.6/1.34) via ESMTP id IAA22151 for ; Fri, 3 Oct 1997 08:34:29 GMT env-from (barry.gaunt@ska.com) Received: (from uucp@localhost) by igate.ska.com (8.7.3/8.6.11) id JAA17778 for ; Fri, 3 Oct 1997 09:32:45 +0100 (MET) Received: from mx2.ska.com(198.240.223.100) by igate.ska.com via smap (g3.0.3) id xma017766; Fri, 3 Oct 97 09:32:34 +0100 Received: from gmszrh1.itzrh.ska.com (gmszrh1.itzrh.ska.com [159.122.217.90]) by mx2.ska.com (8.7.5+phmap1.4+pmdfhack1.0/8.7.3/MX1-02-APR-96) with ESMTP id JAA13087 for ; Fri, 3 Oct 1997 09:34:14 +0100 (MET) Received: from PC85149 (pc85149.tplzrh.ska.com [159.122.85.209]) by gmszrh1.itzrh.ska.com (8.7.5+phmap-1.3/8.7.3) with SMTP id KAA29356; Fri, 3 Oct 1997 10:33:15 +0200 (MET DST) Message-ID: <3434BCD2.7D5C@ska.com> Date: Fri, 03 Oct 1997 10:37:22 +0000 From: Barry Gaunt Reply-To: LitProg@SHSU.edu, barry.gaunt@csfb.com MIME-Version: 1.0 To: LitProg@SHSU.edu Subject: Re: Could some one tell me the basic need to know stuff about Pearl. References: <01bccfca$565844a0$a5b52399@default> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit user@msn.com wrote: > > I am new to pearl and need a little help. If you can help get me started > just send an E-mail to Lone_Lemming2@msn.com Hi, I've just started learning perl (you do mean perl?) too, for three days now. A few tips: 1. Please don't post to LitProg general problems about specific programming languages. Try to find the specific newsgroup for the language. 2. Buy/Borrow a few books on the language and read them. O'Reilly publish two books on perl, and there is a www.perl.com WWW page. 3. It's gonna be tough, don't expect a fairy queen to come waving her/his magic wand. -- Barry PS. If you really did mean Pearl then the same goes... 3-Oct-1997 20:39:56-GMT,2082;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id OAA19893 for ; Fri, 3 Oct 1997 14:39:55 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 03 Oct 1997 14:36:17 EST From: "Information" Reply-To: LitProg@SHSU.edu, information@ldesign.com Subject: Online Training: Java 1.1, ATL, DCOM, and much more! Date: 3 Oct 1997 19:23:37 GMT Message-ID: <01bcd023$beaef0e0$0f00a8c0@tan.ldesign.com> To: LitProg@SHSU.edu Check out "OPUS3 ONLINE UNIVERSITY" - the newest ONLINE TRAINING SITE for C++, MFC, COM, ATL, DCOM, ActiveX, 32 bit Windows, ODBC and Java for serious development. Check our site http://www.ldesign.com for a totally unique offering that will save you tons of time. This site instantly trains you in over 150 red-hot development subjects. There are over 5,000 pages of well organized, concise material with 100s of hands-on, downloadable labs and 1,000s of detailed, up-to-date code examples. Just available, Advanced Java 1.1, a brand new module is now online!! Covers porting from Java 1.0 to 1.1, the new Java event model, JavaBeans in detail, JDBC including the ODBC bridge, Java persistency and distributed Java processing using RMI. Check it out at http://www.ldesign.com. All this comes at an unbeatable price - far less than books and CDs or regular classes - with terrific convenience. Available nowhere else, this is one unique opportunity to expand your horizons with the help of the most experienced, advanced developer training company in existence. It's also totally cool... see for yourself at http://www.ldesign.com! Call 1-800-355-9845 for details, send us an email mailto:information@ldesign.com or visit our site http://www.ldesign.com. Vicky Your Friendly Training Rep mailto:information@ldesign.com http://www.ldesign.com 4-Oct-1997 14:41:20-GMT,1376;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id IAA09558 for ; Sat, 4 Oct 1997 08:41:19 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 04 Oct 1997 09:25:46 EST From: farich@vnet.net (Fred A Richard) Reply-To: LitProg@SHSU.edu, farich@vnet.net Subject: noweb: c/c++ prettyprinter -- dpp -- examples? Date: Sat, 04 Oct 1997 14:11:38 GMT Message-ID: <34364cc2.2494185@news.vnet.net> To: LitProg@SHSU.edu I'd like some example noweb code that will work OK with the prettyprinter filter dpp. The current version of dpp does not have any examples, although the author mentions providing examples in the "to do" list. My problem is that dpp "chokes" on the examples I've got -- including the standard noweb examples like the "wc.nw" program from the '94 _Software_ article by Ramsey. I suspect that dpp requires some specific syntax, that is a subset of valid noweb code -- kind of like noweb.el, the emacs noweb mode. Thanks. -- Fred A. Richard Lincolnton,NC 28092-8238 farich@vnet.net "Our life is frittered away by detail. Simplicity, simplicity, simplicity!" Henry David Thoreau 4-Oct-1997 16:31:40-GMT,1395;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA11366 for ; Sat, 4 Oct 1997 10:31:39 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 04 Oct 1997 11:16:53 EST From: farich@vnet.net (Fred A Richard) Subject: noweb: c/c++ prettyprinter -- dpp -- examples? Date: 4 Oct 1997 16:07:57 GMT Message-ID: <615pkt$ct5$1@murdoch.acc.Virginia.EDU> Reply-To: LitProg@SHSU.edu, LitProg@SHSU.edu, farich@vnet.net To: LitProg@SHSU.edu I'd like some example noweb code that will work OK with the prettyprinter filter dpp. The current version of dpp does not have any examples, although the author mentions providing examples in the "to do" list. My problem is that dpp "chokes" on the examples I've got -- including the standard noweb examples like the "wc.nw" program from the '94 _Software_ article by Ramsey. I suspect that dpp requires some specific syntax, that is a subset of valid noweb code -- kind of like noweb.el, the emacs noweb mode. Thanks. -- Fred A. Richard Lincolnton,NC 28092-8238 farich@vnet.net "Our life is frittered away by detail. Simplicity, simplicity, simplicity!" Henry David Thoreau 4-Oct-1997 16:47:37-GMT,982;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA11604 for ; Sat, 4 Oct 1997 10:47:36 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 04 Oct 1997 11:32:41 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Lout and noweb Date: 4 Oct 1997 16:21:48 GMT Message-ID: <615qes$d62$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <610ks3$oe9$1@murdoch.acc.Virginia.EDU>, Graham Hughes wrote: >. Has anyone written a noweb backend to output Lout? > >One possible hurdle: Lout uses @ as an `escape' character, I think this will be OK as long as you keep them out of column 1 and away from << >>. N 5-Oct-1997 16:14:45-GMT,14086;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA04394 for ; Sun, 5 Oct 1997 10:14:43 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sun, 05 Oct 1997 10:54:39 EST From: MIke Downey Subject: $$MAKE MONEY FAST$$ Date: Sun, 05 Oct 1997 12:07:16 -0400 Message-ID: <3437BB34.7F5A@worldnet.att.net> Reply-To: LitProg@SHSU.edu, downey1@worldnet.att.net MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Folks, I hesitated about trying this and ended up in financial collapse. Now that I have tried it, I receive envelopes by mail with dollar bills in them. How is this possible? Take a minute and read This is not a get rich quick scheme; it is your own home business developing mailing lists. It is legal. Like most people I am skeptical of things of this nature. But, after much thought,I have tried it out. Honestly, it takes a lot of work on your part to make it work. In the end you will be satisfied. Please read through the attached comments and excerpts. They are quite thorough on how this will work for you. There is absolutely nothing to lose on this deal!!!! (Excerpt From Bob Novak Who Started This New Version) NEW VERSION ! 1997 (Legal Questions Addressed!) "In late October of 1996, I saw an article in an internet newsgroup telling me that I could make $50,000 within a month for an investment of only $5. I thought, "OH YAH!! I'VE GOT A BRIDGE I'LL SELL YOU TOO!!" It sounded like all the rest of the "get rich quick" schemes and scams I've seen over the past 40 years or so. I spoke to my attorney, a few friends, and family about it, and they all agreed it was some kind of scam. I can't stand scams, because usually someone gets burned, and I didn't want it to be me. After rejecting the idea at first, it kind of played on my mind and I thought, "what if it really worked?" I realized all I had to lose was $5.00, I usually blow that much on the lottery every week anyway, so I figured what the heck, and decided to give it a shot. Within two weeks I began receiving money in the mail! Soon, hundreds, and then thousands of dollars began to roll in. Within 4 weeks, I had received a total of $46,812.00! It came from everywhere in the world." Lately, I've doubled my efforts and the money is rolling in even faster. I would tell you how much but then the IRS would know also, let's just say it's a VERY comfortable living. Now, I am really going to work! If I can make as much as I have, and still am, on a lousy $5.00 investment, why not double it and make the "Big Bucks" twice as fast? Anybody can afford to gamble $5.00 on a chance to make $100,000.00 or more in a month, especially when the business has already proven itself." If you follow the three steps below, there is no reason why the same shouldn't happen to you! This is a legitimate investment opportunity. You invest $5, and you receive a return on your investment. So does the next investor. THIS IS NOT ILLEGAL, THIS IS NOT A CHAIN LETTER, THIS IS PERFECTLY LEGITIMATE. (See additional legal details below.) THE PROCEDURE IS SIMPLE: 1) Invest your $5.00 by writing your name and address on five separate pieces of paper along with the words: "PLEASE ADD ME TO YOUR MAILING LIST: $1USD PROCESSING FEE IS ENCLOSED." (In this way, you're not just sending ONE dollar to someone; you're paying for a legitimate service.) Fold $1 U.S. Treasury bill, money order, or bank note inside each piece of paper, and mail them by standard U. S. Mail to the following five addresses: 1. J.T. Heenan 50855 Washington St.#124 LaQuinta Ca. 92253 2. Michelle Beth D. 2514 Averett St. N.W. Roanoke, Va. 24012 3. Cecil Jacques 5607 Bear Road apt. I-8 North Syracuse, NY 13212 4. Michael William D. HHB 1-41 FA Box #124 Ft. Stuart, Ga. 31314 5. Ben Downey 5677 Williamson Pkwy Cicero, NY 13039 2) Now remove the top name from the list, and move the other four names up. In other words, #5 becomes #4 and so on. Put your name as the fifth one on the list. You can do this by simply retyping the article or reposting it to other newsgroups with the edited addresses. 3) Post the article to at least 200 newsgroups. There are 22,000, so it shouldn't be hard to find that many. Remember, there are no "Free Lunches" in this world so the harder you work the more money you will make. 4) If you want a list of over 700 newsgroups, mail your E-mail address or a self addressed envelope with $2USD to: Ben Downey 5677 Williamson Pkwy Cicero, NY 13039 You are now in the mail order investment business, and should start seeing returns within a week or two. Of course, the more newsgroups you post to, the greater your return will be. If you wish to remain anonymous, you may use a pseudonym, but make sure your address is correct. LEGAL ? ? ? People have asked me if this is really legal. It is! You are using the Internet to advertise your business. What is that business? You are assembling a mailing list of people who are interested in home based computer and online businesses and methods of generating income at home. Remember - people send you a small fee to be added to your list. It is legal. What will you do with your list of thousands of names? That's up to you. " MORE LEGALESE: This opportunity has been incorrectly described as a 'pyramid scheme' by doubters and those unwilling to risk $5 for the chance at a huge payoff. This is not a pyramid, and not even as close to one as many 'legitimized' multi-level marketing systems (Amway, NSA, etc. etc.) The difference here is that the names above you do not remain on the list forever -- in five rounds they are removed. There is no residual income that continues forever with no further effort on your part. You can always add your name to the bottom of the next list you see, but you start from the bottom again. Build your mailing list, keep good accounts, declare the income, and pay your taxes. By doing this you prove your business intentions, and can also take advantage of business write-offs on your tax return. You need your computer, an internet account, and a spreadsheet, database or mailing list software to conduct your business. You will also need to drive to the bank, the post office, the office supply store -- all of these costs can be used to offset your income taxes. There really is no risk -- eat cheaper lunches for a week and you've covered the $5. The biggest risk is not to try. There's my pitch; Now back to BOB NOVAK: " NOW HERE IS WHY THE SYSTEM WORKS: The internet is growing at a tremendous rate - it doubles in size every 4 months. Think about it. You see those "Make Money Fast" posts more and more. All that growth means profits for everyone who participates. There are no losers. Of every 200 posts I made, I received 5 responses. That probably doesn't seem like much. You make $5 for every 200 posts with your name at #5. Each person who sent you $1 now also makes 200 additional postings with your name at #4. i.e.. 1000 postings. On average therefore, 50 people will send you $1 with your name at #4. $50.00. Your 50 new agents make 200 postings each with your name at #3 or 10,000 postings. Average return 500 people=$500.00. They make 200 postings each with your name at #2=100,000 postings=5000 return at $1 each=$5,000. Finally, 5,000 people make 200 postings with your name at #1 and you get a return of $50,000 before your name drops off the list. AND THAT'S IF EVERYONE DOWN THE LINE MAKES ONLY 200 POSTINGS! Total income in one cycle = $50,000. From time to time, when you see your name no longer on the list, you take the latest posting that appears in the newsgroups, and send out another $5, and put your name at #5, and start posting again. Remember, 200 postings is only a guideline. The more you post, the greater the return. Lets review why you should do this. THE ONLY COST IS $5, AND 5 STAMPS, AND 5 ENVELOPES. Anyone can afford $5 for such an effortless investment with such SPECTACULAR RETURNS. Some people have said to me, "what happens if the scheme is played out and no one sends me any money?" Big Deal, so you lose $5.00 but what are the chances of that happening? SINCE THIS IS A BRAND NEW PROGRAM AS OF JANUARY 1, 1997, YOU'RE IN ON THE GROUND FLOOR! There are millions of internet users, and millions of new net surfers every month. Remember- read the instructions carefully, and PLAY FAIRLY. THAT IS THE ONLY WAY THIS SYSTEM WILL WORK. Get a printout so you can refer back to this article easily. Keep a list of everyone that sends you money, keep good books, pay your taxes, and always keep an eye on the postings to make sure everyone is playing fairly. You know where your name should be. If you're really not sure or still think this can't be for real, then don't do it. But please print this article and pass it along to someone you know who really needs the bucks, and see what happens. REMEMBER-HONESTY IS THE BEST POLICY. WHAT ARE 10 DOLLARS TO YOU? YOU DON'T NEED TO CHEAT THIS IDEA TO MAKE MONEY!!! (We will monitor the program and if we find you have cheated by not sending your money to your five recipients, we will just dump you out of the system). This is the easiest way that you can make a buck. Think how excited you'll be to open up your mailbox day after day! Will it be $50? or $5,000? Start making your plans, because it can happen to you. DON'T PASS UP THIS ONCE IN A LIFETIME OPPORTUNITY!!! " ------------------------------------------------------------ Extra section: HOW TO POST TO NEWSGROUPS FAST WITH YOUR WEB BROWSER: The Fastest Way To Post To a Newsletter: Highlight and COPY (Ctrl-C for copy) the text of this e-mail message and PASTE it into a text editor (Notepad) and SAVE it (as a .txt file). After you have made the necessary changes that are outlined above, simply COPY and PASTE the text into the message section of the message composition window, select a Newsgroup and post it! ------------------------------------------------------------ If you have Netscape 3.0 do EXACTLY the following: 1) Click on any news group like normal, THEN click on 'TO NEWS', which is on the far left when you're in the newsgroups page. This will bring up a box to type a message in. 2) Leave the newsgroup box like it is, CHANGE the subject box to some- thing flashy, like, "NEED CASH $$$ READ HERE $$$" or "FAST CASH"!!! 3) Tab once and you should be ready to type. Now, retype (only once) THIS whole article WORD FOR WORD, except insert your name at #5, and remove #1 off the list, plus any other small changes you think you need to make. Keep almost all of it the SAME! 4) When you're done typing the WHOLE article, click on FILE in THIS BOX, RIGHT ABOVE SEND, NOT WHERE IT SAYS NETSCAPE NEWS ON THE FIRST BOX. Click on SAVE AS when you're under FILE. Save your article as a text file to your C: or A: drive. DO NOT SEND OR POST YOUR ARTICLE UNTIL YOU DO THIS. Once saved, move on to number 5 below. NOTE: If you don't want to type in the whole article by hand, AND you know how to use a plain text editor (like Notepad), you can edit the file ahead of time, then attach it as shown in step 6. 5) If you still have all of your text, send or post to this newsgroup now by just clicking send (right below FILE, and right above Cc:). 6) Here's where you're going to post all 200. OK, click on any news group then click on 'TO NEWS', again in the top left corner. Leave the NEWSGROUPS BOX alone again, put a flashy subject title in the SUBJECT BOX, hit TAB once and you're in the body of the message. Click on ATTACHMENTS, which is below the SUBJECT BOX. You will get another box to come up. Click on ATTACH FILE, then find YOUR file that you saved; click on the file, and then click 'OPEN' now click on OK; if you did this right, you should see your file name in the attachments box, and it will be shaded green. Note: If you don't want to type in the whole article and you know how to use a plain text editor (Notepad), you can edit the file ahead of time, then attach it. QUICK TIP! You can post this message to many newsgroups at a time by simply selecting a newsgroup near the top of the screen, hold down the SHIFT key, and then select a newsgroup near the bottom of the screen. All of the newsgroup in-between will also be selected. IF YOU USE IE EXPLORER... IT'S JUST AS EASY...HOLDING DOWN THE LEFT MOUSE BUTTON, highlight this article. then press the "crtl" key and the "c" key at the same time to copy this article. Then print this article for your records, to have the names of those you will be sending $1 bills to. 2) Go to the news groups and press "post an article". A window will open. Type in your headline in the subject area and then click in the large window below. Press "crtl" and then "v" and the article will be placed in the window. If you want to edit the article, do so and then highlight and copy it again. Now every time you post the article in a new newsgroup all you have to repeat is "ctrl" and "v" and press post. 3) That's it. Each time you do this, all you have to do is type in a different newsgroup, so that way, it posts to 200 DIFFERENT newsgroups, or more. You see? Now you just have 199 to go!! (Don't worry, each one takes about 30 seconds, once you get used to it.) REMEMBER 200 IS THE MINIMUM. 6-Oct-1997 21:42:08-GMT,1965;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA10709 for ; Mon, 6 Oct 1997 15:42:07 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 06 Oct 1997 14:08:24 EST From: Dan Schmidt Reply-To: LitProg@SHSU.edu, dfan@harmonixmusic.com Subject: Re: noweb: c/c++ prettyprinter -- dpp -- examples? Date: 6 Oct 1997 18:34:36 GMT Message-ID: <61bavs$15n$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu farich@vnet.net (Fred A Richard) writes: | I'd like some example noweb code that will work OK with the | prettyprinter filter dpp. The current version of dpp does not have | any examples, although the author mentions providing examples in the | "to do" list. | | My problem is that dpp "chokes" on the examples I've got -- including | the standard noweb examples like the "wc.nw" program from the '94 | _Software_ article by Ramsey. I suspect that dpp requires some | specific syntax, that is a subset of valid noweb code -- kind of like | noweb.el, the emacs noweb mode. Hi, I wrote dpp. It should not choke on anything. If it is having trouble with any legal noweb file, it's a bug. Please send the .nw file to me and I'll try it out. It would also be helpful if you could show how you're using dpp in the noweb pipeline, since it's possible that you're using it at the wrong stage. (dpp is available at ) -- Dan Schmidt -> dfan@harmonixmusic.com, dfan@alum.mit.edu Honest Bob & the http://www2.thecia.net/users/dfan/ Factory-to-Dealer Incentives -> http://www2.thecia.net/users/dfan/hbob/ Gamelan Galak Tika -> http://web.mit.edu/galak-tika/www/ 7-Oct-1997 22:01:05-GMT,1679;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id QAA16113 for ; Tue, 7 Oct 1997 16:01:02 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 07 Oct 1997 13:11:44 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: [ADMIN] Posting cut off for users of prodigy Date: 7 Oct 1997 17:05:16 GMT Message-ID: <61dq4c$dod$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu To posters from prodigy.net: Posts from any site in the prodigy.net domain are being dropped automatically because of abuses, specifically excessive advertising spams. We are not getting any help from postmaster or root, and until they will work with us the only recourse available is to cut messages because dealing with them manually is too much work. If you get news service from one of these sites, you will find yourself unable to post to comp.programming.literate unless you are already a regular contributor. If this policy will cause you hardship, send mail to litprog-admin@cs.virginia.edu and ask for special arrangements. The only people with a prayer of influence over rogue sites are their own customers. If you are a customer, I hope you will use whatever influence you may have with your provider to help straighten this out. You may also wish to consider giving your business to a more responsible provider. Norman Ramsey moderator, comp.programming.literate 7-Oct-1997 23:28:57-GMT,3611;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id RAA18175 for ; Tue, 7 Oct 1997 17:28:56 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 07 Oct 1997 12:37:55 EST From: Dan Schmidt Reply-To: LitProg@SHSU.edu, dfan@harmonixmusic.com Subject: dpp 0.2.1, a C/C++ prettyprinter for noweb Date: 7 Oct 1997 16:29:55 GMT Message-ID: <61do23$cab$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu I have released version 0.2.1 of dpp, a C/C++ prettyprinter for noweb. The purpose of dpp is to produce output effectively identical to that of CWEB. dpp can be found at . 0.2.1 is a bugfix release. Fixes include: - Don't think a chunk is used if its name is just being quoted. - Some constructs weren't being protected with braces properly. - Don't produce #line directives since it messes up sh. - Lowercase `true' and `false' are now keywords. In particular, the third item should fix the problems people were recently having in which sh was not handing off the script to perl correctly. Features still to be added include: - Multiline C-style (/*...*/) comments. - Comments on preprocessor lines are currently typeset verbatim. - Java support. - The ability to mark a chunk (and all of its descendants) as belonging to a given language, so you don't have to go into quoting fits on the command line with "-N". Please tell me about any problems you encounter; I try to fix bugs the day I hear about them. The usual propaganda follows, which you can ignore if you're already familiar with dpp. <>= Here are some of the features of dpp: - Keywords are typeset in bold, variables in italics, comments in roman, strings in typewriter. - Some punctuation is prettyprinted as well. - Keywords are definable by the user with the `@ %keyword' construct. - All instances of code quoting ([[...]]) are prettyprinted, including quotes inside comments and chunk names. - Comments are optionally fed straight to TeX, so that you use (for example) TeX's extensive math typesetting capabilities. - Indentation and line-breaking are not messed with. - dpp is written in Perl, which you may or may not consider an advantage. To use dpp, just provide the `-filter dpp' option to noweave. There are a few options: - `-tex' will send your comments to TeX rather than print them verbatim. It is off by default to avoid nasty surprises for people running their programs through dpp for the first time. - `-cw' compresses whitespace in the code. It compresses all whitespace not at the beginning of a line to one space, and expands whitespace between code and comments to four characters. Basically, it undoes hand-formatting that looks good when monospaced but bad in a proportional font. - `-N root' turns off prettyprinting for the chunk named root and all of its descendants. This way you can include a makefile or test data in your .nw file without having it printed like C code. @ -- Dan Schmidt -> dfan@harmonixmusic.com, dfan@alum.mit.edu Honest Bob & the http://www2.thecia.net/users/dfan/ Factory-to-Dealer Incentives -> http://www2.thecia.net/users/dfan/hbob/ Gamelan Galak Tika -> http://web.mit.edu/galak-tika/www/ 8-Oct-1997 0:00:47-GMT,3215;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id SAA18786 for ; Tue, 7 Oct 1997 18:00:46 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 07 Oct 1997 18:23:52 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Re: Multi-language nowebbing Date: 7 Oct 1997 22:50:48 GMT Message-ID: <61eec8$q0e$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu > David Bruce and I have been having a conversation > about handling multiple languages in noweb. (This happens more often > than you might think, for example if you embed a makefile in your > noweb source.) > > Here's some of our conversation, which I'd like to take public for > comments now. What do people think about the proptags idea? > > David wrote, referring to my prettyprinter, dpp: > | > | I have been thinking it would be nice to hack together a tool > | > | that allows mixed language noweb working, perhaps using > | > | declarations of the form > | > | > | > | @ %language java > | > | > | > | (or whatever) on (root) chunks. The tool could then switch to > | > | the appropriate pretty printer for each chunk. (The emacs mode > | > | is hairy!) I continue to fight @ %mumble, for all values of mumble. (If I knew then what I know now, @ %def would not exist.) I believe that a language-dependent processor should know how to recognize which root chunks are in that language. With suitable conventions, the names of the root chunks (*.c, *.h) are a dead giveaway. It may also be possible to identify language based on content alone, though maybe that's a pipe dream. Finally, you can take the easy way out and require an emacs-style comment to indicate the nature of the source language. This trick has the added advantage that it just might be possible to implement a true multi-language emacs mode (though my elisp skills aren't up to the task). What I *do* support is an extension to the noweb pipeline format, as documented in the Hacker's guide, so that no matter what the markup is in the source code (hopefully none), noweb tools like dpp can easily identify the language of each code chunk. In other words, > | The really cute way of implementing this kind of thing (I now > | realize) is to have one pre-filter that propagates [something] > | from the roots [or see below for a more general setup] to every > | chunk (more or less what dpp does with -N, but explicitly), so that > | subsequent stages can just read stuff in one chunk at a time without > | having to do a global analysis. I'd like to see two new classes of noweb filters: - To discover languages used in the root chunks. Ideally in many language-dependent versions, but a language-independent version could be made. - To propagate this information to every chunk. I hereby anoint @language for this purpose in the noweb pipeline representation. Norman 8-Oct-1997 0:17:03-GMT,4564;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id SAA19129 for ; Tue, 7 Oct 1997 18:17:02 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 07 Oct 1997 13:27:34 EST From: Dan Schmidt Reply-To: LitProg@SHSU.edu, dfan@harmonixmusic.com Subject: Multi-language nowebbing Date: 7 Oct 1997 18:07:49 GMT Message-ID: <61dtpl$g14$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu David Bruce and I have been having a conversation about handling multiple languages in noweb. (This happens more often than you might think, for example if you embed a makefile in your noweb source.) Here's some of our conversation, which I'd like to take public for comments now. What do people think about the proptags idea? David wrote, referring to my prettyprinter, dpp: | > | I have been thinking it would be nice to hack together a tool | > | that allows mixed language noweb working, perhaps using | > | declarations of the form | > | | > | @ %language java | > | | > | (or whatever) on (root) chunks. The tool could then switch to | > | the appropriate pretty printer for each chunk. (The emacs mode | > | is hairy!) | > | | > | This would clearly eliminate the need for an option like your -N | > | (default to no pretty print and/or allow ``%language none''). To which my response was: | > That's the solution! I really do think this is the way to go. As | > a general rule, in my opinion, as much information as possible | > should be in the noweb file itself, rather than out in some | > makefile. Plus it routs all those quoting problems. And his reply: | I'd second your general rule. Even if the makefile is *in* the noweb | file! | | > I think I'll move to that system for my next release. | | Glad you like it: keep me posted. Any idea what sort of timescale? :-) | | The really cute way of implementing this kind of thing (I now | realize) is to have one pre-filter that propagates the %language tag | from the roots [or see below for a more general setup] to every | chunk (more or less what dpp does with -N, but explicitly), so that | subsequent stages can just read stuff in one chunk at a time without | having to do a global analysis. | | So dpp++ could be two simpler programs: proptags and dpp (plus maybe | a third, droptags, a post-filter to excise all of the tags | (cf. %keyword in dpp)). I really like this idea. proptags could be very useful for other stages as well, such as finduses. | > I'll see if anyone on the newsgroup has anything to say about it, | > since it would be relevant for a few different tools. | | In that case, maybe the notion of %language can be generalized to | other kinds of tags/attributes. So, for example, annotations of the | form | | %tag stuff | | are left alone and not propagated anywhere, but | | %inherit tag stuff | | propagates ``%tag stuff'' down to any chunk used by the marked | chunk, and | | %synthesize tag stuff | | similarly propagates upwards to chunks that use the marked chunk. | [I've used (I think Knuth's) standard attribute grammar terminology; | something more intuitive might be clearer and hence preferable.] Both %tag and %inherit seem useful, but I'm not sure I see a use for %synthesize yet... At the very least, we need %inherit functionality. | [With this kind of setup, you might not have to check for | mismatches: if conflicting tags reach a chunk, the pretty printer | (or whatever) will see both tags (locally) and can simply say | ``can't do both X and Y!''.] | | The possibilities sound exciting. Best of all, even the most | general version doesn't sound too hard to do :-) Yup, dpp already does a significant subset of this (it basically does %inherit, but reads the %inherit tags from the command line instead of the dpp file). | (Since I've never really understood all the tricks/nuances of line | numbering in the noweb pipeline, I don't know if/how all this might | affect that.) I don't think that will be a problem. -- Dan Schmidt -> dfan@harmonixmusic.com, dfan@alum.mit.edu Honest Bob & the http://www2.thecia.net/users/dfan/ Factory-to-Dealer Incentives -> http://www2.thecia.net/users/dfan/hbob/ Gamelan Galak Tika -> http://web.mit.edu/galak-tika/www/ 8-Oct-1997 21:05:29-GMT,1328;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA16075 for ; Wed, 8 Oct 1997 15:05:27 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 08 Oct 1997 15:09:12 EST From: Drew Csillag Reply-To: LitProg@SHSU.edu, drew@staff.prodigy.com Subject: Re: LaTeX2e <1996/12/01> cannot compile cweb ! Date: 8 Oct 1997 19:39:05 GMT Message-ID: <61gngp$2pl$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu olpa wrote: > > Hi folks, > > I used to create a .tex file from a CWEB file. > When I do latex file.tex, I get these messages: > CWEB outputs a TeX file not a LaTeX file so running tex file.tex should do the trick -- ---------------------------------------------------------------------- Drew Csillag Replies to "drew" at "staff.prodigy.net" Prodigy Services Company http://pages.prodigy.net/drew Staff Programmer/Analyst ---------------------------------------------------------------------- 8-Oct-1997 22:48:30-GMT,2883;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id QAA18737 for ; Wed, 8 Oct 1997 16:48:29 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 08 Oct 1997 13:07:42 EST From: olpa Reply-To: LitProg@SHSU.edu, olpa@itm.uni-sb.de Subject: LaTeX2e <1996/12/01> cannot compile cweb ! Date: 8 Oct 1997 17:22:14 GMT Message-ID: <61gfg6$rc2$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Hi folks, I used to create a .tex file from a CWEB file. When I do latex file.tex, I get these messages: [olpa@newton Diplom]$ latex ge_module This is TeX, Version 3.14159 (C version 6.1) (ge_module.tex LaTeX2e <1996/12/01> patch level 1 Babel and hyphenation patterns for american, german, loaded. (/usr/lib/texmf/texmf/tex/latex/local/cweb/cwebmac.tex) (/usr/lib/texmf/texmf/tex/latex/local/cweb/cweb.cls Document Class: cweb 1995/11/30 v3.6 LaTeX markup for CWEB sources (/usr/lib/texmf/texmf/tex/latex/local/cweb/keyvald.sty) (/usr/lib/texmf/texmf/tex/latex/base/article.cls Document Class: article 1996/10/31 v1.3u Standard LaTeX document class (/usr/lib/texmf/texmf/tex/latex/base/size10.clo)) (/usr/lib/texmf/texmf/tex/latex/local/cweb/cwebbase.tex) LaTeX Warning: Command \end has changed. Check if current package is valid. ) (doc/angela.tex (/usr/lib/texmf/texmf/tex/latex/misc/geometry.sty (/usr/lib/texmf/texmf/tex/latex/graphics/keyval.sty)) (/usr/lib/texmf/texmf/tex/generic/babel/babel.sty (/usr/lib/texmf/texmf/tex/generic/babel/germanb.ldf (/usr/lib/texmf/texmf/tex/generic/babel/babel.def)) (/usr/lib/texmf/texmf/tex/generic/babel/english.ldf)) [...] Overfull \hbox (22.78969pt too wide) in paragraph at lines 40--66 [][] [2] *2 [3] [4] [5] [6] [7] Overfull \hbox (43.3812pt too wide) in paragraph at lines 466--471 [][][][]\OML/cmm/m/it/10 :[][][][][][][]:[][][][][]$ ) * LaTeX returns in command mode without exiting correctly. When I use an old version of LaTeX (1 year older), it works ! I presume the reason is the Warning message at the beginning of the LaTeX output. Can someone help me ? Thanks. [You can also answer by email, as I doesn't visit these groups regulary] --- --- oliver pabst |\ _,,,---,,_ computer science student ZZZzz /,`.-'`' -. ;-;;,_ mailto:olpa@itm.uni-sb.de ______|,4- ) )-,_. ,\ (____-'________ http://www.itm.uni-sb.de/~olpa '---''(_/--' `-'\_) Do a "finger olpa@picard.itm.uni-sb.de" for my PGP public key 9-Oct-1997 2:02:58-GMT,2494;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id UAA23453 for ; Wed, 8 Oct 1997 20:02:57 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 08 Oct 1997 19:04:07 EST From: farich@vnet.net (Fred A Richard) Reply-To: LitProg@SHSU.edu, farich@vnet.net Subject: "braces" conflict between dpp and definitions in noweb.sty. Date: Wed, 08 Oct 1997 23:43:35 GMT Message-ID: <343c1923.91819@news.vnet.net> To: LitProg@SHSU.edu Problem: "braces" conflict between dpp and definitions in noweb.sty. description: when noweb code is sent thru the dpp filter, the left and right curly braces are not printed correctly. Without the dpp filter, the "typewriter" font prints everything, including the curly braces, OK. detail: the last two lines of "noweb.sty" seem to be involved with the problem (see below). ------------------------------noweb.sty------------------------------------ [snip] % the above is bogus for {\LaTeX} -- the typewriter font doesn't have % the math symbol, and we wind up with a symbol font and a warning. % Not good. \def\nwlbrace{\char123} \def\nwrbrace{\char125} ----------------------------------------------------------------------------- If I comment these char assignments out and weave/dpp my noweb code again, then the printed TeX will have the curly braces printed OK. However, LaTeX does complain, something about redefining a symbol or something. It seems to me that TeX is in the wrong font mode when it sees \nwlbrace and \nwrbrace. This is because the characters I'm seeing printed are a dash (-) for char123 and a double quote (") for char125. My reference LaTeX book -- _A Guide to LaTeX 2e_, 2nd edititon -- has a table which shows that font "layout 4: cmtt10" is the only font layout where char123 and char125 are the correct character assignments for the left and right curly braces. Most of the other font layouts have char123 = dash (-) and char125 = double quote ("). solution: 1) just live with LaTeX complaining -- no harm ...? 2) noweb.sty or the dpp filter needs to be modified. -- Fred A. Richard Lincolnton,NC 28092-8238 farich@vnet.net "Our life is frittered away by detail. Simplicity, simplicity, simplicity!" Henry David Thoreau 14-Oct-1997 3:47:33-GMT,1508;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id VAA02507 for ; Mon, 13 Oct 1997 21:47:32 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 13 Oct 1997 15:29:32 EST From: Dominique Boucher Reply-To: LitProg@SHSU.edu, boucherd@raptor.IRO.UMontreal.CA Subject: javadoc-like tool for C++ Date: 9 Oct 1997 17:46:20 GMT Message-ID: <61j59c$c1m$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu Hi, the subject says it all. I'm looking for a 'javadoc'-like tool for C++. Any help would be greatly appreciated. Thanks in advance! --Dominique +---------------------------------------+----------------------+ | D o m i n i q u e B o u c h e r | //\\ | +---------------------------------------+ \\ | | Laboratoire de Traitement Parallèle | /\\ | | Dépt. d'Informatique et R. O. | // \\ | | Université de Montréal | // \\// | +---------------------------------------+----------------------+ | e-mail : boucherd@iro.umontreal.ca | | WWW : http://www.iro.umontreal.ca:/~boucherd/ | +--------------------------------------------------------------+ 14-Oct-1997 4:01:09-GMT,1697;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA02733 for ; Mon, 13 Oct 1997 22:01:07 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 13 Oct 1997 15:28:51 EST From: "Zachary Varbanov" Reply-To: LitProg@SHSU.edu, zacharyv@total.net Subject: Proposal for collaboration Message-ID: <01bcd4d9$f2c63900$c3a2cdcd@atcho> Date: 9 Oct 97 17:31:59 GMT To: LitProg@SHSU.edu Dear Madam, Dear Sir, The reason for this letter is your ad on the Net, concerning the programmer position. I understood that you need a person with certain professional experience to work for your organization. Hopefully I can be useful for you in another way, a little bit different then the usual one. But let me briefly present myself and my idea. My name is Zachary Varbanov, and I own a small communication company based in Montreal. Since a couple of years, I am a representative of a group of Bulgarian programmers, all with big experience, who propose their services to Occidental companies as BY DISTANCE WORKERS. They realize their projects' participation viaInternet. Our expectation is that the positive sites of this kind of work will be clear and attractive for someone in your business. If you are interested of this kind of collaboration, please feel free to contact me ASAP. With greatest respect Zachary Varbanov Montreal, Canada zacharyv@total.net http://www.infobahnos.com/~zacharyv/zack/ 14-Oct-1997 4:03:54-GMT,1764;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA02802 for ; Mon, 13 Oct 1997 22:03:53 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 13 Oct 1997 15:30:43 EST From: Paolo Ciccone Reply-To: LitProg@SHSU.edu, p-ciccone@USA.NET.REMOVETOREPLY Subject: Re: Linux, Noweb, No Nothing. Date: 13 Oct 1997 10:38:31 -0700 Message-ID: To: LitProg@SHSU.edu >>>>> "EB" == E Buxbaum writes: EB> This probably depends on the TeX system you use. I found EB> setting up emTeX under DOS extremly simple and straight EB> forward, just a question of following a few pages of (well EB> written) documentation. I totally second that. After years of use of emTeX (DOS, OS/2 and Win32) I find the system exemplar and incredibly high quality. Setting up a new machine is quite simple. The only complain I can have is that support of long filenames udner Win32 is not well documented but a quick inquire on the net gave a fast and simple solution to that problem. I had far more trouble with commercially "supported" software. Not to mention the high-quality, fun, documentation associated with TeX/LaTeX (The TeXBook, LaTeX and the excellent The LaTeX companion). Paolo -- The opinions expressed here are exclusively my own Remove the extra junk to my e-mail address to reply, sorry for the inconvenience, I get spammed a lot. 14-Oct-1997 4:26:13-GMT,1976;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA03195 for ; Mon, 13 Oct 1997 22:26:10 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 13 Oct 1997 15:30:26 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Re: "braces" conflict between dpp and definitions in noweb.sty. Date: 10 Oct 1997 15:49:00 GMT Message-ID: <61lipc$hth$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu > > It seems to me that TeX is in the wrong font mode when it sees > > \nwlbrace and \nwrbrace. This is because the characters I'm seeing > > printed are a dash (-) for char123 and a double quote (") for char125. > > My reference LaTeX book -- _A Guide to LaTeX 2e_, 2nd edititon -- has > > a table which shows that font "layout 4: cmtt10" is the only font > > layout where char123 and char125 are the correct character assignments > > for the left and right curly braces. Most of the other font layouts > > have char123 = dash (-) and char125 = double quote ("). > > > > > > solution: > > 1) just live with LaTeX complaining -- no harm ...? > > 2) noweb.sty or the dpp filter needs to be modified. > > This is a known problem; I believe that it is fixed in the latest version > of noweb (or will be fixed in the next release). It is not fixed and will never be fixed, because nobody has been able to come up with a solution. Or rather, it is fixed to the degree that noweave tries to emit \nwlbrace and \nwrbrace where it believes braces should appear. These are defined as \def\nwlbrace{\char123} \def\nwrbrace{\char125} in noweb.sty; people writing prettyprinting filters should be sure to redefine them. Norman 14-Oct-1997 4:26:41-GMT,2178;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA03214 for ; Mon, 13 Oct 1997 22:26:40 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 13 Oct 1997 15:28:06 EST From: M.van.Leeuwen@cwi.nl (Marc van Leeuwen) Reply-To: LitProg@SHSU.edu, M.van.Leeuwen@cwi.nl Subject: Re: LaTeX2e <1996/12/01> cannot compile cweb ! Date: 9 Oct 1997 07:10:57 GMT Message-ID: <61i021$nqq$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <61gngp$2pl$1@murdoch.acc.Virginia.EDU>, Drew Csillag wrote: |> Oliver Pabst wrote: |> > |> > I used to create a .tex file from a CWEB file. |> > When I do latex file.tex, I get these messages: |> > |> CWEB outputs a TeX file not a LaTeX file so running |> tex file.tex should do the trick Indeed normally CWEB assumes processing by TeX, but the format file cwebmac.tex kindly performs a test at the start to see if LaTeX might be loaded, in which case it refrains from loading the TeX-style macros; this allows for LaTeX style macros to be used instead. Indeed, from the first lines of the log given: [olpa@newton Diplom]$ latex ge_module This is TeX, Version 3.14159 (C version 6.1) (ge_module.tex LaTeX2e <1996/12/01> patch level 1 Babel and hyphenation patterns for american, german, loaded. (/usr/lib/texmf/texmf/tex/latex/local/cweb/cwebmac.tex) (/usr/lib/texmf/texmf/tex/latex/local/cweb/cweb.cls Document Class: cweb 1995/11/30 v3.6 LaTeX markup for CWEB sources it is clear that Oliver is using Joachim Schrod's cweb.cls LaTeX class for controlling the markup. So it should work (as it did with an older LaTeX), and it seems like there is a real problem; unfortunately I cannot provide any solution. Marc van Leeuwen | What has man wrought Universite de Poitiers, Mathematiques | for the year naughty-naught? http://wallis.univ-poitiers.fr/~maavl/ | '00-programming will get its revenge! 14-Oct-1997 4:42:47-GMT,2516;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA03511 for ; Mon, 13 Oct 1997 22:42:46 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 13 Oct 1997 15:28:15 EST From: farich@vnet.net (Fred A Richard) Subject: "braces" conflict between dpp and definitions in noweb.sty. Date: 9 Oct 1997 14:02:45 GMT Message-ID: <61io65$45n$1@murdoch.acc.Virginia.EDU> Reply-To: LitProg@SHSU.edu, LitProg@SHSU.edu, farich@vnet.net To: LitProg@SHSU.edu Problem: "braces" conflict between dpp and definitions in noweb.sty. description: when noweb code is sent thru the dpp filter, the left and right curly braces are not printed correctly. Without the dpp filter, the "typewriter" font prints everything, including the curly braces, OK. detail: the last two lines of "noweb.sty" seem to be involved with the problem (see below). ------------------------------noweb.sty------------------------------------ [snip] % the above is bogus for {\LaTeX} -- the typewriter font doesn't have % the math symbol, and we wind up with a symbol font and a warning. % Not good. \def\nwlbrace{\char123} \def\nwrbrace{\char125} ----------------------------------------------------------------------------- If I comment these char assignments out and weave/dpp my noweb code again, then the printed TeX will have the curly braces printed OK. However, LaTeX does complain, something about redefining a symbol or something. It seems to me that TeX is in the wrong font mode when it sees \nwlbrace and \nwrbrace. This is because the characters I'm seeing printed are a dash (-) for char123 and a double quote (") for char125. My reference LaTeX book -- _A Guide to LaTeX 2e_, 2nd edititon -- has a table which shows that font "layout 4: cmtt10" is the only font layout where char123 and char125 are the correct character assignments for the left and right curly braces. Most of the other font layouts have char123 = dash (-) and char125 = double quote ("). solution: 1) just live with LaTeX complaining -- no harm ...? 2) noweb.sty or the dpp filter needs to be modified. -- Fred A. Richard Lincolnton,NC 28092-8238 farich@vnet.net "Our life is frittered away by detail. Simplicity, simplicity, simplicity!" Henry David Thoreau 14-Oct-1997 4:42:57-GMT,2561;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA03519 for ; Mon, 13 Oct 1997 22:42:55 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 13 Oct 1997 15:30:37 EST From: schrod@puma.npc.de (Joachim Schrod) Subject: Problem with LaTeX <1996/12/01> and cweb.cls Date: 12 Oct 1997 23:52:49 GMT Message-ID: <61rnsh$5ti$1@murdoch.acc.Virginia.EDU> Reply-To: LitProg@SHSU.edu, jschrod@acm.org To: LitProg@SHSU.edu Hi, I have received several mails that there are problems in cweb.cls when it shall be used with LaTeX <1996/12/01>. That's because \end is redefined there and the reference definition is checked; but that LaTeX version changed the \end definition. Denis Roegel was so kind to provide me with a solution that I append to this post. I try to upload a new revision of cweb.cls that will work with old and new versions of LaTeX to CTAN as soon as possible. Cheers, Joachim ---------------- snip snap ---------------------------------------- From: "Denis B. Roegel" Subject: correction to cweb.cls Date: Fri, 3 Oct 1997 15:06:08 +0200 (MET DST) To: schrod@iti.informatik.th-darmstadt.de Joachim, I have found the problem with cweb.cls : there has apparently been a change in the definition of \end in LaTeX and a \global has been removed. Therefore, it is necessary to do the following change to cweb.cls : %%% \sect Let's make sure that the expansion of |\end| is the one that we %%% expect. Then we can define |\cweb@skip_end| appropriately, we have to %%% skip 5~tokens. %% DR: only 4 now %%% \beginprog \CheckCommand*\end[1]{% \csname end#1\endcsname\@checkend{#1}% \expandafter\endgroup\if@endpe\@doendpe\fi % 1 2 3 4 5 % \if@ignore\global\@ignorefalse\ignorespaces\fi} %% DR: \global removed \if@ignore\@ignorefalse\ignorespaces\fi} %\def\cweb@skip_end#1#2#3#4#5{\cweb@check_fi} % DR: #5 removed \def\cweb@skip_end#1#2#3#4{\cweb@check_fi} %%% \endprog It seems to work with these changes. ---------------- snip snap ---------------------------------------- -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Joachim Schrod Email: jschrod@acm.org Net & Publication Consultance GmbH Tel.: +49-6074-861530 Roedermark, Germany Fax: +49-6074-861531 14-Oct-1997 5:17:58-GMT,3730;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id XAA04191 for ; Mon, 13 Oct 1997 23:17:57 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 13 Oct 1997 15:29:46 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: "braces" conflict between dpp and definitions in noweb.sty. Date: 10 Oct 1997 14:56:10 GMT Message-ID: <61lfma$g25$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On Wed, 8 Oct 1997, Fred A Richard wrote: > Problem: "braces" conflict between dpp and definitions in noweb.sty. > > description: > when noweb code is sent thru the dpp filter, the left and right > curly braces are not printed correctly. Without the dpp filter, the > "typewriter" font prints everything, including the curly braces, OK. > > detail: > the last two lines of "noweb.sty" seem to be involved with the > problem (see below). > > ------------------------------noweb.sty------------------------------------ > [snip] > % the above is bogus for {\LaTeX} -- the typewriter font doesn't have > % the math symbol, and we wind up with a symbol font and a warning. > % Not good. > \def\nwlbrace{\char123} > \def\nwrbrace{\char125} > ----------------------------------------------------------------------------- > > If I comment these char assignments out and weave/dpp my noweb code > again, then the printed TeX will have the curly braces printed OK. > However, LaTeX does complain, something about redefining a symbol or > something. > > It seems to me that TeX is in the wrong font mode when it sees > \nwlbrace and \nwrbrace. This is because the characters I'm seeing > printed are a dash (-) for char123 and a double quote (") for char125. > My reference LaTeX book -- _A Guide to LaTeX 2e_, 2nd edititon -- has > a table which shows that font "layout 4: cmtt10" is the only font > layout where char123 and char125 are the correct character assignments > for the left and right curly braces. Most of the other font layouts > have char123 = dash (-) and char125 = double quote ("). > > > solution: > 1) just live with LaTeX complaining -- no harm ...? > 2) noweb.sty or the dpp filter needs to be modified. This is a known problem; I believe that it is fixed in the latest version of noweb (or will be fixed in the next release). I had the same problem with a Java prettyprinter (via Pretzel). A few minor hacks to the tex/latex back-end did the trick (changing the escape character tables to use \{ instead of \char123, etc.). I sent Norman the changes, and I believe (perhaps wrongly) that they were destined for general distribution. There was a minor problem in that \{ is not defined well for \tt fonts and you get the symbol font braces (and an ugly warning message from LaTeX), but as I recall, we were able to fix that as well. Norman will probably explain that I don't know what I'm talking about (not the first time :-). -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Computer Science Department | It is far better to be explicit and wrong Kean College of New Jersey | than to be vague. Union, NJ 07083 | | -- Frederick P. Brooks, Jr. leew@samson.kean.edu | "The Mythical Man-Month" (1995) ------------------------------------------------------------------------ 15-Oct-1997 0:30:44-GMT,2610;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id SAA00416 for ; Tue, 14 Oct 1997 18:30:43 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 14 Oct 1997 19:04:48 EST From: "Information" Reply-To: LitProg@SHSU.edu, information@ldesign.com Subject: FW: ONLINE TRAINING for Professional Developers: Advanced Windows, Internet and Objects Date: 14 Oct 1997 23:53:54 GMT Message-ID: <01bcd8ed$fc4ec240$0f00a8c0@tan.ldesign.com> To: LitProg@SHSU.edu Check out "OPUS3 ONLINE UNIVERSITY" - the newest ONLINE TRAINING SITE for C++, MFC, COM, ATL, DCOM, ActiveX, 32 bit Windows, ODBC and Java for serious development. Check our site http://www.ldesign.com for a totally unique offering that will save you tons of time. This site instantly trains you in over 150 red-hot development subjects. There are over 5,000 pages of well organized, concise material with 100s of hands-on, downloadable labs and 1,000s of detailed, up-to-date code examples. For instance, Advanced Java 1.1, a brand new module is now online!! Covers porting from Java 1.0 to 1.1, the new Java event model, JavaBeans in detail, JDBC including the ODBC bridge, Java persistency and distributed Java processing using RMI. Check it out! All this comes at an unbeatable price (as low as $49.- per month) - far less than books and CDs or regular classes - with terrific convenience. Available nowhere else, this is one unique opportunity to expand your horizons with the help of the most experienced, advanced developer training company in existence. It's also totally cool... see for yourself at http://www.ldesign.com! SPECIAL OPPORTUNITIES FOR OCTOBER (TO QUALIFY YOU MUST MENTION THIS MESSAGE): 10 PERSON LICENSE for the ONLINE TRAINING: 50% INTRODUCTORY DISCOUNT October 20 OPEN Performance C++ Course in Seattle 25% SPECIAL DISCOUNT October 27 OPEN ACTIVEX COURSE in Seattle (5 days): 25% SPECIAL DISCOUNT November 10 OPEN Performance Java (includes Java 1.1) 25% SPECIAL DISCOUNT December 8 OPEN ACTIVEX COURSE in Seattle (5 days): 25% SPECIAL DISCOUNT Call 1-800-355-9845 for details, send us an email mailto:information@ldesign.com or visit our site http://www.ldesign.com. Vicky and Maureen Your Friendly Training Reps mailto:information@ldesign.com http://www.ldesign.com 15-Oct-1997 0:36:44-GMT,2610;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id SAA00515 for ; Tue, 14 Oct 1997 18:36:42 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 14 Oct 1997 19:04:51 EST From: "Information" Reply-To: LitProg@SHSU.edu, information@ldesign.com Subject: FW: ONLINE TRAINING for Professional Developers: Advanced Windows, Internet and Objects Date: 14 Oct 1997 23:55:01 GMT Message-ID: <01bcd8ee$24599d00$0f00a8c0@tan.ldesign.com> To: LitProg@SHSU.edu Check out "OPUS3 ONLINE UNIVERSITY" - the newest ONLINE TRAINING SITE for C++, MFC, COM, ATL, DCOM, ActiveX, 32 bit Windows, ODBC and Java for serious development. Check our site http://www.ldesign.com for a totally unique offering that will save you tons of time. This site instantly trains you in over 150 red-hot development subjects. There are over 5,000 pages of well organized, concise material with 100s of hands-on, downloadable labs and 1,000s of detailed, up-to-date code examples. For instance, Advanced Java 1.1, a brand new module is now online!! Covers porting from Java 1.0 to 1.1, the new Java event model, JavaBeans in detail, JDBC including the ODBC bridge, Java persistency and distributed Java processing using RMI. Check it out! All this comes at an unbeatable price (as low as $49.- per month) - far less than books and CDs or regular classes - with terrific convenience. Available nowhere else, this is one unique opportunity to expand your horizons with the help of the most experienced, advanced developer training company in existence. It's also totally cool... see for yourself at http://www.ldesign.com! SPECIAL OPPORTUNITIES FOR OCTOBER (TO QUALIFY YOU MUST MENTION THIS MESSAGE): 10 PERSON LICENSE for the ONLINE TRAINING: 50% INTRODUCTORY DISCOUNT October 20 OPEN Performance C++ Course in Seattle 25% SPECIAL DISCOUNT October 27 OPEN ACTIVEX COURSE in Seattle (5 days): 25% SPECIAL DISCOUNT November 10 OPEN Performance Java (includes Java 1.1) 25% SPECIAL DISCOUNT December 8 OPEN ACTIVEX COURSE in Seattle (5 days): 25% SPECIAL DISCOUNT Call 1-800-355-9845 for details, send us an email mailto:information@ldesign.com or visit our site http://www.ldesign.com. Vicky and Maureen Your Friendly Training Reps mailto:information@ldesign.com http://www.ldesign.com 16-Oct-1997 6:47:46-GMT,2185;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id AAA18078 for ; Thu, 16 Oct 1997 00:47:44 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 16 Oct 1997 01:38:08 EST From: casetools@aol.com (CASETOOLS) Reply-To: LitProg@SHSU.edu, casetools@aol.com Subject: Try QuickCRC Free For OO Design Date: 16 Oct 1997 06:33:48 GMT Message-ID: <19971016063300.CAA29784@ladder02.news.aol.com> To: LitProg@SHSU.edu Excel Software is offering software developers a free trial version of its QuickCRC tool for object-oriented design. QuickCRC is available for Macintosh and Windows 95/NT. QuickCRC is a software design tool for discovering objects and related information for an object-oriented software development project. The tool automates the CRC card concept of identifying classes, responsibilities and collaborations between objects. Developers can start designing software within minutes with the intuitive capabilities of QuickCRC. QuickCRC uses a diagram workspace for creating card and scenario objects. A card represents the properties of a class including its name, description, superclasses, subclasses, attributes, responsibilities and collaborating objects. A scenario represents a design mechanism defined as a series of steps involving communicating objects. Scenarios can reference cards or other scenarios. QuickCRC provides active simulation of an evolving design. It automatically and transparently maintains relationships between cards and scenarios as design changes are made. QuickCRC models can be exported to the MacA&D or WinA&D software engineering tools for detailed design or code generation. Likewise, MacTranslator and WinTranslator can be used to automatically generate QuickCRC design models from existing C++, Object Pascal or Delphi code. See http://www.excelsoftware.com and follow the links to get your free trial version of QuickCRC today. 16-Oct-1997 6:49:24-GMT,976;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id AAA18106 for ; Thu, 16 Oct 1997 00:49:23 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 16 Oct 1997 01:38:06 EST From: casetools@aol.com (CASETOOLS) Reply-To: LitProg@SHSU.edu, casetools@aol.com Subject: Re: javadoc-like tool for C++ Date: 16 Oct 1997 06:33:14 GMT Message-ID: <19971016063300.CAA28759@ladder01.news.aol.com> To: LitProg@SHSU.edu D o m i n i q u e B o u c h e r writes >>>the subject says it all. I'm looking for a 'javadoc'-like tool for C++. Any help would be greatly appreciated. See http://www.excelsoftware.com for software engineering tools for modeling, generating C++ and reengineering C++ code to design. 18-Oct-1997 0:00:47-GMT,4175;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id SAA01855 for ; Fri, 17 Oct 1997 18:00:46 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from montana.nwlink.com by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 17 Oct 1997 18:49:48 EST Received: from default (ip123.m2.nwlink.com [209.20.133.123]) by montana.nwlink.com (8.8.5/8.8.5) with SMTP id QAA19445 for ; Fri, 17 Oct 1997 16:49:15 -0700 (PDT) From: "Julie Hesseltine" Reply-To: LitProg@SHSU.edu, julhes@nwlink.com To: Subject: aptitude tests Date: Fri, 17 Oct 1997 16:48:28 -0700 Message-ID: <01bcdb57$2b264fa0$7b8514d1@default> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0004_01BCDB1C.7EC777A0" This is a multi-part message in MIME format. ------=_NextPart_000_0004_01BCDB1C.7EC777A0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi. Did you receive any response to the email listed below? If so, could = you direct me to any information? Thanks. -Julie Hesseltine Programming Aptitude Tests Some companies(such as Symitar in San Diego) administer programming = and/or logic tests as a pre-condition of employment. These tests typically test applicants knowledge of concepts, such as BASE 2,4,8,10,16; they also = test applicants ability to pseudo-code logic loops, such as sort routines, = and handling linked lists. They also test people's ability to logically = follow several complex tests without getting lost. Can anyone tell me if there exists any test-related documents or resource areas anywhere on the WWW,=20 FTP sites, Newsgroups,or anywhere on the Internet? I would appreciate = any=20 and all help, including addresses, hints, starting points, etc. Thanks much. robertj260@aol.com ------=_NextPart_000_0004_01BCDB1C.7EC777A0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi.
 
Did you receive any response to the = email listed=20 below?  If so, could you direct me to any information? =20 Thanks.
 
-Julie Hesseltine
 
 
        Programming Aptitude Tests

Some companies(such as Symitar in San Diego) administer programming =
and/or
logic tests as a pre-condition of employment. These tests typically test
applicants knowledge of concepts, such as BASE 2,4,8,10,16; they also =
test
applicants ability to pseudo-code logic loops, such as sort routines, =
and
handling linked lists. They also test people's ability to logically =
follow
several complex tests without getting lost. Can anyone tell me if there
exists
any test-related documents or resource areas anywhere on the WWW,=20
FTP sites, Newsgroups,or anywhere on the Internet? I would appreciate =
any=20
and all help, including addresses, hints, starting points, etc. Thanks
much.

robertj260@aol.com
------=_NextPart_000_0004_01BCDB1C.7EC777A0-- 18-Oct-1997 4:27:23-GMT,1156;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA06705 for ; Fri, 17 Oct 1997 22:27:22 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 17 Oct 1997 23:18:23 EST Message-ID: <3448366C.F3764CD3@ibm.net> Date: Sat, 18 Oct 1997 00:09:18 -0400 From: Peter Szwedyk Reply-To: LitProg@SHSU.edu, szwedyk@ibm.net MIME-Version: 1.0 Subject: Algorithm for reading sorted files in sync Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Hello all, Does any one have or know of already written algorithm for reading and processing multiple (three in my case) files in sync sorted by a common key? I know it shouldn't be that tough but I'm swamped with work and having a blue print would be a big help. Any suggestions or pointers would be greatly appreciated. Please email me at: szwedyk@ibm.net Thanks. Peter 18-Oct-1997 5:19:18-GMT,2194;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id XAA07605 for ; Fri, 17 Oct 1997 23:19:17 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 18 Oct 1997 00:01:21 EST From: jdc@access2.digex.net (John Cochran) Reply-To: LitProg@SHSU.edu, jdc@access2.digex.net Subject: Re: Algorithm for reading sorted files in sync Date: 18 Oct 1997 00:55:13 -0400 Message-ID: <629ffh$dim@access2.digex.net> To: LitProg@SHSU.edu In article <3448366C.F3764CD3@ibm.net>, Peter Szwedyk wrote: >Hello all, > >Does any one have or know of already written algorithm for reading and >processing multiple (three in my case) files in sync sorted by a common >key? > >I know it shouldn't be that tough but I'm swamped with work and having a >blue print would be a big help. > >Any suggestions or pointers would be greatly appreciated. Please email >me at: szwedyk@ibm.net >Thanks. > >Peter > pseudo code follows: I will use file[n] to represent each file. n will range from 1 to the number of active files. I will use buffer[n] to represent a buffer used to hold 1 record from file[n]. I will use eof[n] to indicate that there is no more data available from file[n] and that buffer[n] doesn't contain a valid record. I will use key[n] to indicate the key that you've sorted by for buffer[n] Open all files. For every file[n], read 1st record into buffer[n]. Set eof[n] as required. While there exists at least 1 file that isn't eof Select buffer[x] where eof[x] is false and key[x] is smallest key for all non eof buffers. Process record in buffer[x] Read file[x] into buffer[x] setting eof[x] as required End While close all files. You can optimize the above method several ways. A common method is to replace buffer[n] with a priority queue based on the key. However, if you're I/O bound and you don't have many buffers, then a sequential search is fast enough. Hope this helps, John Cochran 20-Oct-1997 11:58:21-GMT,3985;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id FAA02759 for ; Mon, 20 Oct 1997 05:58:20 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from mail.eunet.ch by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 20 Oct 1997 06:28:06 EST Received: from igate.ska.com (firewall-user@igate.ska.com [198.240.202.195]) by mail.eunet.ch (8.8.6/1.34) via ESMTP id LAA21864 for ; Mon, 20 Oct 1997 11:27:01 GMT env-from (barry.gaunt@ska.com) Received: (from uucp@localhost) by igate.ska.com (8.7.3/8.6.11) id MAA14976 for ; Mon, 20 Oct 1997 12:24:53 +0100 (MET) Received: from mx2.ska.com(198.240.223.100) by igate.ska.com via smap (g3.0.3) id xma014792; Mon, 20 Oct 97 12:24:25 +0100 Received: from gmszrh1.itzrh.ska.com (gmszrh1.itzrh.ska.com [159.122.217.90]) by mx2.ska.com (8.7.5+phmap1.4+pmdfhack1.0/8.7.3/MX1-02-APR-96) with ESMTP id MAA25274 for ; Mon, 20 Oct 1997 12:26:31 +0100 (MET) Received: from PC85149 (pc85149.tplzrh.ska.com [159.122.85.209]) by gmszrh1.itzrh.ska.com (8.7.5+phmap-1.3/8.7.3) with SMTP id NAA01888; Mon, 20 Oct 1997 13:25:20 +0200 (MET DST) Message-ID: <344B4EB0.459B@ska.com> Date: Mon, 20 Oct 1997 13:29:36 +0000 From: Barry Gaunt Reply-To: LitProg@SHSU.edu, barry.gaunt@csfb.com MIME-Version: 1.0 To: LitProg@SHSU.edu Subject: Re: Cweb-sty-1.1.1 and TeTeX problem References: <335B8B07.4CF3@ska.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, I guess that the recent mail from Joachim Schrod: "Problem with LaTex <1996/12/01> and cweb.cls" clears this one away too... Along time ago (21st April 1997) Barry Gaunt wrote: > > Hello, > I have just installed TeTeX and re-installed CWEB 3.4. I have rebuilt > common, cweave, ctangle successfully, and can obtain new documentation > using tex. > I have also re-installed CWEB-STY-1.1.1 but now when I try to > latex the word count example I get the following: > > # cweave wcltx > This is CWEAVE (Version 3.4) > *1 > Writing the output file...*1 > Writing the index... > Done. > (No errors were found.) > # latex wcltx > This is TeX, Version 3.14159 (C version 6.1) > (wcltx.tex > LaTeX2e <1996/12/01> patch level 1 > Babel and hyphenation patterns for american, german, loaded. > (/usr/local/teTeX/texmf/cweb/cwebmac.tex) > (/usr/local/teTeX/texmf/tex/latex/cweb/cweb.cls > Document Class: cweb 1995/11/30 v3.6 LaTeX markup for CWEB sources > (/usr/local/teTeX/texmf/tex/latex/cweb/keyvald.sty) > (/usr/local/teTeX/texmf/tex/latex/base/article.cls > Document Class: article 1996/10/31 v1.3u Standard LaTeX document class > (/usr/local/teTeX/texmf/tex/latex/base/size10.clo)) > (/usr/local/teTeX/texmf/tex/latex/cweb/cwebbase.tex > (/usr/local/teTeX/texmf/tex/latex/base/omscmr.fd)) > > LaTeX Warning: Command \end has changed. <=====================!!!!! > Check if current package is valid. > > ) (rcs.sty) (wcltx.aux) *1 [1] [2] [3] [4] [5] (wcltx.bbl [6]) > Runaway argument? > ! Paragraph ended before \cweb@skip_end was complete. > > \par > l.390 > > ? r > OK, entering \nonstopmode... > ! Undefined control sequence. > l.410 \inx > > ! Undefined control sequence. > l.411 \fin > > ! Undefined control sequence. > l.412 \con > > ) > ! Emergency stop. > <*> wcltx > > Output written on wcltx.dvi (6 pages, 19612 bytes). > Transcript written on wcltx.log. > # > > Does anyone have an idea what's up here? > I'm on Solaris 2.4. > > Thanks in advance, > -- Barry I have made the changes to proposed changes to cweb.cls and the example wcltx can now be processed. Thanks (it was worth waiting for) -- Barry 20-Oct-1997 12:10:10-GMT,1302;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id GAA02983 for ; Mon, 20 Oct 1997 06:10:09 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 20 Oct 1997 06:50:10 EST From: Loris Bennett Reply-To: LitProg@SHSU.edu, loris@ferro.physik.TU-Berlin.DE Subject: Noweb.el with auctex Date: 20 Oct 1997 11:26:22 GMT Message-ID: <62ff4u$eeb$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Sorry to ask the same question twice, but I went on holiday, forgot what the answer was and couldn't find it when I got back: When using Tortsen Ohl's noweb mode for emacs, how do I stop AUCTEX asking for the name of the master file whenever I move the cursor from a code chunk to a document chunk? Thanks Loris Bennett Tel.: (+49) 30 314 23762 loris@ferro.physik.tu-berlin.de http://wwwitp.physik.TU-Berlin.DE:80/~loris/ TU Berlin, PN7-1, Hardenbergstr. 36, 10632 Berlin, FRG 20-Oct-1997 22:41:10-GMT,3607;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id QAA18500 for ; Mon, 20 Oct 1997 16:41:08 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from internetmedia.com by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 20 Oct 1997 17:07:18 EST Received: from localhost (object@localhost) by internetmedia.com (8.8.6/8.7.3) with SMTP id SAA23727; Mon, 20 Oct 1997 18:01:54 -0400 (EDT) Date: Mon, 20 Oct 1997 18:01:54 -0400 (EDT) From: ObjectSpace Received: by ns.internetmedia.com (bulk_mailer v1.5); Mon, 20 Oct 1997 13:44:34 -0400 To: object@internetmedia.com Reply-To: LitProg@SHSU.edu, object@internetmedia.com Subject: ObjectSpace C++ Component News Message-ID: 1 New Features Released in Version 2.1 2 Standards FREE at: http://www.objectspace.com 3 Discount Pricing Now Available 1 New Features Released in Version 2.1 First quarter 1998, ObjectSpace will release Version 2.1 of its C++ Component Series. This significant release contains an enhanced Thread package that includes the features listed below. - A thread group abstraction that allows you to group threads and then control them as a single entity. - A thread pool abstraction that provides thread creation and task-queuing capabilities. - A futures abstraction that represents and synchronizes access to the future result of an asynchronous operation. - A condition variable abstraction that allows testing and synchronization of an arbitrary condition under the control of a mutex. 2 Standards FREE at www.objectspace.com To continue promoting industry standards, ObjectSpace provides Standards, which consists of both the Standard Template Library (STL) and the string class library, to you at no charge. Download Standards today! 3 Discount Pricing Now Available To be eligible for 15% off the following products, reply to this e-mail by October 31, 1997. STL, the original cross-platform toolkit product, consists of the complete Standards and Foundations (Thread, Helper, and Time&Date). The original price is $395 per copy for PC and UNIX platforms. Annual technical support is $295 per license. Systems is the solution for multithreaded, distributed development. It comes complete with STL, Communications (Streaming and Network), and the UNIX Platform. The original price is $895 per copy for PC platforms and $995 per copy for UNIX platforms. Annual technical support is $495 per license. To receive a Technical Overview or an evaluation software copy, contact us at info@objectspace.com or 972.726.4100. We look forward to hearing from you. Regards, Stephen Andrews Sales Manager http://www.objectspace.com ------------------------------------------------------------------------------ ObjectSpace respects your online time and Internet Privacy. This is a one-time only solicitation. Your address will be removed from our files. However, if you wish to receive additional information you may visit our website as mentioned above or simply reply and type subscribe in the subject line or body of the message. Thank you! ------------------------------------------------------------------------------ 21-Oct-1997 2:27:50-GMT,1459;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id UAA23253 for ; Mon, 20 Oct 1997 20:27:49 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 20 Oct 1997 21:09:51 EST From: Sylvester Fernandez Subject: noweb on NT 4.0 Date: 21 Oct 1997 01:50:53 GMT Message-ID: <62h1pt$aln$1@news.interlog.com> Reply-To: LitProg@SHSU.edu, sylvester.j.fernandez@lmco.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu I am running into problems finding a version of noweb that will run under NT 4.0. I downloaded Philip Miller's port of noweb 2.7 for DOS, but ran into problems using the version of icon (and DOS Extender) that it used. I was then able to locate Clint Jeffery's version of icon for NT, which apparently does not have the DOS extender problem, but Miller's version of totex does not use Jeffery's version of icon. And I can't find the source for totex, and Philip Miller is no longer at the email address that was published... So. Does anyone know how to get around this problem, or if there is another version of noweb that runs on NT 4.0? Thanks. Sylvester Fernandez 21-Oct-1997 2:34:42-GMT,1109;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id UAA23389 for ; Mon, 20 Oct 1997 20:34:38 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 20 Oct 1997 21:09:54 EST From: Diego Zamboni Reply-To: LitProg@SHSU.edu, zamboni@cs.purdue.edu Subject: Re: Noweb.el with auctex Date: 21 Oct 1997 01:51:22 GMT Message-ID: <62h1qq$auq$1@news.interlog.com> To: LitProg@SHSU.edu Loris Bennett writes: > When using Tortsen Ohl's noweb mode for emacs, how do I stop > AUCTEX asking for the name of the master file > whenever I move the cursor from a code chunk to a document chunk? I don't know if there's a noweb-mode way of doing it, but if you do: (setq-default TeX-master t) AUCTeX will assume the current document is the master, and stop asking the question. --Diego 21-Oct-1997 14:23:41-GMT,2367;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id IAA06632 for ; Tue, 21 Oct 1997 08:23:40 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 21 Oct 1997 08:46:32 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: noweb on NT 4.0 Date: 21 Oct 1997 13:28:49 GMT Message-ID: <62iamh$3ob$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On 21 Oct 1997, Sylvester Fernandez wrote: > I am running into problems finding a version of noweb that will run > under NT 4.0. > > I downloaded Philip Miller's port of noweb 2.7 for DOS, but ran into > problems using the version of icon (and DOS Extender) that it used. I > was then able to locate Clint Jeffery's version of icon for NT, which > apparently does not have the DOS extender problem, but Miller's version > of totex does not use Jeffery's version of icon. And I can't find the > source for totex, and Philip Miller is no longer at the email address > that was published... So. > > Does anyone know how to get around this problem, or if there is another > version of noweb that runs on NT 4.0? You might want to try a win95 port I did a few years back, using the Cygnus GNU utilities. The alpha version (I never got around to making another, but I never got any complaints either) is available at ftp://samson.kean.edu/pub/leew/noweb/noweb2.7d-win32-alpha.zip My plans to bring this up to date, using the latest noweb and Cygnus releases is on hold, awaiting work on the noweb Lua port. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | O God, send me a plan, just one little Computer Science Department | idea, I don't want You to do a miracle, Kean University | I'll do all the work if only You'll give Union, NJ 07083 | me an idea. | -- Manning Coles leew@samson.kean.edu | "Drink to Yesterday" (1940) ------------------------------------------------------------------------ 21-Oct-1997 21:08:49-GMT,1560;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA16946 for ; Tue, 21 Oct 1997 15:08:47 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 21 Oct 1997 15:28:14 EST From: Diego Zamboni Reply-To: LitProg@SHSU.edu, zamboni@cs.purdue.edu Subject: Syntax highlighting with noweb-mode? Date: 21 Oct 1997 20:20:33 GMT Message-ID: <62j2qh$m9c$1@elna.ethz.ch> To: LitProg@SHSU.edu Hi, I use xemacs (19.15) and noweb-mode to write noweb files. I really like the way it switches between modes for code chunks and documentation chunks. However, one thing I miss is the ability of properly do syntax highlighting, because font-lock-mode gets all confused, depending on what type of chunk you are in when the buffer is fontified, and fontifies all of it (including the other type of chunks) according to the same rules. So I have been disabling font-lock-mode when I use noweb-mode. I tried enabling stealth fontification, which automatically fontifies when you have been idle for some time, but it gets really slow, even on my Ultra 1. So my question is: is there a way to integrate noweb-mode with font-lock so that fontification is done correctly according to the chunk type? I am no emacs wizard, so any help will be greatly appreciated. Thanks, --Diego 22-Oct-1997 3:05:14-GMT,6447;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id VAA24522 for ; Tue, 21 Oct 1997 21:05:13 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 21 Oct 1997 21:51:42 EST From: Anthony Towns Reply-To: LitProg@SHSU.edu, aj@azure.humbug.org.au Subject: Some comments Date: 22 Oct 1997 02:43:28 GMT Message-ID: <62jp8g$d0a$1@news.interlog.com> To: LitProg@SHSU.edu Hello world, Well, I finally took the plunge and wrote a program literately. I'm not sure how valid the experience was, because it was more a case of rewriting my original C code into literate C code, but it's a start, nonetheless. I thought I'd post some of the ways I ended up doing things for comment. (are people willing to review short literate programs on this newsgroup, btw? What would constitute "short"?) I broke my program up into a number of sections: Motivation, Usage, Program Decomposition, then one section for each of my three main functions, and a final section for main(). This seemed reasonable to me, although I'm not sure whether having main() at the end was a sensible decision or one that just fell out of the way my original program was written. It mainly consisted of argument parsing, rather than interesting work, though, so it doesn't seem entirely unreasonable. My Motivation and Usage sections were very simple: the usage wasn't very complicated and my real motivation was that it was an assignment. The Program Decomposition section gave the standard C program format, briefly explanated where the three functions came from, and introduced my rgrep_opts structure which I used instead of global variables to keep the user's options available everywhere. It also included the stdio, stdlib, string and assert header file because I couldn't think of anywhere more appropriate to put them. My remaining sections ended up being basically in the following form: \section{ Title -- [[function]] } [[function]] has this purpose in life. [[function]] will therefore need these arguments. <>= int function(int a, int b, int c); @ %def function Which is more or less all the "user" should need to know about it. I then followed on directly to the "pseudo code" of the function itself. I couldn't think of any nice way of leading in to this -- actually my prose was somewhat lacking all the way through, IMO. <<[[function]]>>= int function(int a, int b, int c) { <> int result; <> <> <> while ( <> ) { <> } <> return result; } I left "result" outside of <> in a few cases, because I thought it looked really eerie magically returning an "undeclared" variable at the end of the function. It may have been a better move to move "return result;" into a chunk itself, though. I ended up with one place where I wanted to use "break" from a different chunk to that where the loop itself was declared. I named that chunk along the lines of <>, which seemed ugly. I'm guessing that litprog just tends to become _really_ painful if you don't follow recommended practices all the way, through. So much for my litprog entry in the IOCCC, I guess. Anyway. Next I had a fairly brief explanation of what the preconditions were, and some code to actually validate them: basically a couple of lines of assert's about NULL pointers (the program output to stderr for most errors, so there wasn't much left). Following this, I then had subsections for each conceptual part of my function, for example my "grep_file( char* name, rgrep_opts* opts )" function has the following subsections: File manipulation <> <> <> <> <> (IOW, should we call fgets again?) Line storage <> <> <> (followed by the declaration of a special purpose routine, double_buffer(), which I used to fill out...) <> Line manipulation <> <> <> Which also shows my chunk naming convention: statement blocks are represented by imperitives like <> (I took the attitude that a chunk is a sequence of statements, rather than one, and had the { } around chunks where necessary, which goes against Knuth's recommendation in the "Mathematical Writing" section of _Literate Programming_, but IMO reads a lot better, at least in C); and conditionals are represented by assertions like <>. For conditionals where the side effect was what was important, (like the clause in: while( *(dest++) = *(src)++ ) ; I used phrases like <>: an explicit "we've done this" phrased in the form of an assertion. That didn't seem to read very well to me, but breaking it up seemed worse. Possibly the terser aspects of C and litprog just don't mix very well. Interestingly, I ended up with only three comments in the final program itself, two of which should probably have been in the documentation itself, and the other was documenting what was probably a poorly named variable. My "code" expanded from about six commented, untypeset A4 pages to twenty literate, typeset A4 pages. The C source itself wasn't significantly different, except for the change in the number of comments. All of which basically outlines my first experiences. Your comments and criticisms would be appreciated. Cheers, aj -- Anthony Towns I don't speak for anyone save myself. PGP encrypted mail preferred. ``Do. Not. Taunt. The. Happy. Fun. Novak. It will get gruesome, quickly.'' -- John Dilick, rasfwr-j 22-Oct-1997 22:40:01-GMT,1532;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id QAA19552 for ; Wed, 22 Oct 1997 16:40:00 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 22 Oct 1997 11:36:10 EST From: Ernesto Rico-Schmidt Subject: Re: Noweb.el with auctex Date: 22 Oct 1997 15:55:17 GMT Message-ID: <62l7l5$oa9$1@murdoch.acc.Virginia.EDU> Reply-To: LitProg@SHSU.edu, Ernesto Rico-Schmidt MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit To: LitProg@SHSU.edu >>>>> "Loris" == Loris Bennett writes: Loris> When using Tortsen Ohl's noweb mode for emacs, how do I stop Loris> AUCTEX asking for the name of the master file whenever I move the Loris> cursor from a code chunk to a document chunk? You must set the `TeX-master' variable, that means you should have something like this at the end of your noweb file: % Local Variables: % TeX-master: t % End: Hope this helps. Ernesto. -- Ernesto Rico-Schmidt Words are only painted fire mailto:nene@sbox.tu-graz.ac.at A look is the fire itself. http://www.sbox.tu-graz.ac.at/home/nene --- Mark Twain 23-Oct-1997 4:55:26-GMT,3185;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA26752 for ; Wed, 22 Oct 1997 22:55:25 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 22 Oct 1997 23:44:29 EST From: ptjm@interlog.com (Patrick TJ McPhee) Reply-To: LitProg@SHSU.edu, ptjm@interlog.com Subject: Re: Some comments Date: 23 Oct 1997 04:15:39 GMT Message-ID: <62mj1b$mkt$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <62jp8g$d0a$1@news.interlog.com>, Anthony Towns wrote: [...] % This seemed reasonable to me, although I'm not sure whether having % main() at the end was a sensible decision or one that just fell out of % the way my original program was written. It mainly consisted of % argument parsing, rather than interesting work, though, so it doesn't % seem entirely unreasonable. This is a common C coding style that irritates me (when used in C programs). On the other hand, if you provide an overview of the program at the start (in a literate program), I think it's a good idea to shuffle the programming of the framework off to the end. % <>= % int function(int a, int b, int c); % @ %def function it may make long-term maintenance easier if you have <>= int function(int a, int b, int c) @ <<[[function]>>= <> { ... } <>= <>; @ This is because it's easy to change just the prototype or just the definition and forget about the other. % For conditionals where the side effect was what was important, (like % the clause in: % % while( *(dest++) = *(src)++ ) ; % % I used phrases like <>: an explicit "we've done this" phrased in the form of an % assertion. That didn't seem to read very well to me, but breaking it % up seemed worse. Possibly the terser aspects of C and litprog just % don't mix very well. Try to avoid describing what the code is doing at the nuts and bolts level. Chunk names and text descriptions should tell what the programmer (who was an idiot) was trying to do, so that the maintainer (who is always older and wiser) can fix the problems, or enhance without breaking. In this case, I would us a chunk like this: strcpy(dest, src); I'm taking advantage of a special feature of the C library to avoid using a chunk name, while improving the clarity and performance of the code fragment. (Seriously, on some architectures, depending on the length of your strings, using strcpy in place of the sort of while loop you have there can be hundreds of times faster). % Your comments and criticisms would be appreciated. What you've said seems fine to me. Try developing a program from scratch and don't skimp on the text description, and see whether it changes the way you write the C code. Best wishes. -- Patrick TJ McPhee East York Canada ptjm@interlog.com 24-Oct-1997 6:42:51-GMT,4276;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id AAA28884 for ; Fri, 24 Oct 1997 00:42:49 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 24 Oct 1997 01:11:32 EST From: Reply-To: LitProg@SHSU.edu, ImadH@ecstec.com Subject: Top Search Engine Listing Guide Date: 24 Oct 1997 06:04:33 GMT Message-ID: <62pdph$sg9$8131@client3.news.psi.net> To: LitProg@SHSU.edu Date: 10/23/97 From:sales@ecstec.com To: "All web page owners" To whom it may concern, DISCOVER The Most Powerful & PROVEN Strategies that Really Work To Place You At The Top of the Search Engines! If you have a web page, or site, that can't be found at the top of the search engines then this will be the most important information you will ever read. You are about to Discover the most Powerful Strategies used only by the very best on the Web... Strategies so Powerful that once used will place your Web Page or site at the TOP 10 - 20 search engine listings. These TOP SECRET strategies will provide you with a cutting edge advantage over your competition and give you the long awaited results you have been looking for. Just Imagine, opening a Floodgate of People into your Home Page because you have the right information. It doesn't matter if you have one page or 1000 pages you can achieve a top rating with this powerful information and soon squash your competitors! Here is what you'll receive! This in-depth report covers: The best kept secret to getting you a top 10 - 20 listing! The 10 top keywords searched for! How to get people to go to your site first even if they see your competition! The most powerful words used to create the best Web Pages! A Web tool used to market successfully in the Newsgroups! Also, you'll get over 250 Money Making Reports written by pros. with Complete Reprint & Resell Rights!!! That's right!!!... You'll have a complete Reprint & Resell Rights of over 250 money making reports so you too can earn BIG Money ! I'll even show you how to market these reports using our secret Search Engine information! Think about it. Not only am I going to reveal the best information you will probably ever lay your eyes on... I'm going to let you market it as well! This in-depth report, is normally US$59.95... However, if you order right now... I'll include ABSOLUTELY FREE... OVER 1000 Links to Search Engines and Directories and over 220 International ones where you can advertise your web site and let you have it all for JUST US$29.95! This INVALUABLE information alone is worth the asking price, and YES!... you'll have complete reprint and resell rights to over 250 Money Making Reports!!! (a suggested value of at least $15.00 each.) If you only sell 1 report a day @ $15 would you be disappointed? Do you think 5, 10 or 20 a day is possible?...YOU BET IT IS! I won't even discuss 100 a day or more @ $15 each! Don't delay...this Extraordinary and Valuable Information can be yours today for ONLY $29.95 (US FUNDS). Why Wait...Order Right Now! Order Form Below - Fax Orders to (704)483-9977 or Use our (Secure) online order form at: https://www.ecstec.com/orders/sesecretsorders/orderpage.htm Your Order will be E-mailed within 48hrs Name _____________________________________________________ (Required) E-mail Address ______________________________________________ (Required) Address ___________________________________________________ (Required) City _____________________________ State ______ Zip__________ (Required) Phone# ___________________________________________________ (Optional) Credit Cards (Visa, Mastercard, Discover, AMEX) #_________________________________________ Exp. ___________ (Required if using Credit Card) Name as Shown on Credit Card _____________________________________________________ (Required if using Credit Card Mail-ins ( ) Check - allow 3 weeks for e-mail ( ) Money Order - 48hrs for order e-mailed Search Engines Department P. O. Box 465 Denver, NC 28037 Email: imadh@ecstec.com 24-Oct-1997 10:47:11-GMT,1732;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id EAA03280 for ; Fri, 24 Oct 1997 04:47:10 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 24 Oct 1997 05:35:18 EST From: M.J.Rooney@wbmt.tudelft.nl (Marco Rooney) Reply-To: LitProg@SHSU.edu, M.J.Rooney@wbmt.tudelft.nl Subject: Re: Some comments Date: Fri, 24 Oct 1997 19:24:53 GMT Message-ID: <3450f4cb.1275358@news.tudelft.nl> To: LitProg@SHSU.edu ptjm@interlog.com (Patrick TJ McPhee) wrote: >In article <62jp8g$d0a$1@news.interlog.com>, >Anthony Towns wrote: [...] >This is a common C coding style that irritates me (when used in C >programs). On the other hand, if you provide an overview of the program >at the start (in a literate program), I think it's a good idea to >shuffle the programming of the framework off to the end. [...] >What you've said seems fine to me. Try developing a program from >scratch and don't skimp on the text description, and see whether it >changes the way you write the C code. > >Best wishes. >-- > >Patrick TJ McPhee >East York Canada >ptjm@interlog.com You might want to read this book: Weaving a program; literate programming in WEB Sewell, Wayne Van Nostrand Reinhold, New York, 1989 ISBN 0-442-31946-0 It really _explaines_ how to write a literate programm. It's like a tutorial really. You'll enjoy it. Marco Rooney. --------------------------- Marco Rooney M.J.Rooney@wbmt.tudelft.nl --------------------------- 24-Oct-1997 18:35:31-GMT,1580;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA17341 for ; Fri, 24 Oct 1997 12:35:26 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 24 Oct 1997 13:09:08 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Re: noweb on NT 4.0 Date: 24 Oct 1997 17:47:21 GMT Message-ID: <62qmv9$r7$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <62h1pt$aln$1@news.interlog.com>, Sylvester Fernandez wrote: >I am running into problems finding a version of noweb that will run >under NT 4.0. > >I downloaded Philip Miller's port of noweb 2.7 for DOS, but ran into >problems using the version of icon (and DOS Extender) that it used. I >was then able to locate Clint Jeffery's version of icon for NT, which >apparently does not have the DOS extender problem, but Miller's version >of totex does not use Jeffery's version of icon. And I can't find the >source for totex, This at least I can help with---you can get the source to totex from any CTAN site or from the noweb page at http://www.cs.virginia.edu/~nr/noweb/. BTW some people are running the standard unix distribution on windows nt by using gnu bash to run the shell scripts. I hope within a year I can take over the dos and win32 ports. Norman 25-Oct-1997 1:39:16-GMT,2339;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id TAA05195 for ; Fri, 24 Oct 1997 19:39:15 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 24 Oct 1997 20:00:44 EST From: Yotam Medini Reply-To: LitProg@SHSU.edu, yotamm@TELAVIV.TMAI.COM Subject: canceling #line's from <> Message-ID: CC: yotam_medini@tmai.com Date: Sat, 25 Oct 1997 00:28:50 GMT To: LitProg@SHSU.edu (or how to shoot a star?) Hello Noweb super-users: As a relatively new Noweb-user, in a yet non friendly Noweb environment I am facing the following problem. When I develop and gdb-ly debug code in C/C++, I love to use Noweb with the the line-number information beautifully generated by the default format for <>. Alas, when I export the C/C++ files to a common repository, developers --- that do not yet appreciate the beauty and power of Literate-programming, TeX and noweb --- rely on looking at the C/C++ source. For such users, I would like to be able to generate a reasonably nice C/C++ sources as if the asterisk in <> was dropped and the line will become <> I tried to use -L"%N", that removed the #-lines but still it does not give indentation as <> does. Of course, I don't want to touch the foo.nw Noweb source. I wonder if there's a filter somewhere that does what I want. Thanks, yotam p.s. Hopefully, Noweb will be accepted is a legitimate source for production, and all our Makefile-s will know how to treat it. After that such C/C++ sources will need not be exported. -- Yotam Medini -----------------------------:)--h--o--m--e---------------------\ << Technology Modeling Associates, Inc. >> 1144 Craig Dr. // Lost | << 595 Lawrence Expy. Sunnyvale, CA 94086 >> San Jose, CA 95129-2913 // my | << yotam_medini@tmai.com -3922 >> yotam@blueneptune.com // smart | << (408) 328-3887 [fax (408)3280940] >> (408) 257-0840 // quote | << http://www.blueneptune.com/~yotam/ | 25-Oct-1997 15:39:34-GMT,1469;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA18870 for ; Sat, 25 Oct 1997 09:39:33 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM ([139.121.16.104]) by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 25 Oct 1997 10:27:27 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Re: canceling #line's from <> Date: 25 Oct 1997 15:00:09 GMT Message-ID: <62t1hp$1s2$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <62t14m$1po$1@murdoch.acc.Virginia.EDU>, Yotam Medini wrote: >When I develop and gdb-ly debug code in C/C++, I love to use Noweb with >the the line-number information beautifully generated by the default >format for <>. > >Alas, when I export the C/C++ files to a common repository, >developers --- that do not yet appreciate the beauty and power of >Literate-programming, TeX and noweb --- rely on looking at the C/C++ source. > >For such users, I would like to be able to generate >a reasonably nice C/C++ sources as if the asterisk in > <> >was dropped and the line will become > <> Look at the man page for notangle: notangle -R'foo.h*' foo.nw > foo.h 25-Oct-1997 15:42:37-GMT,2351;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA18906 for ; Sat, 25 Oct 1997 09:42:36 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM ([139.121.16.104]) by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 25 Oct 1997 10:27:25 EST From: Yotam Medini Subject: canceling #line's from <> Date: 25 Oct 1997 14:53:10 GMT Message-ID: <62t14m$1po$1@murdoch.acc.Virginia.EDU> Reply-To: LitProg@SHSU.edu, LitProg@SHSU.edu, yotamm@TELAVIV.TMAI.COM To: LitProg@SHSU.edu (or how to shoot a star?) Hello Noweb super-users: As a relatively new Noweb-user, in a yet non friendly Noweb environment I am facing the following problem. When I develop and gdb-ly debug code in C/C++, I love to use Noweb with the the line-number information beautifully generated by the default format for <>. Alas, when I export the C/C++ files to a common repository, developers --- that do not yet appreciate the beauty and power of Literate-programming, TeX and noweb --- rely on looking at the C/C++ source. For such users, I would like to be able to generate a reasonably nice C/C++ sources as if the asterisk in <> was dropped and the line will become <> I tried to use -L"%N", that removed the #-lines but still it does not give indentation as <> does. Of course, I don't want to touch the foo.nw Noweb source. I wonder if there's a filter somewhere that does what I want. Thanks, yotam p.s. Hopefully, Noweb will be accepted is a legitimate source for production, and all our Makefile-s will know how to treat it. After that such C/C++ sources will need not be exported. -- Yotam Medini -----------------------------:)--h--o--m--e---------------------\ << Technology Modeling Associates, Inc. >> 1144 Craig Dr. // Lost | << 595 Lawrence Expy. Sunnyvale, CA 94086 >> San Jose, CA 95129-2913 // my | << yotam_medini@tmai.com -3922 >> yotam@blueneptune.com // smart | << (408) 328-3887 [fax (408)3280940] >> (408) 257-0840 // quote | << http://www.blueneptune.com/~yotam/ | 26-Oct-1997 0:17:36-GMT,2491;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id SAA27386 for ; Sat, 25 Oct 1997 18:17:34 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM ([139.121.16.104]) by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 25 Oct 1997 19:02:12 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: canceling #line's from <> Date: 25 Oct 1997 23:35:31 GMT Message-ID: <62tvo3$ecs$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On Sat, 25 Oct 1997, Yotam Medini wrote: > When I develop and gdb-ly debug code in C/C++, I love to use Noweb with > the the line-number information beautifully generated by the default > format for <>. > > Alas, when I export the C/C++ files to a common repository, > developers --- that do not yet appreciate the beauty and power of > Literate-programming, TeX and noweb --- rely on looking at the C/C++ source. > > For such users, I would like to be able to generate > a reasonably nice C/C++ sources as if the asterisk in > <> > was dropped and the line will become > <> > I tried to use -L"%N", that removed the #-lines > but still it does not give indentation as <> does. Did you try just omitting the -L option when you tangle? I think that will give you what you want. You might also want to look at nountangle (which incorporates the text chunks as comments in the tangled code). > Hopefully, Noweb will be accepted is a legitimate source > for production, and all our Makefile-s will know how to treat it. > After that such C/C++ sources will need not be exported. "'Tis a consummation devoutly to be wish'd." -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Kvant was incorruptible. He never Computer Science Department | compromised over things he saw, but on Kean University | the other hand he was an expert at seeing Union, NJ 07083 | as little as possible | -- Maj Sj\"owal and Per Wahl\"o\"o leew@samson.kean.edu | "The Laughing Policeman" (1968) ------------------------------------------------------------------------ 26-Oct-1997 4:26:32-GMT,779;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA01353 for ; Sat, 25 Oct 1997 22:26:31 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 25 Oct 1997 23:11:44 EST From: "Eugene" Reply-To: LitProg@SHSU.edu, qbasic-club@geocities.com Subject: Qbasic Club Date: Sun, 26 Oct 1997 11:23:19 +0800 Message-ID: <62ud0j$i9a$1@columbine.singnet.com.sg> To: LitProg@SHSU.edu The QBasic Club has opened . Come to http://www.geocities.com/siliconvalley/peaks/6908 to join. 26-Oct-1997 19:45:25-GMT,2644;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA15598 for ; Sun, 26 Oct 1997 12:45:24 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sun, 26 Oct 1997 13:28:13 EST From: Diego Zamboni Reply-To: LitProg@SHSU.edu, zamboni@cs.purdue.edu Subject: Referencing a chunk from another file? Date: 26 Oct 1997 19:04:47 GMT Message-ID: <63048f$bag$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu Hi, I have a noweb program that is distributed in two .nw files, and one of them uses chunks from the other. When I tangle them, I tangle them together, so the source files are correctly generated. The problem, however, comes when I want to weave them. I cannot weave them together because there are other things between them in the whole LaTeX document I'm generating. So I am trying to use noindex and nodefs, but no matter what I do, I cannot get the chunks in one file to be correctly referenced in the other. This is, I get a reference that looks like this: whenever I make a reference to a chunk that is defined in the other file. The sequence of commands I am executing looks like this: % nodefs -auto c my-router.nw | cpif my-router.defs % nodefs -auto c ftp-greedy.nw | cpif ftp-greedy.defs % sort -u my-router.defs ftp-greedy.defs | cpif all.defs % noweave -latex -delay -indexfrom all.defs -autodefs c -filter 'dpp -cw -tex' my-router.nw | cpif my-router.tex % noweave -latex -delay -indexfrom all.defs -autodefs c -filter 'dpp -cw -tex' ftp-greedy.nw | cpif ftp-greedy.tex % latex hw8 % noindex hw8 % latex hw8 (this is repeated a couple of times to correctly resolve all references) The hw8.tex main file looks roughly like this: ------------------------------------------------------------ \documentclass{article] \usepackage{noweb} \noweboptions{smallcode,externalindex} \begin{document} \begin{description} \input{my-router} \end{description} \appendix \input{ftp-greedy} \section*{List of chunks} \nowebchunks \section*{Identifier index} \nowebindex \end{document} ------------------------------------------------------------ I have also noticed that if I leave the "-autodefs c" out from the noweave commands, all variable definitions in the code are marked as "Uses" instead of "Defines". What am I doing wrong? Any help will be greatly appreciated. Thanks a lot, --Diego 28-Oct-1997 5:59:16-GMT,1268;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA27170 for ; Mon, 27 Oct 1997 22:59:04 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 27 Oct 1997 23:52:20 EST From: FREE CABLE Reply-To: LitProg@SHSU.edu, JACK67@PHOENIXAT.NET Subject: CABLE BOX DESCRAMBLER BUILD YOUR OWN DESCRAMBLER FAST CHEAP AND EASY Date: 28 Oct 1997 05:35:57 GMT Message-ID: <633tjt$oiq@sjx-ixn5.ix.netcom.com> To: LitProg@SHSU.edu CABLE BOX DESCRAMBLER BUILD YOUR OWN DESCRAMBLER FAST CHEAP AND EASY Just a few inexpensive parts from Radio Shack and a little time and you can descramble every cable channel. See all your favorite movie channels,pay per view etc To recieve detail instructions and diagrams on how to construct your own Cable Box Descrambler Mail $5.00 CASH MONEY ORDER CHECK SMG ENTERPRISE STE#209 12319 S. Orange Blossom Tr. Orlando FL. 32837 Please be sure to include your full name & address Allow 10 days to recieve Thank You Seth M Garner 28-Oct-1997 13:11:13-GMT,1449;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id GAA04949 for ; Tue, 28 Oct 1997 06:11:12 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from vms.rhbnc.ac.uk by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 28 Oct 1997 06:47:40 EST Date: Tue, 28 Oct 1997 12:30:04 GMT From: "Philip Taylor (RHBNC) " Reply-To: LitProg@SHSU.edu, Qhaa006@vms.rhbnc.ac.uk To: 4TeX@nic.surfnet.nl, CSTeX@cs.felk.cvut.cz, CyrTeX-t2@vvv.vsu.ru, Ellhnika@urz.uni-heidelberg.de, Emtex-User@physik.tu-berlin.de, Gust-L@Man.Torun.Pl, Gut@Ens.Fr, Info-TeX@SHSU.edu, Italic-L@irlearn.ucd.ie CC: QHAA006@vms.rhbnc.ac.uk Message-ID: <971028123004.2b8df@vms.rhbnc.ac.uk> Subject: EuroTeX'98: last Call for Papers Final Call for Papers: the 1998 EuroTeX Conference at St Malo, France. Dear Colleague -- apologies if you receive multiple copies of this message, but time is short and we must circulate as many TeX lists as possible before the Call for Papers closes. Please see http://www.ens.fr/gut/manif/eurotex98/ for the official announcement of EuroTeX'98; the Call for Papers closes on Monday 3rd November 1997. Philip Taylor, for the EuroTeX'98 Programme Committee. 29-Oct-1997 2:28:56-GMT,5061;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id TAA22916 for ; Tue, 28 Oct 1997 19:28:54 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 28 Oct 1997 17:31:14 EST From: ATTRACT WOMEN NOW Reply-To: LitProg@SHSU.edu, miker45@CRMAEN.NET Subject: HOW TO ATTRACT GIRLS INSTANTLY....Secrets to instant sex appeal!! Date: 28 Oct 1997 16:20:45 GMT Message-ID: <6353ct$7pn@sjx-ixn10.ix.netcom.com> To: LitProg@SHSU.edu HOW TO ATTRACT GIRLS INSTANTLY....Secrets to instant sex appeal PURE INSTINCT PHEROMONE ATTRACTANT FOR MEN WILL GIVE YOU AN UNFAIR ADVANTAGE WITH WOMEN GUARANTEED (or your money back)! Everyone knows that some men (a tiny minority) are able to instantly attract women. It used to be known as "animal magnetism". Scientists now say this natural attraction is due to pheromones - body smells that are not consciously detected, but that effect the behavior of others towards the person giving off these chemical signals. It's natures way of attracting the opposite sex. Scientists have now isolated and synthesized two natural Attractants- androstenol and androstenone pheromone. Carefully controlled experiments show they work and have been widely reported on television and in both the British and international press. Androstenone pheromone has been successfully tested on BBC TV's "TOMORROWS WORLD" and by Desmond Morris (Author of "The Naked Ape" and "Manwatching" and renowned human behaviorist) on BBC TV's "Friday Night... Saturday Morning." New improved formula PURE INSTINCT from ICT Research Technology contains both ANDROSTENOL and ANDROSTENONE pheromone and produces and undetectable scent that subconsciously attracts women to the wearer. PURE INSTINCT is the world's number one selling and the most concentrated (5 - 7 x normal active strength) pheromone spray for men - don't be misled by cheaper (or more expensive) imitations. WHAT THE PRESS SAY: * Lowell Ponte, a former consultant on exotic weapons and a Readers Digest science writer, said in an interview that "use of the recently discovered chemical Androstenone should be banned. Congress should pass a law making it a crime to use this chemical to influence voters by making politicians appear more lovable. - The San Francisco Chronicle - * "The stuff attracts women like you wouldn't believe" - Colorado Telegraph * "And now this pheromone has been marketed, we've tested it - and good grief it works" - Koave * "pheromones influence human behavior in a subtle way. Women are attracted to the smell" - The Daily Telegraph * "Pure Instinct is likely to produce a state of sexual excitement or arousal" - Men Only (Vol. #44 No. 4) Much of our sales of PURE INSTINCT are reorders from existing users, reports confirm success. "PURE INSTINCT really does seem to work! The most dramatic instances have occurred when wearing it at discos. Girls just drift towards me and start flirting." -DT Cardiff "I Knew PURE INSTINCT wasn't a gimmick when one of the girls at work, quite out of character, started to seduce me when we were alone in the office." -SD Nottingham PURE INSTINCT comes in a discreet 15ml pocket roll on container with full instructions, Ideal for any man who wants to join that lucky few who have more than their fair share of sex appeal. 30 DAY MONEY BACK GUARANTEE If you are not 100% delighted with the results from using PURE INSTINCT simply return remainder within 30 days for a full refund- No questions asked! C O N F I D E N T I A L I T Y Note: We do not sell our database to any other company, all of our order processing is done by our company alone, and orders are sent in plain, nondescript packaging. The confidentiality of our customers is maintained above all. To order the " Pure Instinct Pheromone Sex Attractant" please fill out the following form and mail it to the address below. (Feel free to write out the order form by hand, All funds must equal US dollars. OVERSEAS ORDERS WELCOME BUT MUST PAY WITH US CASH INTERNATIONAL MONEY ORDER OR TRAVELLERS CHECK _________________________________________ Yes! I want to attract more women please send me _______ bottles of PURE INSTINCT Price $29.95(U.S.) + $4.00 S/H U.S. OVERSEAS $8.00 S/H. Please allow 1-2 WEEKS FOR DELIVERY. I understand that if I'm not 100% delighted, simply return remainder within 30 days for a full refund. I have enclosed check, cash or money-order for ___________ (U.S.) Name (Please use block letters) _______________________________________________ Address: _________________________________ City, St.: _________________________________ Zip: __________________ E-Mail : ______________________ Please Mail to: SMG Enterprises 1970 E. Osceola Pkwy Suite 242 Kissimmee Fl.34743 29-Oct-1997 5:32:08-GMT,7713;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA26126 for ; Tue, 28 Oct 1997 22:32:07 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 28 Oct 1997 22:09:34 EST From: Marc van Leeuwen Reply-To: LitProg@SHSU.edu, maavl@zenon.univ-poitiers.fr Subject: Re: Some comments Date: 29 Oct 1997 03:54:14 GMT Message-ID: <636c16$9g4$1@news.interlog.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Anthony Towns wrote: > Well, I finally took the plunge and wrote a program literately. ... > <<[[function]]>>= > int function(int a, int b, int c) > { > <> > int result; ... > while ( <> ) { > <> > } ... > return result; > } > > I left "result" outside of <> in a few cases, because > I thought it looked really eerie magically returning an "undeclared" > variable at the end of the function. It may have been a better move to > move "return result;" into a chunk itself, though. In my opinion, to the contrary, you should try to avoid having a chunk <>> altogether, since C allows variables to be declared local to the block in which they are used (rather than the function, as in Pascal; there such a structure would be justified). Any variables that are necessary to understand the code at the level of abstaction presented are preferably explicitly declared there (after all, you don't hide the names of the parameters [[a,b,c]] of [[function]] either), and any other variables can be declared inside the chunks where they are used. I presume that [[result]] gets assigned a value in one of the chunks, and so it should probably be mentioned in the name of that chunk, which provides another reason to expose its declaration. On the other hand, if the [[return]] statement were moved into the final chunk, it would suffice to mention that this chunk does preform a [[return]], and the name of the variable used would be irrelevant at this level (unless its value was assigned in a _different_ chunk); quite possibly, there might not even be a need for such a variable. Similarly, if <> depends on a variable that is affected by <>, the declaration of that variable should be made explicit. > I ended up with one place where I wanted to use "break" from a > different chunk to that where the loop itself was declared. I named > that chunk along the lines of <>, which seemed > ugly. I'm guessing that litprog just tends to become _really_ painful > if you don't follow recommended practices all the way, through. What you did is quite appropriate, and does not seem ugly to me at all. Some people might object to using [[break]] at all, or any other form of jump (I'm not sure what they think about [[return]]), but I don't (I think it is just as decent as other things one does in C), and mentioning it in the chunk name provides sufficient warning to the reader of this chunk. I admit though, that is would become awkward if the actual [[break]] were buried in two or more levels of chunks, all of whose names would then have to warn about the presence of [[break]] (one really stupid reason, because it could have been avoided if the syntax of C had been thought about properly, is that people modifying the code must be warned never to use such a chunk inside a [[switch]] statement). ... > (I took the attitude that > a chunk is a sequence of statements, rather than one, and had the { } > around chunks where necessary, which goes against Knuth's > recommendation in the "Mathematical Writing" section of _Literate > Programming_, but IMO reads a lot better, at least in C); This of course is largely a matter of taste, since the only real cost of a pair of braces is that you have to enter them at the keyboard; nevertheless I think there are arguments for putting the braces inside the chunk. Basically, this is because in C a compound statement is a first class syntactic category, that can be used in any place any other kind of statement can be used (and even in some places where others cannot, namely as function bodies, but that is beside the point), while a statement sequence is a category that is valid _only_ within braces. This means that with the convention that chunks stand for statement sequences, you will nearly always have to enclose a chunk reference in braces in order to ensure that the chunk is treated as a syntactic unit; the single exception is when you write a sequence of chunks, in which case a single pair of braces around the sequence suffices. On the other hand, with the convention I prefer that chunks stand for statements, there is no need to write any braces if the chunk is a single (loop or conditional) statement, a situation which in my style of programming is much more common than that of a straight sequence of chunks (but I always use braces if the chunk is an [[else]]-less [[if]]-statement). More importantly however, the convention of having chunks be complete statements provides a much stronger invitation to include local variable declarations in them, as I suggested above; with the opposite convention this would require either adding a pair of braces within the chunk anyway (which is what the convention seeks to avoid), or relying on the braces provided at the chunk reference. The latter is dangerous, since those braces might in fact be omitted (in a sequence of chunks) leading to a syntax error (in C; in C++ one would get an unexpectedly large scope for the ``local'' variables). By the way, I don't recall reading the mentioned recommendation by Knuth, but in any case he has a very dangerous practice himself in ``TeX, The program'' of putting `begin ... end' (this is Pascal) at the outside of module bodies (chunks) _only_ if the syntactic context where the module is used requires this (e.g., after [[then]]). One can easily imagine disasters resulting from this style when the code is modified. > For conditionals where the side effect was what was important, (like > the clause in: > > while( *(dest++) = *(src)++ ) ; > > I used phrases like < non-zero>>: an explicit "we've done this" phrased in the form of an > assertion. That didn't seem to read very well to me, but breaking it > up seemed worse. Possibly the terser aspects of C and litprog just > don't mix very well. In cases like this it is questionable whether turning such a short piece of code into a (longer) English phrase actually clarifies the situation; I'd say in most cases (certainly this one) it doesn't. In fact I hardly ever find myself using chunks to stand for expressions (in C), the only exceptions being extremely long-winded (Boolean) expressions and array initialisers. Marc van Leeuwen Universite de Poitiers http://wallis.univ-poitiers.fr/~maavl/ Actually I'm extremely glad to see the continuing development of languages, not only because programming languages are getting better and better in important ways, but also because such work soaks up a lot of people's energy---therefore computer scientists don't write papers that I would otherwise have to read, and I can get my books finished a lot sooner. -- Donald E. Knuth 21-Oct-1997 20:09:04-GMT,3653;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id OAA15377 for ; Tue, 21 Oct 1997 14:09:01 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from holonet.net by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 21 Oct 1997 13:10:55 EST Received: from usbr.gov ([140.218.20.231]) by holonet.net (Hugh S. Myers) with SMTP id LAA18581; Tue, 21 Oct 1997 11:05:41 -0700 Message-ID: <3.0.3.32.19971021120528.00925990@holonet.net> Date: Tue, 21 Oct 1997 12:05:28 -0600 To: LitProg@SHSU.edu, object@internetmedia.com From: "Hugh S. Myers" Reply-To: LitProg@SHSU.edu, hsmyers@holonet.net Subject: subscribe MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" At 06:01 PM 10/20/97 -0400, you wrote: >1 New Features Released in Version 2.1 >2 Standards FREE at: > http://www.objectspace.com >3 Discount Pricing Now Available > >1 New Features Released in Version 2.1 > >First quarter 1998, ObjectSpace will release Version 2.1 of >its C++ Component Series. This significant release contains >an enhanced Thread package that includes the features >listed below. > >- A thread group abstraction that allows you to group threads > and then control them as a single entity. > >- A thread pool abstraction that provides thread creation and > task-queuing capabilities. > >- A futures abstraction that represents and synchronizes access > to the future result of an asynchronous operation. > >- A condition variable abstraction that allows testing and > synchronization of an arbitrary condition under the control > of a mutex. > >2 Standards FREE at www.objectspace.com >To continue promoting industry standards, ObjectSpace provides >Standards, which consists of both the Standard Template >Library (STL) and the string class library, to you at no charge. >Download Standards today! > >3 Discount Pricing Now Available >To be eligible for 15% off the following products, reply to this >e-mail by October 31, 1997. > >STL, the original cross-platform toolkit product, consists >of the complete Standards and Foundations >(Thread, Helper, and Time&Date). >The original price is $395 per copy for PC and UNIX platforms. >Annual technical support is $295 per license. > >Systems is the solution for multithreaded, distributed >development. It comes complete with STL, >Communications >(Streaming and Network), and the UNIX >Platform. >The original price is $895 per copy for PC platforms and $995 per copy >for UNIX platforms. Annual technical support is $495 per license. > >To receive a Technical Overview or an evaluation software copy, >contact us at info@objectspace.com or 972.726.4100. > >We look forward to hearing from you. > >Regards, > >Stephen Andrews >Sales Manager > >http://www.objectspace.com > >--------------------------------------------------------------------------- --- >ObjectSpace respects your online time and Internet Privacy. This is a >one-time only solicitation. Your address will be removed from our files. >However, if you wish to receive additional information you may visit our >website as mentioned above or simply reply and type subscribe in the >subject line or body of the message. Thank you! >--------------------------------------------------------------------------- --- > > 22-Oct-1997 10:13:20-GMT,1258;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id EAA02627 for ; Wed, 22 Oct 1997 04:13:18 -0600 (MDT) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 22 Oct 1997 05:00:28 EST From: FREE CABLE Reply-To: LitProg@SHSU.edu, kilop@att.net Subject: CABLE BOX DESCRAMBLER BUILD YOUR OWN DESCRAMBLER FAST CHEAP AND EASY Date: 22 Oct 1997 08:38:51 GMT Message-ID: <62ke2r$ffr@dfw-ixnews4.ix.netcom.com> To: LitProg@SHSU.edu CABLE BOX DESCRAMBLER BUILD YOUR OWN DESCRAMBLER FAST CHEAP AND EASY Just a few inexpensive parts from Radio Shack and a little time and you can descramble every cable channel. See all your favorite movie channels,pay per view etc To recieve detail instructions and diagrams on how to construct your own Cable Box Descrambler Mail $5.00 CASH MONEY ORDER CHECK SMG Enterprise 12319 S. Orange Blossom Tr. STE 209 Orlando FL. 32837 Please be sure to include your full name & address Allow 10 days to recieve Thank You Seth M Garner 29-Oct-1997 12:25:11-GMT,64888;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id FAA03491 for ; Wed, 29 Oct 1997 05:25:09 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 29 Oct 1997 05:07:49 EST From: thompson@sun1.coe.ttu.edu Subject: comp.programming.literate FAQ Date: 29 Oct 1997 11:02:11 GMT Message-ID: Reply-To: LitProg@SHSU.edu, thompson@sun1.coe.ttu.edu To: LitProg@SHSU.edu Archive-name: literate-programming-faq Last-modified: 1997/08/15 Version: 1.1.18 The Literate Programming FAQ David B. Thompson 15 August 1997 This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. ______________________________________________________________________ Table of Contents: 1. Welcome 1.1. Disclaimer 1.2. Copyright 1.3. What's New? 2. Introduction or 3. How do I get the FAQ? 3.1. Literate Programming FAQ 3.2. FWEB FAQ 4. Is there a newsgroup? 5. What internet nodes are of interest to literate programmers? 6. What is Literate Programming? 7. How do I begin literate programming? 8. What literate programming tools are available? 8.1. APLWEB 8.2. AWEB 8.3. CLiP 8.4. CWEB 8.5. CWEBx3.0 8.6. mCWEB 8.7. FunnelWeb 8.8. FunnelWeb 3.0AC 8.9. FWEB 8.10. IMPACT 8.11. lit2x 8.12. Literate Programmer's Workshop (LPW) 8.13. MapleWEB 8.14. MWEB (Schrod/Detig) 8.15. MWEB (Sewell) 8.16. noweb 8.17. nuweb 8.18. ProTeX 8.19. RWEB 8.20. SchemeWEB 8.21. SpideryWEB 8.22. WEB 8.23. WinWordWEB 9. Are there other tools I should know about? 9.1. C2LaTeX 9.2. c2cweb 9.3. c2man 9.4. cnoweb 9.5. Fold2Web 9.6. Funnelweb Mode 9.7. noweb.el 9.8. nuweb.el 9.9. TIE 9.10. Web mode 10. What other resources are available? 10.1. World Wide Web 10.2. TeX Resources 11. Are there any code examples? 12. Bibliographies 13. How to anonymously ftp 14. Acknowledgements 15. End notes ______________________________________________________________________ 1. Welcome Information contained in this document is the best available at preparation. The original file was dated October 15, 1993 (just for historical purposes). 1.1. Disclaimer Disclaimer: ``This FAQ is presented with no warranties or guarantees of ANY KIND including correctness or fitness for any particular purpose. The author of this document has attempted to verify correctness of the data contained herein; however, slip-ups can and do happen. If you use this data, you do so at your own risk.'' 1.2. Copyright Copyright 1993-1997 by David B. Thompson. All rights reserved worldwide. Permission is granted to copy this document for free distribution so long as it remains intact and unmodified. For other arrangements, contact the author/maintainer via email: 1.3. What's New? o My email address has changed (once again). o Newsgroup is moderated. o Updated fweb entry. o Updated noweb entry. o Added mCWEB entry. o Updated c2cweb entry. o Updated nuweb.el entry. o Updated cLiP entry. o Updated Lee W's examples (from bart). o Last, but not least, new formatting of the FAQ. Many thanks go to Andrew Johnson for helping make this happen. 2. Introduction or ``What's this all about?'' This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. The Literate Programming (LitProg) Frequently Asked Questions (FAQ) list is maintained by Dave Thompson Comments and constructive criticisms are welcome. Direct flames to /dev/null (or nul if you're a msdos user! ;-) If you find an error, please report it. I'm particularly interested in establishing the locations of generally available literate programming tools. If you are the author of such a tool and wish to have it included in this list, please send email. Please note this is a work-in-progress. It is not complete, and probably will never be complete. Nevertheless, the information contained herein may be useful to some. Use it as it is intended. 3. How do I get the FAQ? 3.1. Literate Programming FAQ You have many ways to get a current copy of this FAQ. One is to use anonymous ftp (if you don't know how, see a later section in this FAQ) to connect to one of the Comprehensive TeX Arvchive Network (CTAN) sites or the Literate Programming Archive and retrieve a copy of the file. Open an ftp connection to one of the CTAN sites and retrieve the file: help/LitProg-FAQ (For more information on CTAN and the literate programming archive, see the section below entitled ``Internet Nodes of Interest to Literate Programmers''.) 3.2. FWEB FAQ David Coker maintains the FWEB FAQ. The current version number is 1.30a. It can be retrieved in the same way as this FAQ. The FWEB FAQ exists in various formats, including HyperText (see other resources below). In Europe, the complete distribution can also be obtained from ftp.desy.de 131.169.10.115 in directory /pub/faq/web/fweb/. It is also available from the literate programming archive in the directory LPA/Documentation/faq/fweb (see the references to LPA below for more information). 4. Is there a newsgroup? One of the most important resources is the literate programming newsgroup, comp.programming.literate. Because of the amount of spamming and unrelated the posts, the newsgroup is now moderated. Posts to the newsgroup are now routed through litprog- mod@cs.virginia.edu. If your news reader does not post through this address, then you will be unable to post messages to the newgroup. You can read this newsgroup using your standard reader. 5. What internet nodes are of interest to literate programmers? The principal nodes of interest to literate programmers are the Literate Programming Archive (LPA hereafter) and the CTAN (Comprehensive TeX Archive Network). The Literate Programming Archive (LPA) is: Node: ftp.th-darmstadt.de [130.83.55.75] Directory: programming/literate-programming Notes: Fastest response during off-U.S. [yep] business hours. Participating hosts in the Comprehensive TeX Archive Network are: ftp.dante.de (Deutschland) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node sun.dante.de -- e-mail via ftpmail@dante.de -- Administrator: ftp.tex.ac.uk (England) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node gopher.tex.ac.uk -- NFS mountable from nfs.tex.ac.uk:/public/ctan/tex-archive -- World Wide Web access on www.tex.ac.uk -- Administrator: The site ftp.shsu.edu used to be the American CTAN site. Apparently, that site has fallen into disrepair and should not be considered a primary source for either TeX related or literate programming related material. For the record, the address is: ftp.shsu.edu (Texas, USA) -- anonymous ftp and gopher /tex-archive (/pub/tex /pub/archive) -- NFS mountable from ftp.SHSU.edu:/pub/ftp/tex-archive -- e-mail via ftpmail@ftp.SHSU.edu -- World Wide Web access on www.SHSU.edu -- Administrator: A list of CTAN archive sites and their mirrors can be found on: ftp.dante.de:/tex-archive/CTAN.sites I presume that the other CTAN sites mirror this file, but have not checked. As of my last check (September 1994), it contains: "In order to reduce network load, it is recommended that you use the Comprehensive TeX Archive Network (CTAN) host which is located in the closest network proximity to your site." Known partial mirrors of the CTAN reside on (alphabetically): dongpo.math.ncu.edu.tw (Taiwan) /tex-archive ftp.adfa.oz.au (Australia) /pub/tex/ctan ftp.muni.cz (The Czech Republic) /pub/tex/CTAN ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive ftp.uu.net (Virginia, USA) /pub/text-processing/TeX nic.switch.ch (Switzerland) /mirror/tex Known mirrors of the CTAN reside on (alphabetically): ftp.center.osaka-u.ac.jp (Japan) /CTAN ftp.ccu.edu.tw (Taiwan) /pub/tex ftp.cs.rmit.edu.au (Australia) /tex-archive ftp.duke.edu (North Carolina, USA) /tex-archive ftp.germany.eu.net (Deutschland) /pub/packages/TeX ftp.gwdg.de (Deutschland) /pub/dante ftp.jussieu.fr (France) /pub4/TeX/CTAN ftp.loria.fr (France) /pub/unix/tex/ctan ftp.mpi-sb.mpg.de (Deutschland) /pub4/tex/mirror/ftp.dante.de ftp.uni-bielefeld.de (Deutschland) /pub/tex ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex) ftpserver.nus.sg (Singapore) /pub/zi/TeX src.doc.ic.ac.uk (England) /packages/tex/uk-tex sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX wuarchive.wustl.edu (Missouri, USA) /packages/TeX Other nodes and directories of interest include: Node: ftp.desy.de [131.169.10.115] Directory: pub/web. Various documents, samples, and the FWEB FAQ. Notes: Has a www server, http://info.desy.de:80/ 6. What is Literate Programming? Literate programming is the combination of documentation and source together in a fashion suited for reading by human beings. In fact, literate programs should be enjoyable reading, even inviting! (Sorry Bob, I couldn't resist!) In general, literate programs combine source and documentation in a single file. Literate programming tools then parse the file to produce either readable documentation or compilable source. The WEB style of literate programming was created by D.E. Knuth during the development of his TeX typsetting software. All the original work revolves around a particular literate programming tool called WEB. Knuth says: The philosophy behind WEB is that an experienced system pro- grammer, who wants to provide the best possible documenta- tion of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately. The structure of a software program may be thought of as a web that is made up of many interconnected pieces. To docu- ment such a program we want to explain each individual part of the web and how it relates to its neighbours. The typo- graphic tools provided by TeX give us an opportunity to explain the local structure of each part by making that structure visible, and the programming tools provided by languages such as C or Fortran make it possible for us to specify the algorithms formally and unambigously. By combin- ing the two, we can develop a style of programming that max- imizes our ability to perceive the structure of a complex piece of software, and at the same time the documented pro- grams can be mechanically translated into a working software system that matches the documentation. Another author (Eric W. van Ammers) wrote me a short article treating his opinions on literate programming. The text follows: First observation on LP About 90% of the disussion on this list is about problems with applying some WEB-family member to a particular programming language or a special documentation situation. This is ridiculous, I think. Let me explain shortly why. Lemma 1: I have proposed for many years that programming has nothing to do with programming langauges, i.e. a good programmer makes good programs in any language (given some time to learn the syntax) and a bad programmer will never make a good program, no matter the language he uses (today many people share this view, fortunately). Lemma 2: Literate Programming has (in a certain way not yet completely understood) to do with essential aspects of programming. Conclusion 1: A LP-tool should be independent of programming language. Lemma 3: It seems likely that the so called BOOK FORMAT PARADIGM ref. 1 plays an important role in making literate programs work. Lemma 4: There are very many documentation systems currently being used to produce documents in the BOOK FORMAT. Conclusion 2: A LP-tool should be independent of the documentation system that the program author whishes to use. My remark some time ago that we should discuss the generic properties of an LP-tool was based on the above observation. References 1 Paul W. Oman and Curtus Cook. ``Typographical style is more than cosmetic.'' CACM 33, 5, 506-520 (May 1990) Second observation on LP The idea of a literate program as a text book should be extendend even further. I would like to see a literate program as an (in)formal argument of the correctness of the program. Thus a literate program should be like a textbook on mathematicics. A mathematical textbook explains a theory in terms of lemma and theorems. But the proofs are never formal in the sense that they are obtaind by symbol manipulation of a proof checker. Rather the proofs are by so called ``informal rigour'', i.e. by very precise and unambiguous sentences in a natural language. 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 Another author (Norman Ramsey) wrote me and asked that his opinions be included in the FAQ. What follows are Norman's comments verbatim. I see it's time for the ``how is literate programming dif- ferent from verbose commenting'' question. Perhaps David Thompson will get this into the FAQ. Alert! What follows are my opinions. In no way do I claim to speak for the (fractious) literate-programming community. How is literate programming different from verbose commenting? There are three distinguishing characteristics. In order of importance, they are: o flexible order of elaboration o automatic support for browsing o typeset documentation, especially diagrams and mathematics Flexible order of elaboration means being able to divide your source program into chunks and write the chunks in any order, independent of the order required by the compiler. In principle, you can choose the order best suited to explaining what you are doing. More subtly, this discipline encourages the author of a literate program to take the time to consider each fragment of the program in its proper sphere, e.g., not to rush past the error checking to get to the ``good parts.'' In its time and season, each part of the program is a good part. (This is the party line; your mileage may vary.) I find the reordering most useful for encapsulating tasks like input validation, error checking, and printing output fit for humans --- all tasks that tend to obscure ``real work'' when left inline. Reordering is less important when using languages like Modula-3, which has exceptions and permits declarations in any order, than when using languages like C, which has no exceptions and requires declaration before use. Automatic support for browsing means getting a table of contents, index, and cross-reference of your program. Cross-reference might be printed, so that you could consult an index to look up the definition of an identifier `foo'. With good tools, you might get a printed mini-index on every page if you wanted. Or if you can use a hypertext technology, cross-reference might be as simple as clicking on an identifier to reach its definition. Indexing is typically done automatically or `semi- automatically', the latter meaning that identifier definitions are marked by hand. Diligently done semi- automatic indexes seem to be best, because the author can mark only the identifiers he or she considers important, but automatic indexing can be almost as good and requires no work. Some tools allow a mix of the two strategies. Some people have applied literate-programming tools to large batches of legacy code just to get the table of contents, index, and cross-reference. I don't use diagrams and mathematics very often, but I wouldn't want to have to live without them. I have worked on one or two projects where the ability to use mathematical formulae to document the program was indispensible. I also wouldn't like to explain some of my concurrent programs without diagrams. Actually I write almost all of my literate programs using only sections headers, lists, and the occasional table. >Wouldn't it be easier to do one's literate programming using >a wysiwyg word processor (e.g. Word for Windows) and >indicate what is source code by putting it in a different >font? The data formats used in wysiwyg products are proprietary, and they tend to be documented badly if at all. They are subject to change at the whim of the manufacturer. (I'll go out on a limb and say there are no significant wysiwyg tools in the public domain. I hope the Andrew people will forgive me.) These conditions make it nearly impossible to write tools, especially tools that provide automatic indexing and cross-reference support. The CLiP people have a partial solution that works for tools that can export text --- they plant tags and delimiters throughout the document that enable the reordering transformation (``tangling''). People use TeX, roff, and HTML because free implementations of these tools are widely available on a variety of platforms. TeX and HTML are well documented, and TeX and roff are stable. TeX is the most portable. I think I have just answered the FAQ ``how come all these tools use TeX, anyway?'' :-) Norman Ramsey 7. How do I begin literate programming? A recommended book is D.E. Knuth's collection of articles (1992) Literate Programming. Center for the Study of Language and Information, Stanford University, ISBN 0-937073-80-6 (pbk). This book gives insight into Knuth's thoughts as he developed the web system of literate programming (and TeX for typesetting). It does not document methods for literate programming. A recommended book is Wayne Sewell's (1989) Weaving a Program: Literate Programming in WEB. Van Nostrand Reinhold, ISBN 0-442-31946-0 (pbk). This book focuses on using Knuth's web system. Some talk exists in the newsgroup/mailing list for a Usenet University course in literate programming. I'm sure discussion of this topic will be welcomed. If you are interested, please participate. 8. What literate programming tools are available? A significant number of tools for literate programming are available. Most have been ported from their original systems, so support multiple computer platforms. If you are the developer of such a tool, and would like to make the software freely available, please send me email and I'll reply with a form (like those below) for you to fill in. (Or short-circuit the process and kludge a form from below. :-) 8.1. APLWEB Developer: Christoph von Basum Version: Unknown Hardware: MSDOS Languages: IBM APL2 and STSC APL Formatter: Plain TeX Availability: Anonymous ftp from: LPA:/apl watserv1.uwaterloo.ca:/languages/apl/aplweb Readme: Unknown Description: None available. Support: Unknown Note: The status of this particular package is unknown. 8.2. AWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Ada Formatter: Unknown Availability: Anonymous ftp from: LPA:/ada/web Readme: Unknown Description: None available Support: Not supported. 8.3. CLiP Developer: E.W. van Ammers and M.R. Kramer Versions: 2.0 and 2.4b (DOS only) Platform: Vax/VMS, Unix, DOS Languages: Any programming language Formatter: Any formatter (TeX, LaTeX, Troff, Runoff, HTML, etc) or any wordprocessor including WYSIWYG systems (Word Perfect, WinWord, Ami Pro, Word Pro, etc.) Availability: Anonymous ftp from: sun01.info.wau.nl:/CLIP/ms_dos DOS sun01.info.wau.nl:/CLIP/ms_dos_24b DOS (v. 2.4b) sun01.info.wau.nl:/CLIP/vax_vms VAX/VMS sun01.info.wau.nl:/CLIP/unix Unix CTAN:/web/clip LPA:/machines/ms-dos LPA:/machines/vax Readme: With bundle above Description: CLiP does not use explicit commands to perform the extraction process. Rather it recognizes pseudostatements written as comments in the programming language in question. CLiP distinguishes pseudostatements from ordinary comments because the former comply with a particular style. This style can be adjusted to suit virtually any programming language. The CLiP approach to LP makes the system extremely versatile. It is independent of programming language and text processing environment. We designed CLiP to be compatible with hypertext systems as well. Some hypertext examples are at ftp://sun01.info.wau.nl/clip/html/queens.htm ftp://sun01.info.wau.nl/clip/html/pal1.htm Features: + CLiP imposes virtually no limitations on the text-processing system used to produce the documentation. If the text-processor supports these items you can + structure the documentation according to your own taste. + include drawings, pictures, tables etc. + disclose your documentation my means of X-ref tables, Indexes, Table of contents, Table of tables, Table of figures, etc. + typeset the documented code. + Extracts any number of modules from a maximum of 64 source files. + No pretty-printing. Code from the source files is copied "as is" to the module. + Appearance of code segments in the documentation matches those of the modules to ease the identification of code segments. + Supports partially specified data types. + Comprehensive user manual (preliminary version) and technical description. - No automatic generation of a X-ref table for program identifiers. Support: Bugs, problems and assistance by e-mail to Eric.vanAmmers@user.info.wau.nl 8.4. CWEB Developer: Silvio Levy and D.E. Knuth Version: 3.0 Hardware: Unix systems (dos and amiga ports available) Languages: C and C++ Formatter: Plain TeX and LaTeX. Availability: Anonymous ftp from: labrea.stanford.edu:/pub/cweb LPA:/c.c++ CTAN:/web/c_cpp/cweb DOS version in CTAN:/web/c_cpp/cwb30p8c DOS version in LPA:/machines/ms-dos Amiga version CTAN:/web/c_cpp/AmigaCWEB Mac port of CTANGLE in LPA:/machines/mac LaTeX support in LPA:/c.c++ Readme: Bundled with above Description: No description provided. Support: Bugs to levy@math.berkeley.edu 8.5. CWEBx3.0 Developer: Marc van Leeuwen Version: Unknown Hardware: Any system using ASCII code Languages: ANSI C Formatter: Plain TeX Availability: Anonymous ftp from: ftp.cwi.nl/pub/cweb Readme: Bundled with above Brief description: A modified implementation of CWEB, with some extensions. Provides a mode for full compatibility with Levy/Knuth CWEB. The most significant extras are: - Typedef declarations affect formatting througout source file - Include files are scanned for typedef definitions - Flexible selection of layout style - Possibility to refer to sections using symbolic labels - CTANGLE detects unbalanced braces and parentheses - CWEAVE can be made to report syntax errors more easily - Some additional mechanisms to avoid formatting problems - New and modular set of grammar rules, based on ANSI C syntax - Possibility to suppress #line directives - A new manual Support: bugs and remarks to M.van.Leeuwen@cwi.nl 8.6. mCWEB Developer: Markus Oellinger Version: 1.0 Hardware: Unix Languages: C/C++ Formatter: plainTeX Availability: anonymous ftp from ist.tu-graz.ac.at:/pub/utils/litprog/mcweb/mcweb.tgz Readme: at same location Description: This is mCWEB 1.0, a descendant of the CWEB system of structured documentation by Donald E. Knuth and Silvio Levy. It adds some features that are indispensable when working in a team. mCWEB regards a project of a book consisting of several chapter files. By means of import and export commands, it automatically manages all relationships between the chapters of a book and to other books. Interface documentation is now also part of mCWEB. It is extracted into a second TeX file. This makes it possible to define well known interfaces between the individual parts of a project that will be implemented by different persons. In addition, mCWEB parses C header files to find out about all the datatypes defined there. mCWEB comes with a full completely rewritten user manual and is compatible with CWEB. Support: Institute of Software Technology moell@ist.tu-graz.ac.at 8.7. FunnelWeb Developer: Ross N. Williams: ross@guest.adelaide.edu.au Version: Unknown Hardware: MSDOS, Mac, VMS, Sun. Other ports reported. Languages: No restrictions. Formatter: Plain TeX for printing. Otherwise, no restrictions. Availability: Anonymous ftp from: CTAN:/web/funnelweb LPA:/independent ftp.adelaide.edu.au:/pub/funnelweb Readme: With bundle above. Description: FunnelWeb is a production-quality literate-programming tool that emphasises simplicity and reliability. Everything about FunnelWeb, from the simplicity of its language to the comprehensive tutorial in the user's manual, has been designed to make this as simple, as practical, and as usable a tool as possible. Features: + Provides a simple macro preprocessor facility. + Can produce typeset documentation. + Runs on Sun, VMS VAX, Macintosh, PC, and others. + Portable C source code distributed under GNU licence. + Comprehensive user's manual including tutorial. + Programming-language independent. + Can generate multiple output files. + Allows complete control over the output text. + Regression test suite with over 200 tests. + Fully worked example (in /pub/funnelweb/examples). - Requires TeX to produce typeset documentation. - Typesets program code using TT font only. Support: No formal support available. Mailing list maintained with about 50 subscribers. Informal assistance available from mailing list. 8.8. FunnelWeb 3.0AC Developer: Enhanced by A.B.Coates (coates@physics.uq.edu.au) from FunnelWeb v3.0 by Ross N. Williams (ross@guest.adelaide.edu.au) Version: 3.0AC Hardware: MSDOS, Mac, VMS, Sun, OSF/1, Linux, Sys.V, OS/2. Languages: No restrictions. Formatter: Tex, LaTeX, or HTML. Availability: Anonymous ftp from ftp.physics.uq.oz.au:/pub/funnelwebAC30.tar.gz Readme: With bundle above; for FunnelWeb manual see WWW page http://www.physics.uq.oz.au:8001/people/coates/funnelweb.html Description: FunnelWeb 3.0AC is an enhanced version of FunnelWeb (see the entry for FunnelWeb). FunnelWeb is designed to be typesetter independent, though FunnelWeb v3.0 only supports (La)TeX as the typesetter. FunnelWeb 3.0AC also supports HTML, and creates appropriate hypertext links within the document among the code sections. FunnelWeb 3.0AC also supports automatic and manual insertion of line directives, so that compiler errors can be flagged back to the original FunnelWeb source file. FunnelWeb 3.0AC is completely compatible with FunnelWeb v3.0 sources (with one minor exception; see the file README.ABC which comes with the FunnelWeb 3.0AC distribution). Support: Supported by A.B.Coates (coates@physics.uq.edu.au), subject to the time constraints imposed by his thesis. 8.9. FWEB Developer: John A. Krommes Version: 1.53 (1.60-beta for the experienced, patient, and brave) Hardware: Unix, VMS, and DOS platforms (anything with ANSI C) Languages: C, C++, Fortran-77, Fortran-90, Ratfor, TeX; also, a language-independent mode. Formatter: LaTeX. Plain TeX may work, but is no longer supported. Availability: Anonymous ftp from: ftp.pppl.gov:/pub/fweb CTAN:/web/fweb LPA:/fweb DOS version in LPA:/machines/ms-dos Readme: In bundle with above. Description: It also has a well-developed user's manual and its own FAQ (see above). Beginning with 1.40, documentation is maintained in gnu texinfo format. It runs on most platforms: VMS, PC, UNIX, and pretty much anything that the GNU C compiler (GCC) is supported for. Features: + Processes multiple languages during a single run (so one can mix C and Fortran, for example). + Language-independent mode (v1.40). + Ability to turn off pretty-printing (v1.40). + Built-in Ratfor translator. + Built-in macro preprocessor (closely follows ANSI C, with extensions). + A style file that allows the user to adjust many parameters and behavior patterns of FWEB. + Various operator-overloading features that provide additional pretty-printing capabilities to languages such as C++ and Fortran-90. + Numerous miscellaneous features and command-line options. Support: Bug reports and suggestions to krommes@princeton.edu 8.10. IMPACT Developer: Timothy Larkin, from Levy/Knuth CWEB 3.1 Version: 1.0 Hardware: Macintosh; requires AppleEvents. Languages: C, C++ Formatter: TeX Availability: CTAN archives Readme: A short readme file is included in the SEA archive. Description: IMPACT implements CTangle from the Levy/Knuth CWEB 3.1. It operates as a foreground program, tangling files selected from the Mac File Picker. Or it can operate in the background, tangling files in response to odoc events sent by other applications, such as editors. Support: I welcome any reports of bugs. The product will be updated as new versions of the CWEB appear. Other features may be added as users suggest them. 8.11. lit2x Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/independent Readme: Unknown Description: None available Support: Unknown 8.12. Literate Programmer's Workshop (LPW) Developer: Norbert Lindenberg Version: 1.1 Hardware: Apple Macintosh Languages: C++, Object Pascal & others Formatter: self-contained WYSIWYG system Availability: Anonymous ftp from: LPA:/machines/mac CTAN:/web/lpw ftp.apple.com:/pub/literate.prog Readme: With bundle above. Also comes with 38-page manual. Description: The Literate Programming Workshop is an environment for the integrated development of program source text and documentation in combined documents. It consists of a WYSIWYG word processor based on a style sheet approach, a mechanism to extract parts of the text in a document, and a project management system that handles multi-document projects. The system is designed to be used in conjunction with the Macintosh Programmer's Workshop: it prepares raw source text for the MPW compilers, accepts MPW error messages, and shows them in the context of the original documents. Automatic indexing and hypertext features allow for easy access to both source text and documentation. LPW is shareware. Support: Bugs, problems, and questions to lpw@aol.com. 8.13. MapleWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Maple Formatter: Unknown Availability: Anonymous ftp from: LPA:/maple Readme: Unknown Description: None Support: Unknown 8.14. MWEB (Schrod/Detig) Developer: Joachim Schrod Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. 8.15. MWEB (Sewell) Developer: Sewell Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. 8.16. noweb Developer: Norman Ramsey Version: 2.8 Hardware: Unix and DOS platforms (DOS binaries available for v2.7). Languages: All programming languages, singly or in combination. Automatic indexing for C, Icon, Pascal, Standard ML, TeX, Yacc Formatter: Plain TeX, LaTeX, and HTML formatters. Will convert LaTeX to HTML automatically. Availability: Anonymous ftp from: CTAN:/web/noweb LPA:/independent Last recourse, use ftp.cs.virginia.edu:pub/nr Readme: With bundle above, or see the noweb home page: http://www.cs.virginia.edu/~nr/noweb Those without ftp access can consult ``Literate Programming Simplified,'' IEEE Software, September 1994, pp97-105. Description: noweb is designed to meet the needs of literate programmers while retaining the simplest possible input format. Its primary advantages are simplicity, extensibility, and language-independence. noweb uses 5 control sequences to WEB's 27. The noweb manual is only 3 pages; an additional page explains how to customize its LaTeX output. noweb works ``out of the box'' with any programming language, and supports TeX, latex, and HTML back ends. A back end to support full hypertext or indexing takes about 250 lines; a simpler one can be written in 40 lines of awk. The primary sacrifice relative to WEB is that code is not prettyprinted. noweb supports indexing and identifier cross-reference, including hypertext ``hot links.'' noweb includes a simple, efficient LaTeX-to-HTML converter, so you can use hypertext browsers on your legacy documents. noweb can also process nuweb programs, so you can use noweb to convert a standard nuweb program to HTML with one command. Support: email to the author 8.17. nuweb Developer: Preston Briggs: preston@cs.rice.edu Version: 0.87 Hardware: Unix systems: Sparcs, RS/6000s, HPs; (!) MSDOS and Amiga. Languages: Any programming language or combination of programming languages. Formatter: Latex Availability: Anonymous ftp from: Unix: CTAN:/web/nuweb DOS: CTAN:/web/nuweb-pc LPA:/independent Amiga: CTAN:/web/nuweb/nuweb_ami Amiga: wuarchive.wustl.edu/pub/aminet Readme: Send mail to preston@cs.rice.edu Description: A single program that takes a web file written in a combination of latex and any programming language(s) and produces a latex file that can be pretty printed and a set of files containing code for compilation/interpretation by the appropriate language processors. Strengths include speed, simplicity, multiple languages, nice indices and cross-references, latex. Doesn't require any special macros or macro files. Drawbacks: latex-dependent, no code pretty printing, harder to make indices than cweb. More good stuff: nice support for make, doesn't reformat source files, so they're easy to debug. Lots of control without too much effort. That is, it doesn't do too much! Future directions... Very little change planned, except perhaps refinements in the indexing software. Support: Hack it yourself or send e-mail to preston@cs.rice.edu 8.18. ProTeX Developer: Eitan Gurari Version: ProTeX 1.1, AlProTeX 1.4 Hardware: Any platform with (La)TeX Languages: Any language Formatter: TeX or LaTeX Availability: Anonymous ftp from: ftp.cis.ohio-state.edu : pub/tex/osu/gurari/ LPA:/independent Readme: With bundle above Description: + Easy to use + Extensible + Language independent + Multiple output files + Fast (single compilation provides output and dvi files) + No installation is needed besides copying the files (written in TeX) Introduction of main features and examples in pub/tex/osu/gurari/LitProg Complete manual in Eitan M. Gurari, "TeX and LaTeX: Drawing and Literate Programming", McGraw-Hill, 1994 Support: gurari@cis.ohio-state.edu 8.19. RWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/reduce Readme: Unknown Description: Web generator in AWK. Support: Unknown 8.20. SchemeWEB Developer: John D. Ramsdell Version: 2.1 Hardware: Unix and DOS platforms Languages: Any dialect of Lisp. Formatter: LaTeX. Availability: The Unix version is in the Scheme Repository and it is available via anonymous ftp from: cs.indiana.edu:/pub/scheme-repository/utl/schemeweb.sh LPA:/lisp CTAN:/tex-archive/web/schemeweb The DOS version is part of the PCS/Geneva Scheme system which is available via anonymous ftp from: cui.unige.ch:/pub/pcs LPA:/machines/ms-dos Readme: In bundle with above. Description: SchemeWEB is a Unix filter that allows you to generate both Lisp and LaTeX code from one source file. The generated LaTeX code formats Lisp programs in typewriter font obeying the spacing in the source file. Comments can include arbitrary LaTeX commands. SchemeWEB was originally developed for the Scheme dialect of Lisp, but it can easily be used with most other dialects. Support: Bug reports to ramsdell@mitre.org. 8.21. SpideryWEB Developer: Norman Ramsey Version: Unknown Hardware: Unix and DOS platforms Languages: Most Algol-like languages, including C, Ada, Pascal, Awk, and many others. Formatter: Plain TeX and latex for text formatters. Availability: Anonymous ftp from: CTAN LPA:/spiderweb Readme: In distribution. Description: A system for building language-dependent WEBs. Spider is frozen; no further development is planned. Support: Bug reports to spider-bugs@oracorp.com. 8.22. WEB Developer: Donald Knuth Version: Unknown Hardware: Unknown Languages: Pascal Formatter: TeX (of course! ;-) Availability: Anonymous ftp from: LPA:/pascal Readme: Unknown Description: This is the original software that started it all. The original TeX processor was written in WEB. Support: None known. 8.23. WinWordWEB Developer: Lee Wittenberg Version: Unknown Hardware: Needs Microsoft Word for Windows, v.2.x, and, of course, MS-Windows 3.x. Languages: Any programming language. Formatter: Word for Windows 2.x for text formatting and file maintenance. Availability: Anonymous ftp from: bart.kean.edu:pub/leew LPA:/machines/ms-dos World-Wide Web (WWW) Readme: WORDWEB.DOC in the downloadable package describes the system. Description: WinWordWEB is a set of a Word for Windows macros (plus a paragraph style) that provide a crude literate programming environment. The ``look and feel'' of the system is based on Norman Ramsey's noweb, but can easily be modified to suit individual tastes. Support: None. WinWordWEB was written as a prototype to see if a WYSIWYG literate programming system was possible. It is intended as a jumping off point for future work by others. However, the system is surprisingly usable as it stands, and the author is interested in hearing from users (satisfied and dissatisfied). Anyone interested in actively supporting (and improving) the product should contact the author via email. 9. Are there other tools I should know about? First of all, I'll list some not-quite-literate-programming tools. Some may consider these to be pretty-printers. Others may call them literate programming tools. In any event, they don't seem to be quite in the same category as the tools listed above, so I'll include them here. 9.1. C2LaTeX Developer: John D. Ramsdell Version: Unknown Hardware: Unix Languages: C Formatter: LaTeX but it's easy to change the formatter. Availability: Anonymous ftp from omnigate.clarkson.edu:/pub/tex/tex-programs/c2latex. Readme: Absent. Documentation is in the C source for c2latex. Description: C2latex provides simple support for literate programming in C. Given a C source file in which the comments have been written in LaTeX, c2latex converts the C source file into a LaTeX source file. It can be used to produce typeset listings of C programs and/or documentation associated with the program. C2latex produces LaTeX source by implementing a small number of rules. A C comment that starts at the beginning of a line is copied unmodified into the LaTeX source file. Otherwise, non-blank lines are surrounded by a pair of formatting commands (\begin{flushleft} and \end{flushleft}), and the lines are separated by \\*. Each non-blank line is formatted using LaTeX's \verb command, except comments within the line are formatted in an \mbox. Support: Send bug reports to ramsdell@mitre.org. 9.2. c2cweb Developer: Werner Lemberg Version: 1.5 Hardware: DOS, OS/2, Unix (gcc) - CWEB source included Languages: C, C++ Formatter: TeX Availability: Anonymous ftp from CTAN:/web/c_cpp/c2cweb Readme: In distribution. Description: c2cweb will transform plain C or C++ code into a CWEB file to get a pretty formatted output. A modified CWEAVE (which transforms the CWEB file into a TeX file, see below) is included also. Support: Werner Lemberg 9.3. c2man language: C, nroff, texinfo, latex, html package: c2man version: 2.0 patchlevel 33 parts: documentation generator (C -> nroff -man, -> texinfo, ->latex, -> html) author: Graham Stoney location: ftp from any comp.sources.misc archive, in volume42 (the version in the comp.sources.reviewed archive is obsolete) ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl Australia: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from archie.au N.America: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from ftp.wustl.edu Europe: ftp /News/comp.sources.misc/volume42/c2man-2.0/* from ftp.irisa.fr Japan: ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/* from ftp.iij.ad.jp Patches: ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se description: c2man is an automatic documentation tool that extracts comments from C source code to generate functional interface documentation in the same format as sections 2 & 3 of the Unix Programmer's Manual. It requires minimal effort from the programmer by looking for comments in the usual places near the objects they document, rather than imposing a rigid function-comment syntax or requiring that the programmer learn and use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications. conformance: supports both K&R and ISO/ANSI C coding styles features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format + handles comments as part of the language grammar + automagically documents enum parameter & return values + handles C (/* */) and C++ (//) style comments - doesn't handle C++ grammar (yet) requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX. ports: Unix, OS/2, MSDOS, VMS. portability: very high for unix, via Configure status: actively developed; contributions by users are encouraged. discussion: via a mailing list: send "subscribe c2man " (in the message body) to listserv@research.canon.oz.au help: from the author and other users on the mailing list: c2man@research.canon.oz.au announcements: patches appear first in comp.sources.bugs, and then in comp.sources.misc. updated: 1994/10/07 9.4. cnoweb Developer: Jim Fox Version: 1.4 (January 4, 1991) Hardware: Anything with C and TeX. Languages: C Formatter: Plain TeX. Availability: Anonymous ftp from: CTAN LPA:/c.c++ Readme: Unknown, cnoweb.tex contains documentation. Description: cnoweb is as it's name describes: write C, not web. No tangling or weaving is implemented. Documentation (between standard /* */ delimiteres) is written in TeX. cnoweb provides typesetting of documentation, an table of contents of routines, and pretty-printing of C source. Support: None known. 9.5. Fold2Web Developer: Bernhard Lang Version: V0.8 Hardware: MSDOS Languages: All (must allow comment lines) Formatter: LaTeX Availability: Anonymous ftp from: kirk.ti1.tu-harburg.de (134.28.41.50) /pub/fold2web/readme /pub/fold2web/fold2web.zip Readme: In distribution Description: The idea behind the Fold2Web tool is the following: A programmer can write his program source with a folding editor and later map the folded source files automatically to WEB-files. The generated WEB-files can then be modified by inserting required documentations. The advantage by starting program developement with original sources is to get short design cycles during the compile/debug steps. By using a folding editor the global structuring information can be already captured in folds during this developement phase. Fold information is typically stored in comment lines and thus will not affect the efficiency of the compile/debug design cycle. Some folding editors and a folding mode for the emacs are available (e.g. see our FUE folding editor for MSDOS machines which is a modified micro emacs. Pick it at kirk in directory /pub/fold2web). After reaching a stable version of a program source its time to convert the source file to a WEB-file and do the program documentation. Fold2Web is written to convert folded source text of any programming language to nuweb files. The folded structure is kept by mapping folds to scraps. Fold markers which differ between languages due to different ways of specifying comments can be configured for each language. Good results can also achived when given but poor documented program sources have to be modified. Such sources can be folded using a folding editor to extract the global structures. This offers a global view to the program structures and help to understand its functionality. Furthermore the program code is not affected, only comment lines are inserted. Once folded the program source can be automatically translated to a WEB document using the above tool. Support: email to lang@tu-harburg.d400.de 9.6. Funnelweb Mode Developer: Daniel Simmons Version: Unknown Availability: http://www.miscrit.be/~ddw Description: The other day I did a quick hack to nuweb.el as included with the nuweb distribution so as to make a funnelweb-mode.el. I've only used it briefly, and I'm sure that it can be improved quite a bit. I've been thinking about adding support for folding on sections, a pull-down menu to select macro definitions (like the recent functions posted to gnu.emacs.sources for a C function definition pull-down menu) and some kind of tags support for funnelweb. Support: Unknown 9.7. noweb.el Developer: Bruce Stephens Version: Unknown. Availability: LitProg archives (in an email message). Description: This is a very simple mode I just hacked up. There's a lot wrong with it, but I thought others may be interested, even as it stands. It *requires* text properties, and assumes those used in GNU Emacs 19.22; it'll quite likely work with Lucid Emacs, but I haven't tried it. I use it with auctex8.1 and cc-mode 3.229, both of which are loaded separately (I think my emacs is dumped with them, in fact). The idea is to have one mode (which calls itself c-mode, but actually has LaTeX-mode keybindings) generally (this means that the code is hilighted nicely), and have the code chunks use a different keymap. Support: Email to bruce@liverpool.ac.uk 9.8. nuweb.el Developer: Dominique de Waleffe Version: 1.99 Availability: Anonymous ftp from: LPA CTAN Description: Provides a major mode extending Auctex for editing nuweb files. Main features (in 2.0): - Edit scrap bodies in a separate buffer in a different mode (selected using emacs defaults for files, specific indication -*-mode-*-, or a buffer-local variable) - Extends Auctex commands so that nuweb is called before LaTeX, - Easy navigation on scrap definition and use points. - Now creates an imenu (C-M-mouse1) with user index entries, macro definition positions and file definition positions. Support: Email to ddw@acm.org 9.9. TIE Developer: Unknown Version: Unknown Hardware: Unknown Availability: Anonymous ftp from: LPA:/Tools Readme: Unknown Description: This software merges change files. Support: Unknown 9.10. Web mode Developer: Bart Childs Version: Unknown Tools supported: web, fweb, cweb, funnelweb Availability: Anonymous ftp from ftp.cs.tamu.edu:pub/tex-web/web/EMACS.web-mode thrain.anu.edu.au:pub/web/EMACS.web-mode Description: This version works with versions 18 and 19 of Emacs to be best of my knowledge. I have cleaned up a number of documentation items ... In the same directory is wm_refcard.tex which is an edited version of the famous one to include some web-mode commands. The files limbo* are related to its use and notice that half them have an uppercase L in them for LaTeX. The setup is based upon the fact that we (I am not alone here) primarily use FWEB for C and Fortran programming. We are using version 1.40 of FWEB although John Krommes warns that it is not mature and the manual is not yet updated. The info files are! We are using LaTeX almost exclusively. That will likely change and we will revert to version 1.30 if the final form of 1.40 cannot return to the simple section numbers and avoid the HORRIBLE LATEX 0.1.7.2.4.6 type section numbers. Support: Unknown 10. What other resources are available? 10.1. World Wide Web An untapped resource (by me anyway ;-) is the World Wide Web. Marcus Speh has expended considerable effort in this regard. If you're connected to WWW, then access: http://info.desy.de:80/user/projects/LitProg.html If you aren't connected to WWW, telnet to info.cern.ch and explore. You can reach Marcus' literate programming pages by typing: go http://info.desy.de:80/user/projects/LitProg.html or use a WWW browser and access the URL ftp://rtfm.mit.edu/pub/usenet/news-answers/www/resources/literate-programming Help for people who have only Email and neither WWW nor telnet, can be obtained by Email from TEST-LIST@INFO.CERN.CH by sending a message, SEND , for example, SEND http://info.desy.de:80/user/projects/LitProg.html to retrieve the LitProg library page. A help file can be retrieved by sending a message to the list server above with the text HELP in the body of the message. Instructions will be returned by email. For literate programming documents, you can try anonymous ftp to rtfm.mit.edu and retrieve the official Usenet resource file /pub/usenet/news.answers/www/resources/literate-programming 10.2. TeX Resources Another resource of interest to literate programmers is the comp.text.tex newsgroup. If you're using (La)TeX as your typsetting system and have access to internet, then you should investigate this resource. Another reason the TeX resources should be important is that so many of the literate programming tools rely on either plain TeX or LaTeX as their text formatter. (La)TeX software systems exist for most computing platforms. These systems can be found on CTAN and other major archive sites. Use archie to find them or simply ftp to one of the CTAN sites and browse. 11. Are there any code examples? Examples of web programs are included with the FWEB, CWEB, and noweb distributions. nuweb is written in itself. Cameron Smith converted the K&R calculator program into a literate program. It can be retrieved by anonymous ftp from: niord.shsu.edu [192.92.115.8] directory kr-cweb-sample as krcwsamp.zip or from LPA/Documentation Ross Williams has released a funnelweb example. You can retrieve this file from node ftp.adelaide.edu.au 129.127.40.3 as /pub/funnelweb/examples/except.* This file should be on CTAN as well. Lee Wittenberg has posted a few litprog examples. They are available via anonymous ftp from: ftp://samson.kean.edu/pub/leew/samples.LP The Stanford GraphBase is a large collection of programs by Don Knuth for doing all kinds of computations and games with graphs; it is writ- ten in (Levy/Knuth) CWEB. More details in the distribution. It is available via anonymous ftp from: labrea.stanford.edu:/pub/sgb 12. Bibliographies Nelson Beebe has collected an extensive bibliography treating literate programming. His work is available for anonymous ftp from ftp.math.utah.edu 128.110.198.2 in directory /pub/tex/bib as files: litprog.bib litprog.ltx litprog.twx. Although I have not verified this, LPA is an alternate source for these files. Note that they are updated frequently (Nelson says sev- eral times each week), so be sure to get a fresh copy before extensive use. Joachim Schrod indicates that these files may be updated daily and can be retrieved via anonymous ftp at LPA/documentation. 13. How to anonymously ftp Pretty much everything mentioned here is available by anonymous FTP. FAQ lists cross-posted to news.answers and rec.answers can be gotten from rtfm.mit.edu 18.181.0.24, under /pub/usenet/news.answers or under /pub/usenet/more.specific.group.name "anonymous FTP" is just a way for files to be stored where anyone can retrieve them over the Net. For example, to retrieve the latest version of the literate programming FAQ, do the following: > ftp rtfm.mit.edu /* connect to the site; message follows */ > anonymous /* type this when it asks for your name */ > /* type your address as the password */ > cd /pub/usenet /* go to the directory you want to be */ > cd comp.programming.literate /* one level down (no slash). */ > dir /* look at what's there */ > get literate-progamming-faq /* get the file; case-sensitive */ > quit /* stop this mysterious thing */ If your FTP program complains that it doesn't know where the site you want to use is, type the numerical address instead of the sitename: > ftp 18.181.0.24 /* connect with numerical address */ If you don't have ftp access, send e-mail to mail-server@rtfm.mit.edu with the single word "help" in the body of the message. Getting binary files (executables, or any compressed files) is only slightly more difficult. You need to set binary mode inside FTP before you transfer the file. > binary /* set binary transfer mode */ > ascii /* set back to text transfer mode */ FAQs and spoiler lists are generally ascii files; everything else is generally binary files. Some common extensions on binary files in archive sites are: .Z Compressed; extract with uncompress .tar.Z Compressed 'tape archive'; uncompress then untar or tar -xvf .gz or .z Gnu gzip; use gunzip (available from prep.gnu.ai.mit.edu) .sit (Mac) StufIt archive .zip Extract with Zip or Unzip .zoo Yet another archive/compress program .lhe (Amiga) ? .lzh Lha archive program. .arj (PC) Arj archive program. .exe (PC) Sometimes self-extracting archives-just execute them. .uue or .UUE Transfer as text file; use uudecode to convert to binary .hqx (Mac) BinHex format; transfer in text mode Generic help can be found in the FAQs of comp.binaries. for how to transfer, extract, and virus-check binary files. (At rtfm.mit.edu) If you can't FTP from your site, use one of the following ftp-by-mail servers: ftpmail@decwrl.dec.com ftpmail@src.doc.ic.ac.uk ftpmail@cs.uow.edu.au ftpmail@grasp.insa-lyon.fr For complete instructions, send a message reading "help" to the server. If you don't know exactly what you're looking for, or exactly where it is, there are programs and servers that can help you. For more info, send e-mail to mail-server@rtfm.mit.with with the body of the message reading send usenet/news.answers/finding-sources Thanks to Aliza R. Panitz (the "buglady") for this text. I copied it verbatim from her post on faq-maintainers with only minor modifications. 14. Acknowledgements This document would not have happened without the help of many people. Among them are Marcus Speh, George Greenwade, Rob Beezer, Joachim Schrod, Piet van Oostrum, and Ross N. Williams. A special thanks to Aliza R. Panitz for the text describing how to execute an anonymous ftp for files of interest. Any omissions from these acknowledgements should be considered an act of stupidity on my part. Of course, the authors of literate programming tools mentioned above all play a vital role in the vitality of literate programming. Furthermore, participants in the comp.programming.literate newsgroup (and associated mailing list) all contributed in various fashions. Thank all of you. 15. End notes This document will continue to evolve. I'm planning on adding entries for additional literate programming tools and will expand the sections on examples as more examples become available. Tools I will include are WEB (the original pascal version) for starters. Others will be added as I find and document them. Omission of a particular tool should not be considered a snub in any sense--simply an error or oversight on my part. 30-Oct-1997 3:13:04-GMT,4548;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id UAA22977 for ; Wed, 29 Oct 1997 20:13:03 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 29 Oct 1997 09:47:54 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: Some comments Date: 29 Oct 1997 15:12:30 GMT Message-ID: <637jou$a5c$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On 29 Oct 1997, Marc van Leeuwen wrote: > Anthony Towns wrote: > > > Well, I finally took the plunge and wrote a program literately. > ... > > <<[[function]]>>= > > int function(int a, int b, int c) > > { > > <> > > int result; > ... > > while ( <> ) { > > <> > > } > ... > > return result; > > } > > > > I left "result" outside of <> in a few cases, because > > I thought it looked really eerie magically returning an "undeclared" > > variable at the end of the function. It may have been a better move to > > move "return result;" into a chunk itself, though. > > In my opinion, to the contrary, you should try to avoid having a chunk > <>> altogether, since C allows variables to be declared > local to the block in which they are used (rather than the function, as > in Pascal; there such a structure would be justified). I think this is a very good point. I think the overriding "style" rule should be something like "every chunk should be self-sufficient unto itself wrt variables". The only exception is a variable mentioned explicitly in the chunk name. > > I ended up with one place where I wanted to use "break" from a > > different chunk to that where the loop itself was declared. I named > > that chunk along the lines of <>, which seemed > > ugly. I'm guessing that litprog just tends to become _really_ painful > > if you don't follow recommended practices all the way, through. > > What you did is quite appropriate, and does not seem ugly to me at all. > Some people might object to using [[break]] at all, or any other form of > jump (I'm not sure what they think about [[return]]), but I don't (I > think it is just as decent as other things one does in C), and > mentioning it in the chunk name provides sufficient warning to the > reader of this chunk. I admit though, that is would become awkward if > the actual [[break]] were buried in two or more levels of chunks, all of > whose names would then have to warn about the presence of [[break]] (one > really stupid reason, because it could have been avoided if the syntax > of C had been thought about properly, is that people modifying the code > must be warned never to use such a chunk inside a [[switch]] statement). I believe that in literate programs with an identifier index, a goto is often more understandable than any of the "structured branches", when the target of the branch is outside the current chunk. For example (in noweb notation): <>= while (whatever) { <>; } finished: @ %def finished ... some time later ... <>= <>; if (we're done) goto finished; If I use a [[break]] in place of the goto, it's rather difficult in the woven code for the reader to find out where the loop is that is being broken out of (not so much here, but when the break is actually in a chunk that is nested somewhere within [[<>]], there are many levels to traverse. With [[finished]] in the index, it's always a 2-step process (1-step if the chunk mini-index is used). -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Kvant was incorruptible. He never Computer Science Department | compromised over things he saw, but on Kean University | the other hand he was an expert at seeing Union, NJ 07083 | as little as possible | -- Maj Sj\"owal and Per Wahl\"o\"o leew@samson.kean.edu | "The Laughing Policeman" (1968) ------------------------------------------------------------------------ 30-Oct-1997 6:46:49-GMT,1975;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id XAA26845 for ; Wed, 29 Oct 1997 23:46:47 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 30 Oct 1997 00:26:25 EST From: daprogramr@aol.com (DaProgramr) Reply-To: LitProg@SHSU.edu, daprogramr@aol.com Subject: Programming Club Date: 30 Oct 1997 06:22:12 GMT Message-ID: <19971030062201.BAA05882@ladder01.news.aol.com> To: LitProg@SHSU.edu Hi! How ya doing? This is DaProgramr from AOL.COM. I came to you all with a simple question. Do you enjoy programming? If so than join us at PDE EXTREME!! What is PDE EXTREME your asking? Well PDE EXTREME is an awesome programming development club located on AOL and the Internet. We have an assortment of members ranging from graphic programmers to vice presidents. Our club is highly motivated and exceptionally therough in the creation of games and applications for the DOS, WIN3.1, and WIN95 enviroments. We are currently in the process of taking requests for club leaders such as vice president, lead programmer, lead graphic programmer, and many more postions. We also meet once a week in private room PDE EXTREME on AOL to discuss the clubs agenda, ideas for projects, the current project, new members, and lots, lots, more! If you have any questions, concerns , or comments please leave them to user: DaProgramr@aol.com. If you are interested in joining our exciting group please send the following info to DaProgramr@aol.com. NAME E-MAIL POSITION THAT YOU WOULD LIKE IN THE CLUB YOUR STRENGTHS PROJECTS THAT YOU HAVE DONE IDEAS FOR PROJECTS Thanks!!!! Daprogramr PDE EXTREME President ****Visit the PDE EXTREME WEB PAGE at http://www.geocities.com/Athens/Parthenon/6206**** 30-Oct-1997 23:41:17-GMT,2163;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id QAA18210 for ; Thu, 30 Oct 1997 16:41:16 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from db.stern.nyu.edu by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 30 Oct 1997 13:08:30 EST Received: from rnd.Stern.nyu.edu (rnd.stern.nyu.edu [128.122.185.51]) by db.stern.nyu.edu (8.8.5/8.8.5) with ESMTP id OAA17244 for ; Thu, 30 Oct 1997 14:07:42 -0500 (EST) Received: from localhost (fchen@localhost) by rnd.Stern.nyu.edu (8.8.5/8.8.5) with SMTP id OAA18795 for ; Thu, 30 Oct 1997 14:07:41 -0500 (EST) Date: Thu, 30 Oct 1997 14:07:41 -0500 (EST) From: Fei Chen Reply-To: LitProg@SHSU.edu, fchen@stern.nyu.edu To: literate programming Subject: matlab and noweb Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII hi all, i'm encoutering a situation that i don't know what to do about, hope some one can help? i'm using noweb to document my matlab .m files. my question is, how can i generate one single TeX documentation out of the root file, which contains noweb source codes for other functions? for example: ------------------------------------- root.nw: \section{Root} @ <<*>>= <> @ blah <>= loaddata; ------------------------------------- loaddata.nw: \section{Loaddata} @ <<*>>= <> @ blah <>= load datamatrix; ------------------------------------- the goal here is for root.tex to have documentation on both root.m and loaddata.m. one simple solution (seems to me anyway) is to "noweave -n loaddata.nw > loaddata.tex" and include the output in root.tex. but such inclusion seems to be a bit ad hoc. where should i place "\input loaddata.tex" in root.tex? is there something like a "@i" as in CWEB? any help is appreciated, fei 31-Oct-1997 5:26:50-GMT,25318;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id WAA24914 for ; Thu, 30 Oct 1997 22:26:48 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 30 Oct 1997 10:56:03 EST From: "Norman" Reply-To: LitProg@SHSU.edu, turas@post.omnitel.net Subject: CADS, plugins, 3D MAX, Corel, design for cheap price Date: 30 Oct 1997 16:41:30 GMT Message-ID: <01bce550$b202bec0$0100007f@Norman.omnitel.net> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_01BCE561.758B8EC0" Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu This is a multi-part message in MIME format. ------=_NextPart_000_01BCE561.758B8EC0 Content-Type: text/plain; charset=ISO-8859-4 Content-Transfer-Encoding: 7bit On one CD including software: CAD & SOFT GOLD COLLECTION 2++ 1. 3D LandScape v1.0 for Windows 2. AutoCAD 13 C4 (Windows-NT, Windows'95) 3. AutoCAD 13 M3 (Windows'95) 4. AutoCAD Release 14 Final (Windows'95/NT) 5. AutoCAD LT + Arcitectural, Electrical Symbols, Mechanical AddOns 6. AutoCAD Utils & AddOns Big Collection 7. Autodesk AutoVision version 2.0 (Win/Win95/NT) for AutoCAD R13 8. Autodesk Mechanical Desktop WORKING FINAL for AutoCAD version 13c4 9. Autodesk WorkCenter v1.1 for Windows NT Client/Server 10. CAD/DRAW v4.22 Level 2 for Windows95/NT 11. Chief Architect v4.0 12. DataCAD Professional v5.05 for Windows 13. DesignCAD 3D for Windows 14. DMA Muse v2.02 VPF/GIS DMA Mapping, Charting and Geodesy Utility Software 15. DWC Utility VPF/GIS Noninteractive DWC VPF Conversion Utilities 16. EasyCAD v4.5 for Win95 17. MathCAD Plus 6.0c + MathSoft's Patches 18. Mathematica v3.0 for Win95/NT 19. Micro CADAM Systems 14.1 20. MicroStation Modeller v05.04.09.34 for DOS & x86 Windows 21. MicroStation'95 v05.05.02.12 English for DOS & Windows 22. MicroStation'95 v5.51 23. OrCAD Capture v6.10 24. OrCAD SDT 386+ v1.21 AH 25. OrCAD Layout v7.0 Win95 NT Updated Crack 26. PCAD 8.50 Includes: Auto Router, PCad Tutor Files, PRT Disks, SYM Disks 27. Quick & Easy CAD for Win/Win95 CD-RiP 28. SigmaStat v2.01 For Win95/NT 29. Silver Screen 3D v4.61a Solid Modelling Software 30. Statistica v5.0 for Windows 31. TangoPro v3.00 for Windows 32. TurboDLDClassic v3.0 - graphic enhancer for ACAD/Microstation 33. TurboCAD 3D v1.0 for Windows 34. Visio Technical v4.0 35. Visio Professional v4.5 *FINAL* CD-ROM 36. #Serial#.crk Serial Number & Cracks Big Collection 3D graphics 1. 3D STUDIO PLUGINS 1. ATOMIZER 1.04 UPDATE 2. AUTHORIZATION SERVER UPDATE 3. BONES PRO 1.5D 4. BONES PRO 2.0B 5. CHAMELEON 094 6. CLAY STUDIO PRO BETA 2 7. CLAY STUDIO 1.13D 8. FRACTAL FLOW MAX 1.0D 9. GLIDER 1.04 UPDATE 10. HAIR RENDERER & FUR PARAMETER 0.05 11. IMAGE MASTER 1.14D AND DOCS & SCENE 12. LENZFX MAX 1.0D 13. MENTAL RAY SHADERS BY PHOENIX TOOLS 14. OUTBURST BY ANIMATION SCIENCE 15. PANDORA PLUGIN BETA 2 16. PRIMATTE PLUG-IN 17. REAL LENZ FLARE WITH 1.53 UPDATE 18. SAND BLASTER MAX 1.12D 19. TREEFACTORY 1.05D 3D VIEWERS/CONVERTERS 20. POLYTRANS 1.2E 21. MASTER CONVERTER 1.80 22. MASTER CONVERTER 1.81 23. POLY TRAN 1.1 3D MODELING PROGRAMS 24. SOFT DESK IMAGING 8.0 25. 3D ANIMATION PRO 4.05 26. ASYMETRIX 3D FIX 2.0 27. CAD/DRAW 4.25 LEVEL2 28. CADSOFT BUILD! 3.0 29. COLLECTION OF NEW PLUGINS FOR LIGHTWAVE 3D 30. COLLECTION OF NEW PLUGINS FOR SOFTIMAGE 3D 31. CRYSTAL 3D 1.01 32. IMAGO 1.07 33. INSTANT 3D 34. MECHANICAL ENGINEERING 7.10 35. MICROSTATION 95 05.05.05.55 36. MICROSTATION POWERDRAFT 05.05.05.09 FOR MICROSTATION 95 ADDON 37. NUGRAF3D RENDERING SYSTEM 1.3F 38. PHOTO MODELLER LX 39. PIXEL 3D 1.06 40. PROFESSIONAL ENGLISH CAD SYSTEM 41. SOFTDESK 8.0 42. SOLID EDGE 3.0 43. SYMPLY 3D 2.0 44. TRISPECTIVES 2.0 45. ULEAD COOL 3D 1.0 Animation & painting 1. 3D STUDIO 4C1 + RUSSIAN DOCS 2. 3D, ANIMATOR FONTS 3. RUSSIAN TTF FONTS 4. ANIMATOR STUDIO 1.1 95 + RUSSIAN DOCS 5. ANIMATOR STUDIO 1.3 DOS 6. CUNEI FORM 2.95 7. FORMULA GRAPHICS MMS 4.0 95/NT 8. FRACTAL DESIGN PAINTER 4.0 9. FRACTAL GENERATOR 1.0A 10. FREEHAND 5.0 11. GRAPHICS CONVERTER GOLD WIN/95 12. INSTANT 3D 95 13. KAI'S POWER TOOLS 3.0 95/NT 14. MICROGRAFX ABC GRAPHICS SUITE 6.0 (Picture Publisher, Designer, Media Manager & Flow Charter) 15. MS PLUS! 16. MS OFFICE 95 RUS 17. PHOTO MORPH 1.2 95/NT 18. PHOTOSHOP 3.05 19. QMODEM 2.0 20. QUARK XPRESS 3.31>3.32 21. RAY DREAM STUDIO 95/NT 22. SOLID EDGE 23. STYLUS 2.5 OFFICE 24. TRUE SPACE 1.0 95/NT 25. WINDOWS 95 PE 26. WINDOWS 95 RUS 3D STUDIO DISK1 1. 3D STUDIO 3.0 2. 3D STUDIO 4.0 3. 3D STUDIO LIBRARY 3D max 1. 3D STUDIO MAX 1. 3D STUDIO MAX 1.2 CD VERSION 2. 3D STUDIO MAX 1.2 FULL SDK 3. 3D STUDIO MAX DESIGN GUIDE 4. 3D STUDIO MAX DOCUMENTATION *.PDF 5. 3D STUDIO MAX FONT COLLECTION 6. 3D STUDIO MAX TUTORIAL *.J 7. plugins for 3D STUDIO MAX 8. 3d cafe plugin 9. 3d studio max plugin collection'97 10. 3d vision videopost filter 1.0 11. 3d ipas3 resource editor 12. 4d paint plugin 13. all purpose prticles manual for 3d studio max 14. atomizer final 15. bubble 3d 1.0 16. character studio 1.1u 17. character studio manuals *.bmp 18. clay studio 1.12b 19. clothreyes 1.02 20. digimation bones pro documentation *.jpg 21. digimation bones pro max 1.02 22. digimation bones pro tutorials *.max 23. digimation lighting 1.0 24. digimation plugin set#1 25. digimation plugin set#2 26. fractal flow 1.0 27. fun holliday pack 28. genesis 1.0 29. hyppermatter plugin 1.0 30. illustrate! 2.0 31. lenzfx beta9 32. lightscape importer beta 2 33. lightscape importer plugin beta 34. max trax manuals plugin 35. max trax manual *.pdf 36. maxhair 1.2 37. meshpaint 3d 1.5.137 38. metamax 1.2 39. metareyes 3.0 40. morph magic plugin 1.0 41. morph magic plugin 1.11 42. motion manager 3.0b 43. motion texture set2: water 44. motion texture set 1: flames 45. new meshes & projects 46. radiosity render 47. reallenzflare 1.0 48. sand blaster 1.0 49. sand blaster 1.11b 50. splash for max - documentation *.pdf 51. splash 1.02 update files 52. texture lab 53. tree factory 1.04 lightwave 3d 54. lightwave 3d 5.5 55. lightwave 3d 5.5 so expected addon 56. lightwave 3d documetation *.pdf plugins for lightwave 3d 57. fiber factory 58. film grain 1.0-ad 59. gaffer 1.0 60. gif-image saver plugin 61. layout plugin 62. lightwave plugin set#1 63. lightwave plugin set#2 64. lightwave plugin set#3 65. mcen tree factory 66. morph gizmo pro 67. motion master pro pak1 68. particle storm 1.1 69. psx development 70. puppet master 71. qv plugin 72. seashell modeler plugin 73. shaderman beta - renderman shaders 74. sparks plugin 75. surface effectors 1.oe 76. vrml 2.0 77. wavefilter 1.0 78. wavefilter 2.0 softimage 3d 79. softimage 3d extreme 3.7 80. softimage 3d extreme addon 81. softimage 3d manual I 82. softimage 3d manual ii plugins for softimage 3d 83. 4d paint 1.5 rembrandt 84. kaboom plugin fix 85.&#009;super ellipsoid COREL DRAW 7 (Productivity, power and precision) 1. CorelDRAW 7 2. Corel PHOTO-Paint 7 3. CorelDREAM 3D 7 4. Kodak Digital Science 5. Corel TEXTURE 6. Corel OCR-TRACE 7. Corel MULTIMEDIA MANAGER 8. CorelDEPTH 9. CorelSCAN 10. Corel CAPTURE 11. Corel SCRIPT Editor COREL DRAW 7(DESIGNER'S TEARS) 1. ABC GRAPHICS SUITE 6.0 FOR WIN95/NT 13. ADOBE ACROBAT READER 3.0 FOR WIN95/NT 14. ADOBE MORPH SE 15. ADOBE TYPE MANAGER 4.0 16. ADBE PREMIERE 4.2 FOR WIN95/NT 17. ADOBE PREMIERE & PLUGIN SDK 18. COREL DRAW 7 FINAL CD RIP FOR WIN95/NT 19. FRACTAL DESIGN EXPRESSION FOR WIN95 20. MACROMEDIA FREEHAND 7.0 FOR WIN95 21. KODAK PHOTO CD SOFTWARE & SAMPLES 22. KAI'S POWER CONVOUER 23. KAI'S POWER GOO RETAIL FOR WIN95/NT 24. STRATA MEDIAPAINT 1.0 25. FRACTAL DESIGN PAINTER 4.03 FOR WIN95/NT 26. PAINTSHOP PRO 4.0 & 4.1 UPGRADE 27. ULEAD PHOTOIMPACT 3.0 FULL 28. QUICK VIEW FOR WIN95 29. RAY DREAM STUDIO FULL FOR 30. SIMPSON'S CARTOON STUDIO 1.1 31. CALIGARY TRUESPACE 2.0 FOR WIN95 32. ULEAD VIDEO STUDIO 2.0X 33. COREL XARA 1.1 & 1.2 UPDATE FOR WIN95 34. MACROMEDIA XPRESS 2.01 SPECIAL EDITION 35. SERIAL NUMBERS COLLECTION ALL FOR PAINTER (PROFESSIONAL SOFT COLLECTION 2.2) 1. 3D STUDIO 4.0 FOR NT 2. 3D STUDIO 4.0 3. ABC MICROGRAFX SUITE 6.0 4. COREL DRAW 4.0 + 5. COREL DRAW 5.0F2 6. COREL PRINT HOUSE 1.0 7. COREL XARA 8. CRAYOLA ART STUDIO KID 9. FLAMINGO FOR WINDOWS 10. GRABERS 11. HARWARD GRAPHICS 4.0 95 12. KAI'S POWER TOOLS 3.0 microsoft visual studio 97 enterprice edition 2 cd 1. microsoft visual basic 5.0 2. microsoft visual foxpro 5.0 3. microsoft visual j++ 1.1 4. microsoft visual interdev 1.0 5. microsoft visual c++ 5.0 6. microsoft visual source safe 5.0 7. microsoft transaction server 1.0 8. tools 9. readme 10. microsoft developer network (msdn) SOFT 48 DELPHI 3 BUILD 3.0.4.78 VISUAL C++ 5.0 FINAL MS VISUAL INTERDEV 1.0 FINAL MS VISUAL BASIC 5 ENTERPRISE EDITION FINAL MS VISUAL BASIC 5 ENT. ADD-ON MS VISUAL FOX PRO 5.0A SOFT + DESIGN ADOBE ILLUSTRATOR 7.0B WIN NT 4.0 RUS VISUAL C++ 5.0 LIGHTSCAPE 3.0 ALL FOR PROGRMER DISK1 1. Visuall C++ 4.0 Win95/NT 2. Borland C++ 5.0 Win95/NT Final Beta III (100% working) 3. BDE32 & IDAPI32 addons for BC++ 5.0 4. Windows 95 Game SDK 5. Win 32s 1.20 (CD) 6. Microsoft Windows 95 Resource Kit 7. Novell Appware ALM Builder SDK for Windows 8. MS Access Developers Kit 95 for MS Access 7.0 ,Windows95 9. Microsoft Help Workshop 4.0 for Windows 95 10. Visual Basic 4.0 (Standart Edition) 11. Visual Basic Crescent Upgrade Wizard (allow run vb 3.0 projects on vb 4.0) 12. Visual Basic decompiler 13. Visual FoxPro 3.0 14. Visual dBASE 5.5 15. Intersolv PVCS Tracker v3.0 NEW DELPHI 1. Visual C++ 5.0 2. Borland Ebony Suite 1.0 Server/Client 3. Powersoft Optima C++ 2.0 b 4. Open Inventor 2.2.1 5. Intel C/C++ 2.4 6. CodeWright Pro 4.0 7. Attachmate QuickApp 4.0 8. Visual C++ 4.0 for Windows-CE BORLAND C++ BUILDER 1. BORLAND C++ BUILDER PRO EDITION FINAL RELEASE 2. BORLAND C/C++ 2.0 3. BORLAND C/C++ 3.1 4. BORLAND C/C++ 4.0 5. BORLAND C/C++ 4.5 6. BORLAND C/C++ 5.0 7. JAVA FOR BORLAND C++ 5.0 8. CODEGUARD 4.5 FOR BORLAND C++ 5.0 9. CALLING 32BIT APPS FOR BC++, VC++, DELPHI 10. 80C196 C COMPILER 5.0 R1 11. INSTALLSHIELD EXPRESS BC++ 5.02 ED 12. WATCOM'97 FOR C/C++ SPECIAL EDITION 13. WATCOM C/C++ 16DELTAPACK 14. WATCOM C/C++ FOR OS/2 15. WATCOM C/C++ 32BIT VISUAL PROGRAMING 1. VISUAL BASIC 5.0 PRO 2. VISUAL C++ 5.0 PRO 3. VISUAL JAVA 5.0 PRO 4. VISUAL DIGITAL FORTRAN PRO 5. MS INTERNET EXPLORER 3.01 And many other CD foe cheap price Price many software you can find on web Please visit web: http://omnitel.net/pazintys/soft/soft1.html http://omnitel.net/pazintys/games.htm Tel/fax:+441716917580 Norman ------=_NextPart_000_01BCE561.758B8EC0 Content-Type: text/html; charset=ISO-8859-4 Content-Transfer-Encoding: quoted-printable

On one CD including software:

CAD & SOFT GOLD COLLECTION = 2++


1. 3D LandScape v1.0 for = Windows
2. AutoCAD 13 C4 (Windows-NT, = Windows'95)
3. AutoCAD 13 M3 (Windows'95)
4. AutoCAD = Release 14 Final (Windows'95/NT)
5. AutoCAD LT + Arcitectural, = Electrical Symbols, Mechanical AddOns
6. AutoCAD Utils & = AddOns Big Collection
7. Autodesk AutoVision version 2.0 = (Win/Win95/NT) for AutoCAD R13
8. Autodesk Mechanical Desktop = WORKING FINAL for  AutoCAD version 13c4
9. Autodesk = WorkCenter v1.1 for Windows NT Client/Server
10. CAD/DRAW v4.22 = Level 2 for Windows95/NT
11. Chief Architect = v4.0
12. DataCAD Professional v5.05 for = Windows
13. DesignCAD 3D for Windows
14. DMA Muse v2.02 = VPF/GIS  DMA Mapping, Charting and Geodesy Utility = Software
15. DWC Utility VPF/GIS Noninteractive DWC VPF = Conversion Utilities
16. EasyCAD v4.5 for = Win95
17. MathCAD Plus 6.0c + MathSoft's = Patches
18. Mathematica v3.0 for Win95/NT
19. Micro = CADAM Systems 14.1
20. MicroStation Modeller v05.04.09.34 for = DOS & x86 Windows
21. MicroStation'95 v05.05.02.12 English = for DOS & Windows
22. MicroStation'95 = v5.51
23. OrCAD Capture v6.10
24. OrCAD SDT 386+ v1.21 = AH
25. OrCAD Layout v7.0 Win95 NT Updated Crack
26. PCAD = 8.50 Includes: Auto Router, PCad Tutor Files, PRT Disks, SYM = Disks
27. Quick & Easy CAD for Win/Win95 = CD-RiP
28. SigmaStat v2.01 For Win95/NT
29. Silver = Screen 3D v4.61a Solid Modelling Software
30. Statistica v5.0 = for Windows
31. TangoPro v3.00 for Windows =
32. TurboDLDClassic v3.0 - graphic enhancer for = ACAD/Microstation
33. TurboCAD 3D v1.0 for Windows =
34. Visio Technical v4.0
35. Visio Professional v4.5 = *FINAL* CD-ROM
36. #Serial#.crk Serial Number & Cracks Big = Collection


3D = graphics


1. 3D STUDIO = PLUGINS
1. ATOMIZER 1.04 UPDATE
2. AUTHORIZATION = SERVER UPDATE
3. BONES PRO 1.5D
4. BONES PRO = 2.0B
5. CHAMELEON 094
6. CLAY STUDIO PRO BETA = 2
7. CLAY STUDIO 1.13D
8. FRACTAL FLOW MAX = 1.0D
9. GLIDER 1.04 UPDATE
10. HAIR RENDERER & FUR = PARAMETER 0.05
11. IMAGE MASTER 1.14D AND DOCS & = SCENE
12. LENZFX MAX 1.0D
13. MENTAL RAY SHADERS BY = PHOENIX TOOLS
14. OUTBURST BY ANIMATION = SCIENCE
15. PANDORA PLUGIN BETA 2
16. PRIMATTE = PLUG-IN
17. REAL LENZ FLARE WITH 1.53 UPDATE
18. SAND = BLASTER MAX 1.12D
19. TREEFACTORY 1.05D
3D = VIEWERS/CONVERTERS
20. POLYTRANS 1.2E
21. MASTER = CONVERTER 1.80
22. MASTER CONVERTER 1.81
23. POLY TRAN = 1.1
3D MODELING PROGRAMS
24. SOFT DESK IMAGING = 8.0
25. 3D ANIMATION PRO 4.05
26. ASYMETRIX 3D FIX = 2.0
27. CAD/DRAW 4.25 LEVEL2
28. CADSOFT BUILD! = 3.0
29. COLLECTION OF NEW PLUGINS FOR LIGHTWAVE = 3D
30. COLLECTION OF NEW PLUGINS FOR SOFTIMAGE = 3D
31. CRYSTAL 3D 1.01
32. IMAGO = 1.07
33. INSTANT 3D
34. MECHANICAL ENGINEERING = 7.10
35. MICROSTATION 95 05.05.05.55
36. MICROSTATION = POWERDRAFT  05.05.05.09 FOR MICROSTATION 95 = ADDON
37. NUGRAF3D RENDERING SYSTEM 1.3F
38. PHOTO = MODELLER LX
39. PIXEL 3D 1.06
40. PROFESSIONAL ENGLISH = CAD SYSTEM
41. SOFTDESK 8.0
42. SOLID EDGE = 3.0
43. SYMPLY 3D 2.0
44. TRISPECTIVES = 2.0
45. ULEAD COOL 3D 1.0

Animation & painting


1. 3D STUDIO 4C1 + RUSSIAN = DOCS
2. 3D, ANIMATOR FONTS
3. RUSSIAN TTF = FONTS
4. ANIMATOR STUDIO 1.1 95 + RUSSIAN = DOCS
5. ANIMATOR STUDIO 1.3 DOS
6. CUNEI FORM = 2.95
7. FORMULA GRAPHICS MMS 4.0 95/NT
8. FRACTAL DESIGN = PAINTER 4.0
9. FRACTAL GENERATOR 1.0A
10. FREEHAND = 5.0
11. GRAPHICS CONVERTER GOLD WIN/95
12. INSTANT 3D = 95
13. KAI'S POWER TOOLS 3.0 95/NT
14. MICROGRAFX ABC = GRAPHICS SUITE 6.0 (Picture Publisher, Designer, Media Manager & = Flow Charter)
15. MS PLUS!
16. MS OFFICE 95 = RUS
17. PHOTO MORPH 1.2 95/NT
18. PHOTOSHOP = 3.05
19. QMODEM 2.0
20. QUARK XPRESS = 3.31>3.32
21. RAY DREAM STUDIO 95/NT
22. SOLID = EDGE
23. STYLUS 2.5 OFFICE
24. TRUE SPACE 1.0 = 95/NT
25. WINDOWS 95 PE
26. WINDOWS 95 = RUS

3D STUDIO DISK1


1. 3D STUDIO 3.0
2. 3D STUDIO = 4.0
3. 3D STUDIO LIBRARY

3D max


1. 3D STUDIO MAX
1. 3D STUDIO MAX 1.2 = CD VERSION
2. 3D STUDIO MAX 1.2 FULL SDK
3. 3D STUDIO = MAX DESIGN GUIDE
4. 3D STUDIO MAX DOCUMENTATION = *.PDF
5. 3D STUDIO MAX FONT COLLECTION
6. 3D STUDIO MAX = TUTORIAL *.J
7. plugins for 3D STUDIO MAX
8. 3d cafe = plugin
9. 3d studio max plugin collection'97
10. 3d = vision videopost filter 1.0
11. 3d ipas3 resource = editor
12. 4d paint plugin
13. all purpose prticles = manual for 3d studio max
14. atomizer final
15. bubble = 3d 1.0
16. character studio 1.1u
17. character studio = manuals *.bmp
18. clay studio 1.12b
19. clothreyes = 1.02
20. digimation bones pro documentation = *.jpg
21. digimation bones pro max 1.02
22. digimation = bones pro tutorials *.max
23. digimation lighting = 1.0
24. digimation plugin set#1
25. digimation plugin = set#2
26. fractal flow 1.0
27. fun holliday = pack
28. genesis 1.0
29. hyppermatter plugin = 1.0
30. illustrate! 2.0
31. lenzfx = beta9
32. lightscape importer beta 2
33. lightscape = importer plugin beta
34. max trax manuals plugin =
35. max trax manual *.pdf
36. maxhair = 1.2
37. meshpaint 3d 1.5.137
38. metamax = 1.2
39. metareyes 3.0
40. morph magic plugin = 1.0
41. morph magic plugin 1.11
42. motion manager = 3.0b
43. motion texture set2: water
44. motion texture = set 1: flames
45. new meshes & = projects
46. radiosity render
47. reallenzflare = 1.0
48. sand blaster 1.0
49. sand blaster = 1.11b
50. splash for max - documentation = *.pdf
51. splash 1.02 update files
52. texture = lab
53. tree factory 1.04
lightwave 3d
54. lightwave = 3d 5.5
55. lightwave 3d 5.5 so expected = addon
56. lightwave 3d documetation *.pdf
plugins for = lightwave 3d
57. fiber factory
58. film grain = 1.0-ad
59. gaffer 1.0
60. gif-image saver = plugin
61. layout plugin
62. lightwave plugin = set#1
63. lightwave plugin set#2
64. lightwave plugin = set#3
65. mcen tree factory
66. morph gizmo = pro
67. motion master pro pak1
68. particle storm = 1.1
69. psx development
70. puppet master
71. qv = plugin
72. seashell modeler plugin
73. shaderman beta - = renderman shaders
74. sparks plugin
75. surface = effectors 1.oe
76. vrml 2.0
77. wavefilter = 1.0
78. wavefilter 2.0
softimage 3d
79. softimage 3d = extreme 3.7
80. softimage 3d extreme addon
81. softimage = 3d manual I
82. softimage 3d manual ii
plugins for softimage = 3d
83. 4d paint 1.5 rembrandt
84. kaboom plugin = fix
85.&amp;#009;super ellipsoid

COREL DRAW 7
(Productivity, power = and precision)


1. CorelDRAW 7
2. Corel PHOTO-Paint = 7
3. CorelDREAM 3D 7
4. Kodak Digital = Science
5. Corel TEXTURE
6. Corel = OCR-TRACE
7. Corel MULTIMEDIA = MANAGER
8. CorelDEPTH
9. CorelSCAN
10. Corel = CAPTURE
11. Corel SCRIPT Editor

COREL DRAW 7(DESIGNER'S TEARS)


1. ABC GRAPHICS SUITE 6.0 FOR = WIN95/NT
13. ADOBE ACROBAT READER 3.0 FOR = WIN95/NT
14. ADOBE MORPH SE
15. ADOBE TYPE MANAGER = 4.0
16. ADBE PREMIERE 4.2 FOR WIN95/NT
17. ADOBE = PREMIERE & PLUGIN SDK
18. COREL DRAW 7 FINAL CD RIP FOR = WIN95/NT
19. FRACTAL DESIGN EXPRESSION FOR = WIN95
20. MACROMEDIA FREEHAND 7.0 FOR WIN95
21. KODAK = PHOTO CD SOFTWARE & SAMPLES
22. KAI'S POWER = CONVOUER
23. KAI'S POWER GOO RETAIL FOR = WIN95/NT
24. STRATA MEDIAPAINT 1.0
25. FRACTAL DESIGN = PAINTER 4.03 FOR WIN95/NT
26. PAINTSHOP PRO 4.0 & 4.1 = UPGRADE
27. ULEAD PHOTOIMPACT 3.0 FULL
28. QUICK VIEW = FOR WIN95
29. RAY DREAM STUDIO FULL FOR
30. SIMPSON'S = CARTOON STUDIO 1.1
31. CALIGARY TRUESPACE 2.0 FOR = WIN95
32. ULEAD VIDEO STUDIO 2.0X
33. COREL XARA 1.1 = & 1.2 UPDATE FOR WIN95
34. MACROMEDIA XPRESS 2.01 SPECIAL = EDITION
35. SERIAL NUMBERS COLLECTION

ALL FOR PAINTER
(PROFESSIONAL = SOFT COLLECTION 2.2)

1. 3D STUDIO 4.0 FOR NT
2. 3D = STUDIO 4.0
3. ABC MICROGRAFX SUITE 6.0
4. COREL DRAW 4.0 = +
5. COREL DRAW 5.0F2
6. COREL PRINT HOUSE = 1.0
7. COREL XARA
8. CRAYOLA ART STUDIO = KID
9. FLAMINGO FOR = WINDOWS
10. GRABERS
11. HARWARD GRAPHICS 4.0 = 95
12. KAI'S POWER TOOLS 3.0

microsoft visual studio 97 enterprice edition
2 cd


1. microsoft visual basic = 5.0
2. microsoft visual foxpro 5.0
3. microsoft visual = j++ 1.1
4. microsoft visual interdev 1.0
5. microsoft = visual c++ 5.0
6. microsoft visual source safe = 5.0
7. microsoft transaction server = 1.0
8. tools
9. readme
10. microsoft developer = network (msdn)

SOFT 48

DELPHI 3 BUILD 3.0.4.78
VISUAL C++ 5.0 FINAL
MS = VISUAL INTERDEV 1.0 FINAL
MS VISUAL BASIC 5 ENTERPRISE EDITION = FINAL
MS VISUAL BASIC 5 ENT. ADD-ON
MS VISUAL FOX PRO = 5.0A

SOFT + DESIGN


ADOBE ILLUSTRATOR 7.0B
WIN NT 4.0 RUS
VISUAL = C++ 5.0
LIGHTSCAPE 3.0

ALL FOR PROGRMER DISK1

1. Visuall C++ 4.0 Win95/NT
2. Borland C++  5.0 = Win95/NT Final Beta III (100% working)
3. BDE32 & IDAPI32 = addons for BC++ 5.0
4. Windows 95 Game SDK
5. Win 32s = 1.20 (CD)
6. Microsoft Windows 95 Resource Kit
7. Novell = Appware  ALM Builder SDK for Windows
8. MS Access = Developers Kit 95 for MS Access 7.0 ,Windows95
9. Microsoft Help = Workshop 4.0 for Windows 95
10. Visual Basic 4.0 (Standart = Edition)
11. Visual Basic Crescent Upgrade Wizard (allow run vb = 3.0 projects on vb 4.0)
12. Visual Basic = decompiler
13. Visual FoxPro 3.0
14. Visual dBASE = 5.5
15. Intersolv PVCS Tracker v3.0

NEW DELPHI


1. Visual C++ 5.0
2. Borland Ebony = Suite 1.0 Server/Client
3. Powersoft Optima C++ 2.0 = b
4. Open Inventor 2.2.1
5. Intel C/C++ = 2.4
6. CodeWright Pro 4.0
7. Attachmate QuickApp = 4.0
8. Visual C++ 4.0 for Windows-CE

BORLAND C++ BUILDER


1. BORLAND C++ BUILDER PRO EDITION FINAL = RELEASE
2. BORLAND C/C++ 2.0
3. BORLAND C/C++ = 3.1
4. BORLAND C/C++ 4.0
5. BORLAND C/C++ = 4.5
6. BORLAND C/C++ 5.0
7. JAVA FOR BORLAND C++ = 5.0
8. CODEGUARD 4.5 FOR BORLAND C++ 5.0
9. CALLING = 32BIT APPS FOR BC++, VC++, DELPHI
10. 80C196 C COMPILER 5.0 = R1
11. INSTALLSHIELD EXPRESS BC++ 5.02 ED
12. WATCOM'97 = FOR C/C++ SPECIAL EDITION
13. WATCOM C/C++ = 16DELTAPACK
14. WATCOM C/C++ FOR OS/2
15. WATCOM C/C++ = 32BIT

VISUAL PROGRAMING


1. VISUAL BASIC 5.0 = PRO
2. VISUAL C++ 5.0 PRO
3. VISUAL JAVA 5.0 = PRO
4. VISUAL DIGITAL FORTRAN PRO
5. MS INTERNET = EXPLORER 3.01


And many other CD foe = cheap price
Price many software you can find on web
Please visit = web:
http://omnitel.net/pazintys/soft/soft1.html
http://omnitel.net= /pazintys/games.htm
Tel/fax:+441716917580
Norman



------=_NextPart_000_01BCE561.758B8EC0-- 31-Oct-1997 9:30:44-GMT,14182;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id CAA29422 for ; Fri, 31 Oct 1997 02:30:42 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 31 Oct 1997 03:06:40 EST From: nobody@nowhere.yet Reply-To: LitProg@SHSU.edu, nobody@NOWHERE.YET Subject: Super Bargain Date: Fri, 31 Oct 1997 16:44:27 -0700 Message-ID: <311097164427@nowhere.yet> To: LitProg@SHSU.edu begin 644 Bargain.txt M#0H-"EEO=2!G;W1T82!B92!C2$@2&]W(&]N(&5A2 U(&)U M8VMS/R!796QL+"!T:&%T)W,@=VAA="!)('=A2!Q=65S=&EO;G,@86)O=70@ M=&AE(&9O;&QO=VEN9R!O<'!O2!T;R!M86ME#0H-"B0U,"PP,# N M,# @86YD('1H870G2!A;B!I;FET:6%L#0H- M"FEN=F5S=&UE;G0@;V8@)#4N,# A(%-O($D@=&AO=6=H="P@(EEE86@L(')I M9VAT+"!T:&ES(&UU6]U('-E;F0@)#$N,# @=&\@96%C:"!O9B!T M:&4@-2!N86UE3\-"@T*#0H-"D%S($D@;65N=&EO;F5D(&)E9F]R M92P@;&EK92!M;W-T(&]F('5S+"!)('=A2!J=7-T(&ME<'0@8V]M:6YG(&EN+B!);B!M>0T*#0IF:7)S="!W965K+"!) M(&UA9&4@86)O=70@)#(P+C P('1O("0S,"XP,"!D;VQL87)S+B!">2!T:&4@ M96YD(&]F('1H90T*#0IS96-O;F0@=V5E:R!)(&AA9"!M861E(&$@=&]T86P@ M;V8@;W9E6]U('!R:6YT(&$@8V]P M>2!O9B!T:&ES(&%R=&EC;&4@3D]7+"!S;PT*#0IY;W4@8V%N(&=E="!T:&4@ M:6YF;W)M871I;VX@;V9F(&]F(&ET(&%S('EO=2!N965D(&ET+B!4:&4@<')O M8V5S2(N($YE>'0L#0IP;&%C90T*#0IO;F4@ M<&%P97(@:6X@96%C:"!O9B!T:&4@-2!E;G9E;&]P97,@86YD('-E86P@=&AE M;2X@66]U('-H;W5L9"!N;W<-"@T*:&%V92 U('-E86QE9"!E;G9E;&]P97,L M(&5A8V@@=VET:"!A('!I96-E(&]F('!A<&5R('-T871I;F<@=&AE(&%B;W9E M#0H-"G!H2P@0V$N M(#DU,S6]U(&YE960@=&\L(&)U="!T2!O9B!T:&4@86)O=F4L(&ET('=I;&P@9&5L971E('EO=7(@<&]S=&EN9RX- M"@T*-"D@5&AE;B!S96YD('EO=2!A(&YA2!T:&4-"@T*9F]L;&]W:6YG.@T*#0H-"D9/4B!!3TPZ#0H- M"E1O('!O2!B M2!A;F0@)T,G M(&ME>2!A="!T:&4@6]U('=I;&P@8F4@6]U2!I="!S M;R!Y;W4@:&%V92!T:&4@8VAA;F=E6]U(&AA=F4@ M=&\@9&\@9F]R#0H-"F5A8V@@;F5W6]U(&AA=F4@=&\@9&\@:7,@:G5M<"!T;R!D:69F97)E;G0@ M;F5W6]U('=I2!A;F]N>6UO=7,L('EO=2!C M86X-"@T*:6YV96YT(&$@;F%M92!T;R!U6]U('=I;&P@2!W86YT('1O(&=E="!M;VYE>2X@5&AO&%M<&QE*2X@4V\@=&AE;B!)(&UA9&4@)#4N,# @=VET:"!M>2!N M86UE(&%T(",U(&]N('1H92!L971T97(N($YO=RP-"@T*96%C:"!O9B!T:&4@ M-2!P97)S;VYS('=H;R!J=7-T('-E;G0@;64@)#$N,# @;6%K92!T:&4@34E. M24U532 R,# -"@T*<&]S=&EN9W,L(&5A8V@@=VET:"!M>2!N86UE(&%T(",T M(&%N9"!O;FQY(#4@<&5R2 U(')E<&QI97,@96%C:"P@20T* M#0IW:6QL(&)R:6YG(&EN(&%N(&%D9&ET:6]N86P@)#$R-2XP,"$@3F]W+"!T M:&]S92 Q,C4@<&5R2!N86UE(&%T(",R(&%N9"!O;FQY(')E8V5I M=F4@-0T*#0IR97!L:65S(&5A8V@L($D@=VEL;"!M86ME(&%N(&%D9&ET:6]N M86P@)#8R-BXP,"$@3TLL(&YO=R!H97)E(&ES('1H90T*#0IF=6X@<&%R="P@ M96%C:"!O9B!T:&]S92 V,C4@<&5R2 D-2XP,"$@#0H-"D%-05I)3D6]U6]U(&IU6]U('!O6]U(&%F9F]R M9" D-2XP,"!A;F0@2!W;W)K2P@=VET:"!T:&]U2!&04E23%D@86YD($A/3D535$Q9(&%N9"!T:&ES('=I;&P@=V]R:RX@ M66]U(&IU6]U M('!R:6YT('1H:7,@87)T:6-L92!O=70@4DE'2%0@3D]7+"!A;'-O+@T*#0I4 M6EN9R!F86ER;'DN M#0H-"@T*#0I296UE;6)E2!A;F0@'1R82!#05-(+B!4 M:&ES(&ES('1H92!F86ER97-T(&%N9"!M;W-T(&AO;F5S= T*=V%Y#0H-"DD@ M:&%V92!E=F5R('-E96X@=&\@71H:6YG(&)U="!O=7(@=&EM92$A M(0T*#0H-"@T*4&QE87-E(')E;65M8F5R('1O(&1E8VQA6]U'1R M82!I;F-O;64N(" @5&AA;FMS(&]N8V4@86=A:6XN+BX-"@T*#0I)9B!Y;W4@ M:&%V92!.97=S(%!O======>=>>==>==>>== 31-Oct-1997 19:33:03-GMT,867;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA11447 for ; Fri, 31 Oct 1997 12:33:00 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 31 Oct 1997 12:50:12 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: moderation delays Date: 31 Oct 1997 18:26:46 GMT Message-ID: <63d7t6$dlb$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu I've been called away for a family illness. Patrick and Matthias will handle moderation chores while I am gone, but there may be delays of several days in adding new regular contributors. Norman 31-Oct-1997 19:42:26-GMT,1729;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA11675 for ; Fri, 31 Oct 1997 12:42:25 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 31 Oct 1997 12:50:14 EST From: Fei Chen Subject: matlab and noweb Date: 31 Oct 1997 18:29:35 GMT Message-ID: <63d82f$dm6$1@murdoch.acc.Virginia.EDU> Reply-To: LitProg@SHSU.edu, LitProg@SHSU.edu, fchen@stern.nyu.edu MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu hi all, i'm encoutering a situation that i don't know what to do about, hope some one can help? i'm using noweb to document my matlab .m files. my question is, how can i generate one single TeX documentation out of the root file, which contains noweb source codes for other functions? for example: ------------------------------------- root.nw: \section{Root} @ <<*>>= <> @ blah <>= loaddata; ------------------------------------- loaddata.nw: \section{Loaddata} @ <<*>>= <> @ blah <>= load datamatrix; ------------------------------------- the goal here is for root.tex to have documentation on both root.m and loaddata.m. one simple solution (seems to me anyway) is to "noweave -n loaddata.nw > loaddata.tex" and include the output in root.tex. but such inclusion seems to be a bit ad hoc. where should i place "\input loaddata.tex" in root.tex? is there something like a "@i" as in CWEB? any help is appreciated, fei 1-Nov-1997 19:31:22-GMT,1216;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA03827 for ; Sat, 1 Nov 1997 12:31:21 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 01 Nov 1997 13:24:16 EST From: "Jurgen K. Singer" Subject: Re: matlab and noweb Date: 1 Nov 1997 19:04:40 GMT Message-ID: <63fug8$9j1$1@news.interlog.com> Reply-To: LitProg@SHSU.edu, jurgen@rle-vlsi.mit.edu MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu > What I do for larger projects is the following: I have a file master.tex, which contains something like: \documentclass{report} \usepackage{noweb} \include{myLocalDefinitions} \begin{document} \section{Root} \input root.tex \section{Loaddata} \input loaddata.tex \end{document} Actually, for larger projects I use several levels of this approach, i.e., I input local sub-master files. All this can easily be managed by make. -- Jurgen 10-Nov-1997 22:30:28-GMT,1523;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA01655 for ; Mon, 10 Nov 1997 15:30:26 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 10 Nov 1997 13:52:05 EST From: nowhere!sachin (Sachin Garg) Reply-To: LitProg@SHSU.edu, NOWHERE!sachin Subject: Where can I get CWEB/NOWEB? Date: Mon, 10 Nov 1997 10:20:41 GMT Message-ID: To: LitProg@SHSU.edu I have just got a shaky type of USENET access and hence have not followed this group. I am interested in learning about literate programming. I know I should be reading Don Knuth's book, but I don't have it. So, please give me pointers on 1) where can I learn this stuff? 2) Where can I get CWEB or NOWEB? 3) Which of the two is better? Any help will be greatly appreciated. thanks, sachin ******************************************************************** Sachin Garg Phone: +91-80-5584271/143/982 MTS Extn: 303 C-DAC, Fax: (080) 5584893 Ramanshree Plaza, 2/1, Brunton Road, BANGALORE 560 025 INDIA E-mail: sachin@cdacb.ernet.in ********************************************************************* -- 14-Nov-1997 13:10:58-GMT,64888;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id GAA20438 for ; Fri, 14 Nov 1997 06:10:56 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 14 Nov 1997 05:18:34 EST From: thompson@sun1.coe.ttu.edu Subject: comp.programming.literate FAQ Date: 14 Nov 1997 10:58:48 GMT Message-ID: Reply-To: LitProg@SHSU.edu, thompson@sun1.coe.ttu.edu To: LitProg@SHSU.edu Archive-name: literate-programming-faq Last-modified: 1997/08/15 Version: 1.1.18 The Literate Programming FAQ David B. Thompson 15 August 1997 This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. ______________________________________________________________________ Table of Contents: 1. Welcome 1.1. Disclaimer 1.2. Copyright 1.3. What's New? 2. Introduction or 3. How do I get the FAQ? 3.1. Literate Programming FAQ 3.2. FWEB FAQ 4. Is there a newsgroup? 5. What internet nodes are of interest to literate programmers? 6. What is Literate Programming? 7. How do I begin literate programming? 8. What literate programming tools are available? 8.1. APLWEB 8.2. AWEB 8.3. CLiP 8.4. CWEB 8.5. CWEBx3.0 8.6. mCWEB 8.7. FunnelWeb 8.8. FunnelWeb 3.0AC 8.9. FWEB 8.10. IMPACT 8.11. lit2x 8.12. Literate Programmer's Workshop (LPW) 8.13. MapleWEB 8.14. MWEB (Schrod/Detig) 8.15. MWEB (Sewell) 8.16. noweb 8.17. nuweb 8.18. ProTeX 8.19. RWEB 8.20. SchemeWEB 8.21. SpideryWEB 8.22. WEB 8.23. WinWordWEB 9. Are there other tools I should know about? 9.1. C2LaTeX 9.2. c2cweb 9.3. c2man 9.4. cnoweb 9.5. Fold2Web 9.6. Funnelweb Mode 9.7. noweb.el 9.8. nuweb.el 9.9. TIE 9.10. Web mode 10. What other resources are available? 10.1. World Wide Web 10.2. TeX Resources 11. Are there any code examples? 12. Bibliographies 13. How to anonymously ftp 14. Acknowledgements 15. End notes ______________________________________________________________________ 1. Welcome Information contained in this document is the best available at preparation. The original file was dated October 15, 1993 (just for historical purposes). 1.1. Disclaimer Disclaimer: ``This FAQ is presented with no warranties or guarantees of ANY KIND including correctness or fitness for any particular purpose. The author of this document has attempted to verify correctness of the data contained herein; however, slip-ups can and do happen. If you use this data, you do so at your own risk.'' 1.2. Copyright Copyright 1993-1997 by David B. Thompson. All rights reserved worldwide. Permission is granted to copy this document for free distribution so long as it remains intact and unmodified. For other arrangements, contact the author/maintainer via email: 1.3. What's New? o My email address has changed (once again). o Newsgroup is moderated. o Updated fweb entry. o Updated noweb entry. o Added mCWEB entry. o Updated c2cweb entry. o Updated nuweb.el entry. o Updated cLiP entry. o Updated Lee W's examples (from bart). o Last, but not least, new formatting of the FAQ. Many thanks go to Andrew Johnson for helping make this happen. 2. Introduction or ``What's this all about?'' This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. The Literate Programming (LitProg) Frequently Asked Questions (FAQ) list is maintained by Dave Thompson Comments and constructive criticisms are welcome. Direct flames to /dev/null (or nul if you're a msdos user! ;-) If you find an error, please report it. I'm particularly interested in establishing the locations of generally available literate programming tools. If you are the author of such a tool and wish to have it included in this list, please send email. Please note this is a work-in-progress. It is not complete, and probably will never be complete. Nevertheless, the information contained herein may be useful to some. Use it as it is intended. 3. How do I get the FAQ? 3.1. Literate Programming FAQ You have many ways to get a current copy of this FAQ. One is to use anonymous ftp (if you don't know how, see a later section in this FAQ) to connect to one of the Comprehensive TeX Arvchive Network (CTAN) sites or the Literate Programming Archive and retrieve a copy of the file. Open an ftp connection to one of the CTAN sites and retrieve the file: help/LitProg-FAQ (For more information on CTAN and the literate programming archive, see the section below entitled ``Internet Nodes of Interest to Literate Programmers''.) 3.2. FWEB FAQ David Coker maintains the FWEB FAQ. The current version number is 1.30a. It can be retrieved in the same way as this FAQ. The FWEB FAQ exists in various formats, including HyperText (see other resources below). In Europe, the complete distribution can also be obtained from ftp.desy.de 131.169.10.115 in directory /pub/faq/web/fweb/. It is also available from the literate programming archive in the directory LPA/Documentation/faq/fweb (see the references to LPA below for more information). 4. Is there a newsgroup? One of the most important resources is the literate programming newsgroup, comp.programming.literate. Because of the amount of spamming and unrelated the posts, the newsgroup is now moderated. Posts to the newsgroup are now routed through litprog- mod@cs.virginia.edu. If your news reader does not post through this address, then you will be unable to post messages to the newgroup. You can read this newsgroup using your standard reader. 5. What internet nodes are of interest to literate programmers? The principal nodes of interest to literate programmers are the Literate Programming Archive (LPA hereafter) and the CTAN (Comprehensive TeX Archive Network). The Literate Programming Archive (LPA) is: Node: ftp.th-darmstadt.de [130.83.55.75] Directory: programming/literate-programming Notes: Fastest response during off-U.S. [yep] business hours. Participating hosts in the Comprehensive TeX Archive Network are: ftp.dante.de (Deutschland) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node sun.dante.de -- e-mail via ftpmail@dante.de -- Administrator: ftp.tex.ac.uk (England) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node gopher.tex.ac.uk -- NFS mountable from nfs.tex.ac.uk:/public/ctan/tex-archive -- World Wide Web access on www.tex.ac.uk -- Administrator: The site ftp.shsu.edu used to be the American CTAN site. Apparently, that site has fallen into disrepair and should not be considered a primary source for either TeX related or literate programming related material. For the record, the address is: ftp.shsu.edu (Texas, USA) -- anonymous ftp and gopher /tex-archive (/pub/tex /pub/archive) -- NFS mountable from ftp.SHSU.edu:/pub/ftp/tex-archive -- e-mail via ftpmail@ftp.SHSU.edu -- World Wide Web access on www.SHSU.edu -- Administrator: A list of CTAN archive sites and their mirrors can be found on: ftp.dante.de:/tex-archive/CTAN.sites I presume that the other CTAN sites mirror this file, but have not checked. As of my last check (September 1994), it contains: "In order to reduce network load, it is recommended that you use the Comprehensive TeX Archive Network (CTAN) host which is located in the closest network proximity to your site." Known partial mirrors of the CTAN reside on (alphabetically): dongpo.math.ncu.edu.tw (Taiwan) /tex-archive ftp.adfa.oz.au (Australia) /pub/tex/ctan ftp.muni.cz (The Czech Republic) /pub/tex/CTAN ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive ftp.uu.net (Virginia, USA) /pub/text-processing/TeX nic.switch.ch (Switzerland) /mirror/tex Known mirrors of the CTAN reside on (alphabetically): ftp.center.osaka-u.ac.jp (Japan) /CTAN ftp.ccu.edu.tw (Taiwan) /pub/tex ftp.cs.rmit.edu.au (Australia) /tex-archive ftp.duke.edu (North Carolina, USA) /tex-archive ftp.germany.eu.net (Deutschland) /pub/packages/TeX ftp.gwdg.de (Deutschland) /pub/dante ftp.jussieu.fr (France) /pub4/TeX/CTAN ftp.loria.fr (France) /pub/unix/tex/ctan ftp.mpi-sb.mpg.de (Deutschland) /pub4/tex/mirror/ftp.dante.de ftp.uni-bielefeld.de (Deutschland) /pub/tex ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex) ftpserver.nus.sg (Singapore) /pub/zi/TeX src.doc.ic.ac.uk (England) /packages/tex/uk-tex sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX wuarchive.wustl.edu (Missouri, USA) /packages/TeX Other nodes and directories of interest include: Node: ftp.desy.de [131.169.10.115] Directory: pub/web. Various documents, samples, and the FWEB FAQ. Notes: Has a www server, http://info.desy.de:80/ 6. What is Literate Programming? Literate programming is the combination of documentation and source together in a fashion suited for reading by human beings. In fact, literate programs should be enjoyable reading, even inviting! (Sorry Bob, I couldn't resist!) In general, literate programs combine source and documentation in a single file. Literate programming tools then parse the file to produce either readable documentation or compilable source. The WEB style of literate programming was created by D.E. Knuth during the development of his TeX typsetting software. All the original work revolves around a particular literate programming tool called WEB. Knuth says: The philosophy behind WEB is that an experienced system pro- grammer, who wants to provide the best possible documenta- tion of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately. The structure of a software program may be thought of as a web that is made up of many interconnected pieces. To docu- ment such a program we want to explain each individual part of the web and how it relates to its neighbours. The typo- graphic tools provided by TeX give us an opportunity to explain the local structure of each part by making that structure visible, and the programming tools provided by languages such as C or Fortran make it possible for us to specify the algorithms formally and unambigously. By combin- ing the two, we can develop a style of programming that max- imizes our ability to perceive the structure of a complex piece of software, and at the same time the documented pro- grams can be mechanically translated into a working software system that matches the documentation. Another author (Eric W. van Ammers) wrote me a short article treating his opinions on literate programming. The text follows: First observation on LP About 90% of the disussion on this list is about problems with applying some WEB-family member to a particular programming language or a special documentation situation. This is ridiculous, I think. Let me explain shortly why. Lemma 1: I have proposed for many years that programming has nothing to do with programming langauges, i.e. a good programmer makes good programs in any language (given some time to learn the syntax) and a bad programmer will never make a good program, no matter the language he uses (today many people share this view, fortunately). Lemma 2: Literate Programming has (in a certain way not yet completely understood) to do with essential aspects of programming. Conclusion 1: A LP-tool should be independent of programming language. Lemma 3: It seems likely that the so called BOOK FORMAT PARADIGM ref. 1 plays an important role in making literate programs work. Lemma 4: There are very many documentation systems currently being used to produce documents in the BOOK FORMAT. Conclusion 2: A LP-tool should be independent of the documentation system that the program author whishes to use. My remark some time ago that we should discuss the generic properties of an LP-tool was based on the above observation. References 1 Paul W. Oman and Curtus Cook. ``Typographical style is more than cosmetic.'' CACM 33, 5, 506-520 (May 1990) Second observation on LP The idea of a literate program as a text book should be extendend even further. I would like to see a literate program as an (in)formal argument of the correctness of the program. Thus a literate program should be like a textbook on mathematicics. A mathematical textbook explains a theory in terms of lemma and theorems. But the proofs are never formal in the sense that they are obtaind by symbol manipulation of a proof checker. Rather the proofs are by so called ``informal rigour'', i.e. by very precise and unambiguous sentences in a natural language. 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 Another author (Norman Ramsey) wrote me and asked that his opinions be included in the FAQ. What follows are Norman's comments verbatim. I see it's time for the ``how is literate programming dif- ferent from verbose commenting'' question. Perhaps David Thompson will get this into the FAQ. Alert! What follows are my opinions. In no way do I claim to speak for the (fractious) literate-programming community. How is literate programming different from verbose commenting? There are three distinguishing characteristics. In order of importance, they are: o flexible order of elaboration o automatic support for browsing o typeset documentation, especially diagrams and mathematics Flexible order of elaboration means being able to divide your source program into chunks and write the chunks in any order, independent of the order required by the compiler. In principle, you can choose the order best suited to explaining what you are doing. More subtly, this discipline encourages the author of a literate program to take the time to consider each fragment of the program in its proper sphere, e.g., not to rush past the error checking to get to the ``good parts.'' In its time and season, each part of the program is a good part. (This is the party line; your mileage may vary.) I find the reordering most useful for encapsulating tasks like input validation, error checking, and printing output fit for humans --- all tasks that tend to obscure ``real work'' when left inline. Reordering is less important when using languages like Modula-3, which has exceptions and permits declarations in any order, than when using languages like C, which has no exceptions and requires declaration before use. Automatic support for browsing means getting a table of contents, index, and cross-reference of your program. Cross-reference might be printed, so that you could consult an index to look up the definition of an identifier `foo'. With good tools, you might get a printed mini-index on every page if you wanted. Or if you can use a hypertext technology, cross-reference might be as simple as clicking on an identifier to reach its definition. Indexing is typically done automatically or `semi- automatically', the latter meaning that identifier definitions are marked by hand. Diligently done semi- automatic indexes seem to be best, because the author can mark only the identifiers he or she considers important, but automatic indexing can be almost as good and requires no work. Some tools allow a mix of the two strategies. Some people have applied literate-programming tools to large batches of legacy code just to get the table of contents, index, and cross-reference. I don't use diagrams and mathematics very often, but I wouldn't want to have to live without them. I have worked on one or two projects where the ability to use mathematical formulae to document the program was indispensible. I also wouldn't like to explain some of my concurrent programs without diagrams. Actually I write almost all of my literate programs using only sections headers, lists, and the occasional table. >Wouldn't it be easier to do one's literate programming using >a wysiwyg word processor (e.g. Word for Windows) and >indicate what is source code by putting it in a different >font? The data formats used in wysiwyg products are proprietary, and they tend to be documented badly if at all. They are subject to change at the whim of the manufacturer. (I'll go out on a limb and say there are no significant wysiwyg tools in the public domain. I hope the Andrew people will forgive me.) These conditions make it nearly impossible to write tools, especially tools that provide automatic indexing and cross-reference support. The CLiP people have a partial solution that works for tools that can export text --- they plant tags and delimiters throughout the document that enable the reordering transformation (``tangling''). People use TeX, roff, and HTML because free implementations of these tools are widely available on a variety of platforms. TeX and HTML are well documented, and TeX and roff are stable. TeX is the most portable. I think I have just answered the FAQ ``how come all these tools use TeX, anyway?'' :-) Norman Ramsey 7. How do I begin literate programming? A recommended book is D.E. Knuth's collection of articles (1992) Literate Programming. Center for the Study of Language and Information, Stanford University, ISBN 0-937073-80-6 (pbk). This book gives insight into Knuth's thoughts as he developed the web system of literate programming (and TeX for typesetting). It does not document methods for literate programming. A recommended book is Wayne Sewell's (1989) Weaving a Program: Literate Programming in WEB. Van Nostrand Reinhold, ISBN 0-442-31946-0 (pbk). This book focuses on using Knuth's web system. Some talk exists in the newsgroup/mailing list for a Usenet University course in literate programming. I'm sure discussion of this topic will be welcomed. If you are interested, please participate. 8. What literate programming tools are available? A significant number of tools for literate programming are available. Most have been ported from their original systems, so support multiple computer platforms. If you are the developer of such a tool, and would like to make the software freely available, please send me email and I'll reply with a form (like those below) for you to fill in. (Or short-circuit the process and kludge a form from below. :-) 8.1. APLWEB Developer: Christoph von Basum Version: Unknown Hardware: MSDOS Languages: IBM APL2 and STSC APL Formatter: Plain TeX Availability: Anonymous ftp from: LPA:/apl watserv1.uwaterloo.ca:/languages/apl/aplweb Readme: Unknown Description: None available. Support: Unknown Note: The status of this particular package is unknown. 8.2. AWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Ada Formatter: Unknown Availability: Anonymous ftp from: LPA:/ada/web Readme: Unknown Description: None available Support: Not supported. 8.3. CLiP Developer: E.W. van Ammers and M.R. Kramer Versions: 2.0 and 2.4b (DOS only) Platform: Vax/VMS, Unix, DOS Languages: Any programming language Formatter: Any formatter (TeX, LaTeX, Troff, Runoff, HTML, etc) or any wordprocessor including WYSIWYG systems (Word Perfect, WinWord, Ami Pro, Word Pro, etc.) Availability: Anonymous ftp from: sun01.info.wau.nl:/CLIP/ms_dos DOS sun01.info.wau.nl:/CLIP/ms_dos_24b DOS (v. 2.4b) sun01.info.wau.nl:/CLIP/vax_vms VAX/VMS sun01.info.wau.nl:/CLIP/unix Unix CTAN:/web/clip LPA:/machines/ms-dos LPA:/machines/vax Readme: With bundle above Description: CLiP does not use explicit commands to perform the extraction process. Rather it recognizes pseudostatements written as comments in the programming language in question. CLiP distinguishes pseudostatements from ordinary comments because the former comply with a particular style. This style can be adjusted to suit virtually any programming language. The CLiP approach to LP makes the system extremely versatile. It is independent of programming language and text processing environment. We designed CLiP to be compatible with hypertext systems as well. Some hypertext examples are at ftp://sun01.info.wau.nl/clip/html/queens.htm ftp://sun01.info.wau.nl/clip/html/pal1.htm Features: + CLiP imposes virtually no limitations on the text-processing system used to produce the documentation. If the text-processor supports these items you can + structure the documentation according to your own taste. + include drawings, pictures, tables etc. + disclose your documentation my means of X-ref tables, Indexes, Table of contents, Table of tables, Table of figures, etc. + typeset the documented code. + Extracts any number of modules from a maximum of 64 source files. + No pretty-printing. Code from the source files is copied "as is" to the module. + Appearance of code segments in the documentation matches those of the modules to ease the identification of code segments. + Supports partially specified data types. + Comprehensive user manual (preliminary version) and technical description. - No automatic generation of a X-ref table for program identifiers. Support: Bugs, problems and assistance by e-mail to Eric.vanAmmers@user.info.wau.nl 8.4. CWEB Developer: Silvio Levy and D.E. Knuth Version: 3.0 Hardware: Unix systems (dos and amiga ports available) Languages: C and C++ Formatter: Plain TeX and LaTeX. Availability: Anonymous ftp from: labrea.stanford.edu:/pub/cweb LPA:/c.c++ CTAN:/web/c_cpp/cweb DOS version in CTAN:/web/c_cpp/cwb30p8c DOS version in LPA:/machines/ms-dos Amiga version CTAN:/web/c_cpp/AmigaCWEB Mac port of CTANGLE in LPA:/machines/mac LaTeX support in LPA:/c.c++ Readme: Bundled with above Description: No description provided. Support: Bugs to levy@math.berkeley.edu 8.5. CWEBx3.0 Developer: Marc van Leeuwen Version: Unknown Hardware: Any system using ASCII code Languages: ANSI C Formatter: Plain TeX Availability: Anonymous ftp from: ftp.cwi.nl/pub/cweb Readme: Bundled with above Brief description: A modified implementation of CWEB, with some extensions. Provides a mode for full compatibility with Levy/Knuth CWEB. The most significant extras are: - Typedef declarations affect formatting througout source file - Include files are scanned for typedef definitions - Flexible selection of layout style - Possibility to refer to sections using symbolic labels - CTANGLE detects unbalanced braces and parentheses - CWEAVE can be made to report syntax errors more easily - Some additional mechanisms to avoid formatting problems - New and modular set of grammar rules, based on ANSI C syntax - Possibility to suppress #line directives - A new manual Support: bugs and remarks to M.van.Leeuwen@cwi.nl 8.6. mCWEB Developer: Markus Oellinger Version: 1.0 Hardware: Unix Languages: C/C++ Formatter: plainTeX Availability: anonymous ftp from ist.tu-graz.ac.at:/pub/utils/litprog/mcweb/mcweb.tgz Readme: at same location Description: This is mCWEB 1.0, a descendant of the CWEB system of structured documentation by Donald E. Knuth and Silvio Levy. It adds some features that are indispensable when working in a team. mCWEB regards a project of a book consisting of several chapter files. By means of import and export commands, it automatically manages all relationships between the chapters of a book and to other books. Interface documentation is now also part of mCWEB. It is extracted into a second TeX file. This makes it possible to define well known interfaces between the individual parts of a project that will be implemented by different persons. In addition, mCWEB parses C header files to find out about all the datatypes defined there. mCWEB comes with a full completely rewritten user manual and is compatible with CWEB. Support: Institute of Software Technology moell@ist.tu-graz.ac.at 8.7. FunnelWeb Developer: Ross N. Williams: ross@guest.adelaide.edu.au Version: Unknown Hardware: MSDOS, Mac, VMS, Sun. Other ports reported. Languages: No restrictions. Formatter: Plain TeX for printing. Otherwise, no restrictions. Availability: Anonymous ftp from: CTAN:/web/funnelweb LPA:/independent ftp.adelaide.edu.au:/pub/funnelweb Readme: With bundle above. Description: FunnelWeb is a production-quality literate-programming tool that emphasises simplicity and reliability. Everything about FunnelWeb, from the simplicity of its language to the comprehensive tutorial in the user's manual, has been designed to make this as simple, as practical, and as usable a tool as possible. Features: + Provides a simple macro preprocessor facility. + Can produce typeset documentation. + Runs on Sun, VMS VAX, Macintosh, PC, and others. + Portable C source code distributed under GNU licence. + Comprehensive user's manual including tutorial. + Programming-language independent. + Can generate multiple output files. + Allows complete control over the output text. + Regression test suite with over 200 tests. + Fully worked example (in /pub/funnelweb/examples). - Requires TeX to produce typeset documentation. - Typesets program code using TT font only. Support: No formal support available. Mailing list maintained with about 50 subscribers. Informal assistance available from mailing list. 8.8. FunnelWeb 3.0AC Developer: Enhanced by A.B.Coates (coates@physics.uq.edu.au) from FunnelWeb v3.0 by Ross N. Williams (ross@guest.adelaide.edu.au) Version: 3.0AC Hardware: MSDOS, Mac, VMS, Sun, OSF/1, Linux, Sys.V, OS/2. Languages: No restrictions. Formatter: Tex, LaTeX, or HTML. Availability: Anonymous ftp from ftp.physics.uq.oz.au:/pub/funnelwebAC30.tar.gz Readme: With bundle above; for FunnelWeb manual see WWW page http://www.physics.uq.oz.au:8001/people/coates/funnelweb.html Description: FunnelWeb 3.0AC is an enhanced version of FunnelWeb (see the entry for FunnelWeb). FunnelWeb is designed to be typesetter independent, though FunnelWeb v3.0 only supports (La)TeX as the typesetter. FunnelWeb 3.0AC also supports HTML, and creates appropriate hypertext links within the document among the code sections. FunnelWeb 3.0AC also supports automatic and manual insertion of line directives, so that compiler errors can be flagged back to the original FunnelWeb source file. FunnelWeb 3.0AC is completely compatible with FunnelWeb v3.0 sources (with one minor exception; see the file README.ABC which comes with the FunnelWeb 3.0AC distribution). Support: Supported by A.B.Coates (coates@physics.uq.edu.au), subject to the time constraints imposed by his thesis. 8.9. FWEB Developer: John A. Krommes Version: 1.53 (1.60-beta for the experienced, patient, and brave) Hardware: Unix, VMS, and DOS platforms (anything with ANSI C) Languages: C, C++, Fortran-77, Fortran-90, Ratfor, TeX; also, a language-independent mode. Formatter: LaTeX. Plain TeX may work, but is no longer supported. Availability: Anonymous ftp from: ftp.pppl.gov:/pub/fweb CTAN:/web/fweb LPA:/fweb DOS version in LPA:/machines/ms-dos Readme: In bundle with above. Description: It also has a well-developed user's manual and its own FAQ (see above). Beginning with 1.40, documentation is maintained in gnu texinfo format. It runs on most platforms: VMS, PC, UNIX, and pretty much anything that the GNU C compiler (GCC) is supported for. Features: + Processes multiple languages during a single run (so one can mix C and Fortran, for example). + Language-independent mode (v1.40). + Ability to turn off pretty-printing (v1.40). + Built-in Ratfor translator. + Built-in macro preprocessor (closely follows ANSI C, with extensions). + A style file that allows the user to adjust many parameters and behavior patterns of FWEB. + Various operator-overloading features that provide additional pretty-printing capabilities to languages such as C++ and Fortran-90. + Numerous miscellaneous features and command-line options. Support: Bug reports and suggestions to krommes@princeton.edu 8.10. IMPACT Developer: Timothy Larkin, from Levy/Knuth CWEB 3.1 Version: 1.0 Hardware: Macintosh; requires AppleEvents. Languages: C, C++ Formatter: TeX Availability: CTAN archives Readme: A short readme file is included in the SEA archive. Description: IMPACT implements CTangle from the Levy/Knuth CWEB 3.1. It operates as a foreground program, tangling files selected from the Mac File Picker. Or it can operate in the background, tangling files in response to odoc events sent by other applications, such as editors. Support: I welcome any reports of bugs. The product will be updated as new versions of the CWEB appear. Other features may be added as users suggest them. 8.11. lit2x Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/independent Readme: Unknown Description: None available Support: Unknown 8.12. Literate Programmer's Workshop (LPW) Developer: Norbert Lindenberg Version: 1.1 Hardware: Apple Macintosh Languages: C++, Object Pascal & others Formatter: self-contained WYSIWYG system Availability: Anonymous ftp from: LPA:/machines/mac CTAN:/web/lpw ftp.apple.com:/pub/literate.prog Readme: With bundle above. Also comes with 38-page manual. Description: The Literate Programming Workshop is an environment for the integrated development of program source text and documentation in combined documents. It consists of a WYSIWYG word processor based on a style sheet approach, a mechanism to extract parts of the text in a document, and a project management system that handles multi-document projects. The system is designed to be used in conjunction with the Macintosh Programmer's Workshop: it prepares raw source text for the MPW compilers, accepts MPW error messages, and shows them in the context of the original documents. Automatic indexing and hypertext features allow for easy access to both source text and documentation. LPW is shareware. Support: Bugs, problems, and questions to lpw@aol.com. 8.13. MapleWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Maple Formatter: Unknown Availability: Anonymous ftp from: LPA:/maple Readme: Unknown Description: None Support: Unknown 8.14. MWEB (Schrod/Detig) Developer: Joachim Schrod Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. 8.15. MWEB (Sewell) Developer: Sewell Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. 8.16. noweb Developer: Norman Ramsey Version: 2.8 Hardware: Unix and DOS platforms (DOS binaries available for v2.7). Languages: All programming languages, singly or in combination. Automatic indexing for C, Icon, Pascal, Standard ML, TeX, Yacc Formatter: Plain TeX, LaTeX, and HTML formatters. Will convert LaTeX to HTML automatically. Availability: Anonymous ftp from: CTAN:/web/noweb LPA:/independent Last recourse, use ftp.cs.virginia.edu:pub/nr Readme: With bundle above, or see the noweb home page: http://www.cs.virginia.edu/~nr/noweb Those without ftp access can consult ``Literate Programming Simplified,'' IEEE Software, September 1994, pp97-105. Description: noweb is designed to meet the needs of literate programmers while retaining the simplest possible input format. Its primary advantages are simplicity, extensibility, and language-independence. noweb uses 5 control sequences to WEB's 27. The noweb manual is only 3 pages; an additional page explains how to customize its LaTeX output. noweb works ``out of the box'' with any programming language, and supports TeX, latex, and HTML back ends. A back end to support full hypertext or indexing takes about 250 lines; a simpler one can be written in 40 lines of awk. The primary sacrifice relative to WEB is that code is not prettyprinted. noweb supports indexing and identifier cross-reference, including hypertext ``hot links.'' noweb includes a simple, efficient LaTeX-to-HTML converter, so you can use hypertext browsers on your legacy documents. noweb can also process nuweb programs, so you can use noweb to convert a standard nuweb program to HTML with one command. Support: email to the author 8.17. nuweb Developer: Preston Briggs: preston@cs.rice.edu Version: 0.87 Hardware: Unix systems: Sparcs, RS/6000s, HPs; (!) MSDOS and Amiga. Languages: Any programming language or combination of programming languages. Formatter: Latex Availability: Anonymous ftp from: Unix: CTAN:/web/nuweb DOS: CTAN:/web/nuweb-pc LPA:/independent Amiga: CTAN:/web/nuweb/nuweb_ami Amiga: wuarchive.wustl.edu/pub/aminet Readme: Send mail to preston@cs.rice.edu Description: A single program that takes a web file written in a combination of latex and any programming language(s) and produces a latex file that can be pretty printed and a set of files containing code for compilation/interpretation by the appropriate language processors. Strengths include speed, simplicity, multiple languages, nice indices and cross-references, latex. Doesn't require any special macros or macro files. Drawbacks: latex-dependent, no code pretty printing, harder to make indices than cweb. More good stuff: nice support for make, doesn't reformat source files, so they're easy to debug. Lots of control without too much effort. That is, it doesn't do too much! Future directions... Very little change planned, except perhaps refinements in the indexing software. Support: Hack it yourself or send e-mail to preston@cs.rice.edu 8.18. ProTeX Developer: Eitan Gurari Version: ProTeX 1.1, AlProTeX 1.4 Hardware: Any platform with (La)TeX Languages: Any language Formatter: TeX or LaTeX Availability: Anonymous ftp from: ftp.cis.ohio-state.edu : pub/tex/osu/gurari/ LPA:/independent Readme: With bundle above Description: + Easy to use + Extensible + Language independent + Multiple output files + Fast (single compilation provides output and dvi files) + No installation is needed besides copying the files (written in TeX) Introduction of main features and examples in pub/tex/osu/gurari/LitProg Complete manual in Eitan M. Gurari, "TeX and LaTeX: Drawing and Literate Programming", McGraw-Hill, 1994 Support: gurari@cis.ohio-state.edu 8.19. RWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/reduce Readme: Unknown Description: Web generator in AWK. Support: Unknown 8.20. SchemeWEB Developer: John D. Ramsdell Version: 2.1 Hardware: Unix and DOS platforms Languages: Any dialect of Lisp. Formatter: LaTeX. Availability: The Unix version is in the Scheme Repository and it is available via anonymous ftp from: cs.indiana.edu:/pub/scheme-repository/utl/schemeweb.sh LPA:/lisp CTAN:/tex-archive/web/schemeweb The DOS version is part of the PCS/Geneva Scheme system which is available via anonymous ftp from: cui.unige.ch:/pub/pcs LPA:/machines/ms-dos Readme: In bundle with above. Description: SchemeWEB is a Unix filter that allows you to generate both Lisp and LaTeX code from one source file. The generated LaTeX code formats Lisp programs in typewriter font obeying the spacing in the source file. Comments can include arbitrary LaTeX commands. SchemeWEB was originally developed for the Scheme dialect of Lisp, but it can easily be used with most other dialects. Support: Bug reports to ramsdell@mitre.org. 8.21. SpideryWEB Developer: Norman Ramsey Version: Unknown Hardware: Unix and DOS platforms Languages: Most Algol-like languages, including C, Ada, Pascal, Awk, and many others. Formatter: Plain TeX and latex for text formatters. Availability: Anonymous ftp from: CTAN LPA:/spiderweb Readme: In distribution. Description: A system for building language-dependent WEBs. Spider is frozen; no further development is planned. Support: Bug reports to spider-bugs@oracorp.com. 8.22. WEB Developer: Donald Knuth Version: Unknown Hardware: Unknown Languages: Pascal Formatter: TeX (of course! ;-) Availability: Anonymous ftp from: LPA:/pascal Readme: Unknown Description: This is the original software that started it all. The original TeX processor was written in WEB. Support: None known. 8.23. WinWordWEB Developer: Lee Wittenberg Version: Unknown Hardware: Needs Microsoft Word for Windows, v.2.x, and, of course, MS-Windows 3.x. Languages: Any programming language. Formatter: Word for Windows 2.x for text formatting and file maintenance. Availability: Anonymous ftp from: bart.kean.edu:pub/leew LPA:/machines/ms-dos World-Wide Web (WWW) Readme: WORDWEB.DOC in the downloadable package describes the system. Description: WinWordWEB is a set of a Word for Windows macros (plus a paragraph style) that provide a crude literate programming environment. The ``look and feel'' of the system is based on Norman Ramsey's noweb, but can easily be modified to suit individual tastes. Support: None. WinWordWEB was written as a prototype to see if a WYSIWYG literate programming system was possible. It is intended as a jumping off point for future work by others. However, the system is surprisingly usable as it stands, and the author is interested in hearing from users (satisfied and dissatisfied). Anyone interested in actively supporting (and improving) the product should contact the author via email. 9. Are there other tools I should know about? First of all, I'll list some not-quite-literate-programming tools. Some may consider these to be pretty-printers. Others may call them literate programming tools. In any event, they don't seem to be quite in the same category as the tools listed above, so I'll include them here. 9.1. C2LaTeX Developer: John D. Ramsdell Version: Unknown Hardware: Unix Languages: C Formatter: LaTeX but it's easy to change the formatter. Availability: Anonymous ftp from omnigate.clarkson.edu:/pub/tex/tex-programs/c2latex. Readme: Absent. Documentation is in the C source for c2latex. Description: C2latex provides simple support for literate programming in C. Given a C source file in which the comments have been written in LaTeX, c2latex converts the C source file into a LaTeX source file. It can be used to produce typeset listings of C programs and/or documentation associated with the program. C2latex produces LaTeX source by implementing a small number of rules. A C comment that starts at the beginning of a line is copied unmodified into the LaTeX source file. Otherwise, non-blank lines are surrounded by a pair of formatting commands (\begin{flushleft} and \end{flushleft}), and the lines are separated by \\*. Each non-blank line is formatted using LaTeX's \verb command, except comments within the line are formatted in an \mbox. Support: Send bug reports to ramsdell@mitre.org. 9.2. c2cweb Developer: Werner Lemberg Version: 1.5 Hardware: DOS, OS/2, Unix (gcc) - CWEB source included Languages: C, C++ Formatter: TeX Availability: Anonymous ftp from CTAN:/web/c_cpp/c2cweb Readme: In distribution. Description: c2cweb will transform plain C or C++ code into a CWEB file to get a pretty formatted output. A modified CWEAVE (which transforms the CWEB file into a TeX file, see below) is included also. Support: Werner Lemberg 9.3. c2man language: C, nroff, texinfo, latex, html package: c2man version: 2.0 patchlevel 33 parts: documentation generator (C -> nroff -man, -> texinfo, ->latex, -> html) author: Graham Stoney location: ftp from any comp.sources.misc archive, in volume42 (the version in the comp.sources.reviewed archive is obsolete) ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl Australia: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from archie.au N.America: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from ftp.wustl.edu Europe: ftp /News/comp.sources.misc/volume42/c2man-2.0/* from ftp.irisa.fr Japan: ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/* from ftp.iij.ad.jp Patches: ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se description: c2man is an automatic documentation tool that extracts comments from C source code to generate functional interface documentation in the same format as sections 2 & 3 of the Unix Programmer's Manual. It requires minimal effort from the programmer by looking for comments in the usual places near the objects they document, rather than imposing a rigid function-comment syntax or requiring that the programmer learn and use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications. conformance: supports both K&R and ISO/ANSI C coding styles features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format + handles comments as part of the language grammar + automagically documents enum parameter & return values + handles C (/* */) and C++ (//) style comments - doesn't handle C++ grammar (yet) requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX. ports: Unix, OS/2, MSDOS, VMS. portability: very high for unix, via Configure status: actively developed; contributions by users are encouraged. discussion: via a mailing list: send "subscribe c2man " (in the message body) to listserv@research.canon.oz.au help: from the author and other users on the mailing list: c2man@research.canon.oz.au announcements: patches appear first in comp.sources.bugs, and then in comp.sources.misc. updated: 1994/10/07 9.4. cnoweb Developer: Jim Fox Version: 1.4 (January 4, 1991) Hardware: Anything with C and TeX. Languages: C Formatter: Plain TeX. Availability: Anonymous ftp from: CTAN LPA:/c.c++ Readme: Unknown, cnoweb.tex contains documentation. Description: cnoweb is as it's name describes: write C, not web. No tangling or weaving is implemented. Documentation (between standard /* */ delimiteres) is written in TeX. cnoweb provides typesetting of documentation, an table of contents of routines, and pretty-printing of C source. Support: None known. 9.5. Fold2Web Developer: Bernhard Lang Version: V0.8 Hardware: MSDOS Languages: All (must allow comment lines) Formatter: LaTeX Availability: Anonymous ftp from: kirk.ti1.tu-harburg.de (134.28.41.50) /pub/fold2web/readme /pub/fold2web/fold2web.zip Readme: In distribution Description: The idea behind the Fold2Web tool is the following: A programmer can write his program source with a folding editor and later map the folded source files automatically to WEB-files. The generated WEB-files can then be modified by inserting required documentations. The advantage by starting program developement with original sources is to get short design cycles during the compile/debug steps. By using a folding editor the global structuring information can be already captured in folds during this developement phase. Fold information is typically stored in comment lines and thus will not affect the efficiency of the compile/debug design cycle. Some folding editors and a folding mode for the emacs are available (e.g. see our FUE folding editor for MSDOS machines which is a modified micro emacs. Pick it at kirk in directory /pub/fold2web). After reaching a stable version of a program source its time to convert the source file to a WEB-file and do the program documentation. Fold2Web is written to convert folded source text of any programming language to nuweb files. The folded structure is kept by mapping folds to scraps. Fold markers which differ between languages due to different ways of specifying comments can be configured for each language. Good results can also achived when given but poor documented program sources have to be modified. Such sources can be folded using a folding editor to extract the global structures. This offers a global view to the program structures and help to understand its functionality. Furthermore the program code is not affected, only comment lines are inserted. Once folded the program source can be automatically translated to a WEB document using the above tool. Support: email to lang@tu-harburg.d400.de 9.6. Funnelweb Mode Developer: Daniel Simmons Version: Unknown Availability: http://www.miscrit.be/~ddw Description: The other day I did a quick hack to nuweb.el as included with the nuweb distribution so as to make a funnelweb-mode.el. I've only used it briefly, and I'm sure that it can be improved quite a bit. I've been thinking about adding support for folding on sections, a pull-down menu to select macro definitions (like the recent functions posted to gnu.emacs.sources for a C function definition pull-down menu) and some kind of tags support for funnelweb. Support: Unknown 9.7. noweb.el Developer: Bruce Stephens Version: Unknown. Availability: LitProg archives (in an email message). Description: This is a very simple mode I just hacked up. There's a lot wrong with it, but I thought others may be interested, even as it stands. It *requires* text properties, and assumes those used in GNU Emacs 19.22; it'll quite likely work with Lucid Emacs, but I haven't tried it. I use it with auctex8.1 and cc-mode 3.229, both of which are loaded separately (I think my emacs is dumped with them, in fact). The idea is to have one mode (which calls itself c-mode, but actually has LaTeX-mode keybindings) generally (this means that the code is hilighted nicely), and have the code chunks use a different keymap. Support: Email to bruce@liverpool.ac.uk 9.8. nuweb.el Developer: Dominique de Waleffe Version: 1.99 Availability: Anonymous ftp from: LPA CTAN Description: Provides a major mode extending Auctex for editing nuweb files. Main features (in 2.0): - Edit scrap bodies in a separate buffer in a different mode (selected using emacs defaults for files, specific indication -*-mode-*-, or a buffer-local variable) - Extends Auctex commands so that nuweb is called before LaTeX, - Easy navigation on scrap definition and use points. - Now creates an imenu (C-M-mouse1) with user index entries, macro definition positions and file definition positions. Support: Email to ddw@acm.org 9.9. TIE Developer: Unknown Version: Unknown Hardware: Unknown Availability: Anonymous ftp from: LPA:/Tools Readme: Unknown Description: This software merges change files. Support: Unknown 9.10. Web mode Developer: Bart Childs Version: Unknown Tools supported: web, fweb, cweb, funnelweb Availability: Anonymous ftp from ftp.cs.tamu.edu:pub/tex-web/web/EMACS.web-mode thrain.anu.edu.au:pub/web/EMACS.web-mode Description: This version works with versions 18 and 19 of Emacs to be best of my knowledge. I have cleaned up a number of documentation items ... In the same directory is wm_refcard.tex which is an edited version of the famous one to include some web-mode commands. The files limbo* are related to its use and notice that half them have an uppercase L in them for LaTeX. The setup is based upon the fact that we (I am not alone here) primarily use FWEB for C and Fortran programming. We are using version 1.40 of FWEB although John Krommes warns that it is not mature and the manual is not yet updated. The info files are! We are using LaTeX almost exclusively. That will likely change and we will revert to version 1.30 if the final form of 1.40 cannot return to the simple section numbers and avoid the HORRIBLE LATEX 0.1.7.2.4.6 type section numbers. Support: Unknown 10. What other resources are available? 10.1. World Wide Web An untapped resource (by me anyway ;-) is the World Wide Web. Marcus Speh has expended considerable effort in this regard. If you're connected to WWW, then access: http://info.desy.de:80/user/projects/LitProg.html If you aren't connected to WWW, telnet to info.cern.ch and explore. You can reach Marcus' literate programming pages by typing: go http://info.desy.de:80/user/projects/LitProg.html or use a WWW browser and access the URL ftp://rtfm.mit.edu/pub/usenet/news-answers/www/resources/literate-programming Help for people who have only Email and neither WWW nor telnet, can be obtained by Email from TEST-LIST@INFO.CERN.CH by sending a message, SEND , for example, SEND http://info.desy.de:80/user/projects/LitProg.html to retrieve the LitProg library page. A help file can be retrieved by sending a message to the list server above with the text HELP in the body of the message. Instructions will be returned by email. For literate programming documents, you can try anonymous ftp to rtfm.mit.edu and retrieve the official Usenet resource file /pub/usenet/news.answers/www/resources/literate-programming 10.2. TeX Resources Another resource of interest to literate programmers is the comp.text.tex newsgroup. If you're using (La)TeX as your typsetting system and have access to internet, then you should investigate this resource. Another reason the TeX resources should be important is that so many of the literate programming tools rely on either plain TeX or LaTeX as their text formatter. (La)TeX software systems exist for most computing platforms. These systems can be found on CTAN and other major archive sites. Use archie to find them or simply ftp to one of the CTAN sites and browse. 11. Are there any code examples? Examples of web programs are included with the FWEB, CWEB, and noweb distributions. nuweb is written in itself. Cameron Smith converted the K&R calculator program into a literate program. It can be retrieved by anonymous ftp from: niord.shsu.edu [192.92.115.8] directory kr-cweb-sample as krcwsamp.zip or from LPA/Documentation Ross Williams has released a funnelweb example. You can retrieve this file from node ftp.adelaide.edu.au 129.127.40.3 as /pub/funnelweb/examples/except.* This file should be on CTAN as well. Lee Wittenberg has posted a few litprog examples. They are available via anonymous ftp from: ftp://samson.kean.edu/pub/leew/samples.LP The Stanford GraphBase is a large collection of programs by Don Knuth for doing all kinds of computations and games with graphs; it is writ- ten in (Levy/Knuth) CWEB. More details in the distribution. It is available via anonymous ftp from: labrea.stanford.edu:/pub/sgb 12. Bibliographies Nelson Beebe has collected an extensive bibliography treating literate programming. His work is available for anonymous ftp from ftp.math.utah.edu 128.110.198.2 in directory /pub/tex/bib as files: litprog.bib litprog.ltx litprog.twx. Although I have not verified this, LPA is an alternate source for these files. Note that they are updated frequently (Nelson says sev- eral times each week), so be sure to get a fresh copy before extensive use. Joachim Schrod indicates that these files may be updated daily and can be retrieved via anonymous ftp at LPA/documentation. 13. How to anonymously ftp Pretty much everything mentioned here is available by anonymous FTP. FAQ lists cross-posted to news.answers and rec.answers can be gotten from rtfm.mit.edu 18.181.0.24, under /pub/usenet/news.answers or under /pub/usenet/more.specific.group.name "anonymous FTP" is just a way for files to be stored where anyone can retrieve them over the Net. For example, to retrieve the latest version of the literate programming FAQ, do the following: > ftp rtfm.mit.edu /* connect to the site; message follows */ > anonymous /* type this when it asks for your name */ > /* type your address as the password */ > cd /pub/usenet /* go to the directory you want to be */ > cd comp.programming.literate /* one level down (no slash). */ > dir /* look at what's there */ > get literate-progamming-faq /* get the file; case-sensitive */ > quit /* stop this mysterious thing */ If your FTP program complains that it doesn't know where the site you want to use is, type the numerical address instead of the sitename: > ftp 18.181.0.24 /* connect with numerical address */ If you don't have ftp access, send e-mail to mail-server@rtfm.mit.edu with the single word "help" in the body of the message. Getting binary files (executables, or any compressed files) is only slightly more difficult. You need to set binary mode inside FTP before you transfer the file. > binary /* set binary transfer mode */ > ascii /* set back to text transfer mode */ FAQs and spoiler lists are generally ascii files; everything else is generally binary files. Some common extensions on binary files in archive sites are: .Z Compressed; extract with uncompress .tar.Z Compressed 'tape archive'; uncompress then untar or tar -xvf .gz or .z Gnu gzip; use gunzip (available from prep.gnu.ai.mit.edu) .sit (Mac) StufIt archive .zip Extract with Zip or Unzip .zoo Yet another archive/compress program .lhe (Amiga) ? .lzh Lha archive program. .arj (PC) Arj archive program. .exe (PC) Sometimes self-extracting archives-just execute them. .uue or .UUE Transfer as text file; use uudecode to convert to binary .hqx (Mac) BinHex format; transfer in text mode Generic help can be found in the FAQs of comp.binaries. for how to transfer, extract, and virus-check binary files. (At rtfm.mit.edu) If you can't FTP from your site, use one of the following ftp-by-mail servers: ftpmail@decwrl.dec.com ftpmail@src.doc.ic.ac.uk ftpmail@cs.uow.edu.au ftpmail@grasp.insa-lyon.fr For complete instructions, send a message reading "help" to the server. If you don't know exactly what you're looking for, or exactly where it is, there are programs and servers that can help you. For more info, send e-mail to mail-server@rtfm.mit.with with the body of the message reading send usenet/news.answers/finding-sources Thanks to Aliza R. Panitz (the "buglady") for this text. I copied it verbatim from her post on faq-maintainers with only minor modifications. 14. Acknowledgements This document would not have happened without the help of many people. Among them are Marcus Speh, George Greenwade, Rob Beezer, Joachim Schrod, Piet van Oostrum, and Ross N. Williams. A special thanks to Aliza R. Panitz for the text describing how to execute an anonymous ftp for files of interest. Any omissions from these acknowledgements should be considered an act of stupidity on my part. Of course, the authors of literate programming tools mentioned above all play a vital role in the vitality of literate programming. Furthermore, participants in the comp.programming.literate newsgroup (and associated mailing list) all contributed in various fashions. Thank all of you. 15. End notes This document will continue to evolve. I'm planning on adding entries for additional literate programming tools and will expand the sections on examples as more examples become available. Tools I will include are WEB (the original pascal version) for starters. Others will be added as I find and document them. Omission of a particular tool should not be considered a snub in any sense--simply an error or oversight on my part. 19-Nov-1997 6:06:40-GMT,1450;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id XAA02931 for ; Tue, 18 Nov 1997 23:06:38 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 18 Nov 1997 23:58:32 EST From: Diego Zamboni Reply-To: LitProg@SHSU.edu, zamboni@cs.purdue.edu Subject: Inter-file chunk names? Date: 19 Nov 1997 05:27:15 GMT Message-ID: <64ttbj$ata$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu Hi, I have the following problem with noweb: I have a program that is divided in two different .nw files, and I have to noweave them separately, because the generated documents go in different places in my main document. The problem is that when a chunk is referenced from a file other than the one it was defined in, it gets typeset as this: instead of referencing the correct chunk numer. If I reference chunks using \nextchunklabel and \subpageref they work ok, because that apparently is implemented using the standard LaTeX label/reference mechanism. I have already tried some combinations of \noweboptions{externalindex} with noindex/nodefs, but to no avail. Any suggestions will be greatly appreciated. Thanks a lot, --Diego 24-Nov-1997 1:06:50-GMT,1570;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id SAA11029 for ; Sun, 23 Nov 1997 18:06:49 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sun, 23 Nov 1997 19:00:38 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Re: Inter-file chunk names? Date: 24 Nov 1997 00:39:02 GMT Message-ID: <65aib6$mkk$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <64ttbj$ata$1@murdoch.acc.Virginia.EDU>, Diego Zamboni wrote: >I have the following problem with noweb: I have a program that is >divided in two different .nw files, and I have to noweave them >separately, because the generated documents go in different places in >my main document. The problem is that when a chunk is referenced >from a file other than the one it was defined in, it gets typeset as >this: > > > >instead of referencing the correct chunk numer. Two dirty tricks that may work: noweave -delay -... beginning.tex A.nw middle.tex B.nw end.tex > all.tex Or make sure the names of the files are the same length and are identical in the first three letters. (If you don't like that, try noweave -filter 'sed "s/^@file .*/@file bogus/' ...) Otherwise you'll have to do some serious noweave hacking. NOrman 25-Nov-1997 2:46:29-GMT,1445;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id TAA13288 for ; Mon, 24 Nov 1997 19:46:28 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from lorraine.loria.fr by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 24 Nov 1997 20:37:14 EST Received: from renaissance.loria.fr (renaissance.loria.fr [152.81.4.102]) by lorraine.loria.fr (8.8.7/8.8.7/8.8.7/JCG) with ESMTP id DAA09316; Tue, 25 Nov 1997 03:37:21 +0100 (MET) From: "Denis B. Roegel" Reply-To: LitProg@SHSU.edu, Denis.Roegel@loria.fr Received: (from roegel@localhost) by renaissance.loria.fr (8.8.2/8.8.2) id DAA02592; Tue, 25 Nov 1997 03:37:21 +0100 (MET) Date: Tue, 25 Nov 1997 03:37:21 +0100 (MET) Message-ID: <199711250237.DAA02592@renaissance.loria.fr> To: LitProg@SHSU.edu Subject: java and cweb CC: roegel@lorraine.loria.fr Hi, I have read that cweb can be used for java. I have tried it, but I have to add things like @s String static @s import static etc. Besides, this does not solve all the formattin problem. So, I wonder if anybody has defined some preamble for correct formatting, and some rules for things to do and things not to do when one wants to use cweb with java ? Thanks, Denis 25-Nov-1997 22:06:28-GMT,1798;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA07145 for ; Tue, 25 Nov 1997 15:06:27 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 25 Nov 1997 15:58:14 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: java and cweb Date: 25 Nov 1997 14:59:00 GMT Message-ID: <65ep3k$jjs$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On Tue, 25 Nov 1997, Denis B. Roegel wrote: > I have read that cweb can be used for java. I have tried it, > but I have to add things like > > @s String static > @s import static > > etc. > > Besides, this does not solve all the formattin problem. So, I wonder > if anybody has defined some preamble for correct formatting, > and some rules for things to do and things not to do when one wants > to use cweb with java ? If you're not wedded to CWEB, noweb has several Java prettyprinters available, including one included with the standard Pretzel distribution. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Undue exertion of nearly any form leads Computer Science Department | to difficult consequences, and at any Kean University | rate is undignified. Union, NJ 07083 | | -- John P. Marquand leew@samson.kean.edu | "Thank You, Mr. Moto" (1936) ------------------------------------------------------------------------ 26-Nov-1997 16:59:36-GMT,1249;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA00071 for ; Wed, 26 Nov 1997 09:59:35 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from naps.uwindsor.ca (dns.uwindsor.ca) by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 26 Nov 1997 10:46:05 EST Received: from server.uwindsor.ca (server.uwindsor.ca [137.207.32.2]) by server.uwindsor.ca (950413.SGI.8.6.12/950213.SGI.AUTOCF) via SMTP id LAA03693 for ; Wed, 26 Nov 1997 11:42:37 -0500 Date: Wed, 26 Nov 1997 11:42:37 -0500 (EST) From: Chiang Hui Chung Reply-To: LitProg@SHSU.edu, jiang3@server.uwindsor.ca To: LitProg@SHSU.edu Subject: Java vs C++?? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII HI: Java is kind of based on C++...Is it implied that Java is better than C++? I'm wondering which one is better language generally? and Why? Thanks. Wayne. Hui Chiang Visit My Web Site: http://137.207.80.21/wayne 30-Nov-1997 17:11:50-GMT,64888;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA09132 for ; Sun, 30 Nov 1997 10:11:48 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sun, 30 Nov 1997 10:41:42 EST From: thompson@sun1.coe.ttu.edu Subject: comp.programming.literate FAQ Date: 30 Nov 1997 12:37:39 GMT Message-ID: Reply-To: LitProg@SHSU.edu, thompson@sun1.coe.ttu.edu To: LitProg@SHSU.edu Archive-name: literate-programming-faq Last-modified: 1997/08/15 Version: 1.1.18 The Literate Programming FAQ David B. Thompson 15 August 1997 This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. ______________________________________________________________________ Table of Contents: 1. Welcome 1.1. Disclaimer 1.2. Copyright 1.3. What's New? 2. Introduction or 3. How do I get the FAQ? 3.1. Literate Programming FAQ 3.2. FWEB FAQ 4. Is there a newsgroup? 5. What internet nodes are of interest to literate programmers? 6. What is Literate Programming? 7. How do I begin literate programming? 8. What literate programming tools are available? 8.1. APLWEB 8.2. AWEB 8.3. CLiP 8.4. CWEB 8.5. CWEBx3.0 8.6. mCWEB 8.7. FunnelWeb 8.8. FunnelWeb 3.0AC 8.9. FWEB 8.10. IMPACT 8.11. lit2x 8.12. Literate Programmer's Workshop (LPW) 8.13. MapleWEB 8.14. MWEB (Schrod/Detig) 8.15. MWEB (Sewell) 8.16. noweb 8.17. nuweb 8.18. ProTeX 8.19. RWEB 8.20. SchemeWEB 8.21. SpideryWEB 8.22. WEB 8.23. WinWordWEB 9. Are there other tools I should know about? 9.1. C2LaTeX 9.2. c2cweb 9.3. c2man 9.4. cnoweb 9.5. Fold2Web 9.6. Funnelweb Mode 9.7. noweb.el 9.8. nuweb.el 9.9. TIE 9.10. Web mode 10. What other resources are available? 10.1. World Wide Web 10.2. TeX Resources 11. Are there any code examples? 12. Bibliographies 13. How to anonymously ftp 14. Acknowledgements 15. End notes ______________________________________________________________________ 1. Welcome Information contained in this document is the best available at preparation. The original file was dated October 15, 1993 (just for historical purposes). 1.1. Disclaimer Disclaimer: ``This FAQ is presented with no warranties or guarantees of ANY KIND including correctness or fitness for any particular purpose. The author of this document has attempted to verify correctness of the data contained herein; however, slip-ups can and do happen. If you use this data, you do so at your own risk.'' 1.2. Copyright Copyright 1993-1997 by David B. Thompson. All rights reserved worldwide. Permission is granted to copy this document for free distribution so long as it remains intact and unmodified. For other arrangements, contact the author/maintainer via email: 1.3. What's New? o My email address has changed (once again). o Newsgroup is moderated. o Updated fweb entry. o Updated noweb entry. o Added mCWEB entry. o Updated c2cweb entry. o Updated nuweb.el entry. o Updated cLiP entry. o Updated Lee W's examples (from bart). o Last, but not least, new formatting of the FAQ. Many thanks go to Andrew Johnson for helping make this happen. 2. Introduction or ``What's this all about?'' This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. The Literate Programming (LitProg) Frequently Asked Questions (FAQ) list is maintained by Dave Thompson Comments and constructive criticisms are welcome. Direct flames to /dev/null (or nul if you're a msdos user! ;-) If you find an error, please report it. I'm particularly interested in establishing the locations of generally available literate programming tools. If you are the author of such a tool and wish to have it included in this list, please send email. Please note this is a work-in-progress. It is not complete, and probably will never be complete. Nevertheless, the information contained herein may be useful to some. Use it as it is intended. 3. How do I get the FAQ? 3.1. Literate Programming FAQ You have many ways to get a current copy of this FAQ. One is to use anonymous ftp (if you don't know how, see a later section in this FAQ) to connect to one of the Comprehensive TeX Arvchive Network (CTAN) sites or the Literate Programming Archive and retrieve a copy of the file. Open an ftp connection to one of the CTAN sites and retrieve the file: help/LitProg-FAQ (For more information on CTAN and the literate programming archive, see the section below entitled ``Internet Nodes of Interest to Literate Programmers''.) 3.2. FWEB FAQ David Coker maintains the FWEB FAQ. The current version number is 1.30a. It can be retrieved in the same way as this FAQ. The FWEB FAQ exists in various formats, including HyperText (see other resources below). In Europe, the complete distribution can also be obtained from ftp.desy.de 131.169.10.115 in directory /pub/faq/web/fweb/. It is also available from the literate programming archive in the directory LPA/Documentation/faq/fweb (see the references to LPA below for more information). 4. Is there a newsgroup? One of the most important resources is the literate programming newsgroup, comp.programming.literate. Because of the amount of spamming and unrelated the posts, the newsgroup is now moderated. Posts to the newsgroup are now routed through litprog- mod@cs.virginia.edu. If your news reader does not post through this address, then you will be unable to post messages to the newgroup. You can read this newsgroup using your standard reader. 5. What internet nodes are of interest to literate programmers? The principal nodes of interest to literate programmers are the Literate Programming Archive (LPA hereafter) and the CTAN (Comprehensive TeX Archive Network). The Literate Programming Archive (LPA) is: Node: ftp.th-darmstadt.de [130.83.55.75] Directory: programming/literate-programming Notes: Fastest response during off-U.S. [yep] business hours. Participating hosts in the Comprehensive TeX Archive Network are: ftp.dante.de (Deutschland) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node sun.dante.de -- e-mail via ftpmail@dante.de -- Administrator: ftp.tex.ac.uk (England) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node gopher.tex.ac.uk -- NFS mountable from nfs.tex.ac.uk:/public/ctan/tex-archive -- World Wide Web access on www.tex.ac.uk -- Administrator: The site ftp.shsu.edu used to be the American CTAN site. Apparently, that site has fallen into disrepair and should not be considered a primary source for either TeX related or literate programming related material. For the record, the address is: ftp.shsu.edu (Texas, USA) -- anonymous ftp and gopher /tex-archive (/pub/tex /pub/archive) -- NFS mountable from ftp.SHSU.edu:/pub/ftp/tex-archive -- e-mail via ftpmail@ftp.SHSU.edu -- World Wide Web access on www.SHSU.edu -- Administrator: A list of CTAN archive sites and their mirrors can be found on: ftp.dante.de:/tex-archive/CTAN.sites I presume that the other CTAN sites mirror this file, but have not checked. As of my last check (September 1994), it contains: "In order to reduce network load, it is recommended that you use the Comprehensive TeX Archive Network (CTAN) host which is located in the closest network proximity to your site." Known partial mirrors of the CTAN reside on (alphabetically): dongpo.math.ncu.edu.tw (Taiwan) /tex-archive ftp.adfa.oz.au (Australia) /pub/tex/ctan ftp.muni.cz (The Czech Republic) /pub/tex/CTAN ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive ftp.uu.net (Virginia, USA) /pub/text-processing/TeX nic.switch.ch (Switzerland) /mirror/tex Known mirrors of the CTAN reside on (alphabetically): ftp.center.osaka-u.ac.jp (Japan) /CTAN ftp.ccu.edu.tw (Taiwan) /pub/tex ftp.cs.rmit.edu.au (Australia) /tex-archive ftp.duke.edu (North Carolina, USA) /tex-archive ftp.germany.eu.net (Deutschland) /pub/packages/TeX ftp.gwdg.de (Deutschland) /pub/dante ftp.jussieu.fr (France) /pub4/TeX/CTAN ftp.loria.fr (France) /pub/unix/tex/ctan ftp.mpi-sb.mpg.de (Deutschland) /pub4/tex/mirror/ftp.dante.de ftp.uni-bielefeld.de (Deutschland) /pub/tex ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex) ftpserver.nus.sg (Singapore) /pub/zi/TeX src.doc.ic.ac.uk (England) /packages/tex/uk-tex sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX wuarchive.wustl.edu (Missouri, USA) /packages/TeX Other nodes and directories of interest include: Node: ftp.desy.de [131.169.10.115] Directory: pub/web. Various documents, samples, and the FWEB FAQ. Notes: Has a www server, http://info.desy.de:80/ 6. What is Literate Programming? Literate programming is the combination of documentation and source together in a fashion suited for reading by human beings. In fact, literate programs should be enjoyable reading, even inviting! (Sorry Bob, I couldn't resist!) In general, literate programs combine source and documentation in a single file. Literate programming tools then parse the file to produce either readable documentation or compilable source. The WEB style of literate programming was created by D.E. Knuth during the development of his TeX typsetting software. All the original work revolves around a particular literate programming tool called WEB. Knuth says: The philosophy behind WEB is that an experienced system pro- grammer, who wants to provide the best possible documenta- tion of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately. The structure of a software program may be thought of as a web that is made up of many interconnected pieces. To docu- ment such a program we want to explain each individual part of the web and how it relates to its neighbours. The typo- graphic tools provided by TeX give us an opportunity to explain the local structure of each part by making that structure visible, and the programming tools provided by languages such as C or Fortran make it possible for us to specify the algorithms formally and unambigously. By combin- ing the two, we can develop a style of programming that max- imizes our ability to perceive the structure of a complex piece of software, and at the same time the documented pro- grams can be mechanically translated into a working software system that matches the documentation. Another author (Eric W. van Ammers) wrote me a short article treating his opinions on literate programming. The text follows: First observation on LP About 90% of the disussion on this list is about problems with applying some WEB-family member to a particular programming language or a special documentation situation. This is ridiculous, I think. Let me explain shortly why. Lemma 1: I have proposed for many years that programming has nothing to do with programming langauges, i.e. a good programmer makes good programs in any language (given some time to learn the syntax) and a bad programmer will never make a good program, no matter the language he uses (today many people share this view, fortunately). Lemma 2: Literate Programming has (in a certain way not yet completely understood) to do with essential aspects of programming. Conclusion 1: A LP-tool should be independent of programming language. Lemma 3: It seems likely that the so called BOOK FORMAT PARADIGM ref. 1 plays an important role in making literate programs work. Lemma 4: There are very many documentation systems currently being used to produce documents in the BOOK FORMAT. Conclusion 2: A LP-tool should be independent of the documentation system that the program author whishes to use. My remark some time ago that we should discuss the generic properties of an LP-tool was based on the above observation. References 1 Paul W. Oman and Curtus Cook. ``Typographical style is more than cosmetic.'' CACM 33, 5, 506-520 (May 1990) Second observation on LP The idea of a literate program as a text book should be extendend even further. I would like to see a literate program as an (in)formal argument of the correctness of the program. Thus a literate program should be like a textbook on mathematicics. A mathematical textbook explains a theory in terms of lemma and theorems. But the proofs are never formal in the sense that they are obtaind by symbol manipulation of a proof checker. Rather the proofs are by so called ``informal rigour'', i.e. by very precise and unambiguous sentences in a natural language. 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 Another author (Norman Ramsey) wrote me and asked that his opinions be included in the FAQ. What follows are Norman's comments verbatim. I see it's time for the ``how is literate programming dif- ferent from verbose commenting'' question. Perhaps David Thompson will get this into the FAQ. Alert! What follows are my opinions. In no way do I claim to speak for the (fractious) literate-programming community. How is literate programming different from verbose commenting? There are three distinguishing characteristics. In order of importance, they are: o flexible order of elaboration o automatic support for browsing o typeset documentation, especially diagrams and mathematics Flexible order of elaboration means being able to divide your source program into chunks and write the chunks in any order, independent of the order required by the compiler. In principle, you can choose the order best suited to explaining what you are doing. More subtly, this discipline encourages the author of a literate program to take the time to consider each fragment of the program in its proper sphere, e.g., not to rush past the error checking to get to the ``good parts.'' In its time and season, each part of the program is a good part. (This is the party line; your mileage may vary.) I find the reordering most useful for encapsulating tasks like input validation, error checking, and printing output fit for humans --- all tasks that tend to obscure ``real work'' when left inline. Reordering is less important when using languages like Modula-3, which has exceptions and permits declarations in any order, than when using languages like C, which has no exceptions and requires declaration before use. Automatic support for browsing means getting a table of contents, index, and cross-reference of your program. Cross-reference might be printed, so that you could consult an index to look up the definition of an identifier `foo'. With good tools, you might get a printed mini-index on every page if you wanted. Or if you can use a hypertext technology, cross-reference might be as simple as clicking on an identifier to reach its definition. Indexing is typically done automatically or `semi- automatically', the latter meaning that identifier definitions are marked by hand. Diligently done semi- automatic indexes seem to be best, because the author can mark only the identifiers he or she considers important, but automatic indexing can be almost as good and requires no work. Some tools allow a mix of the two strategies. Some people have applied literate-programming tools to large batches of legacy code just to get the table of contents, index, and cross-reference. I don't use diagrams and mathematics very often, but I wouldn't want to have to live without them. I have worked on one or two projects where the ability to use mathematical formulae to document the program was indispensible. I also wouldn't like to explain some of my concurrent programs without diagrams. Actually I write almost all of my literate programs using only sections headers, lists, and the occasional table. >Wouldn't it be easier to do one's literate programming using >a wysiwyg word processor (e.g. Word for Windows) and >indicate what is source code by putting it in a different >font? The data formats used in wysiwyg products are proprietary, and they tend to be documented badly if at all. They are subject to change at the whim of the manufacturer. (I'll go out on a limb and say there are no significant wysiwyg tools in the public domain. I hope the Andrew people will forgive me.) These conditions make it nearly impossible to write tools, especially tools that provide automatic indexing and cross-reference support. The CLiP people have a partial solution that works for tools that can export text --- they plant tags and delimiters throughout the document that enable the reordering transformation (``tangling''). People use TeX, roff, and HTML because free implementations of these tools are widely available on a variety of platforms. TeX and HTML are well documented, and TeX and roff are stable. TeX is the most portable. I think I have just answered the FAQ ``how come all these tools use TeX, anyway?'' :-) Norman Ramsey 7. How do I begin literate programming? A recommended book is D.E. Knuth's collection of articles (1992) Literate Programming. Center for the Study of Language and Information, Stanford University, ISBN 0-937073-80-6 (pbk). This book gives insight into Knuth's thoughts as he developed the web system of literate programming (and TeX for typesetting). It does not document methods for literate programming. A recommended book is Wayne Sewell's (1989) Weaving a Program: Literate Programming in WEB. Van Nostrand Reinhold, ISBN 0-442-31946-0 (pbk). This book focuses on using Knuth's web system. Some talk exists in the newsgroup/mailing list for a Usenet University course in literate programming. I'm sure discussion of this topic will be welcomed. If you are interested, please participate. 8. What literate programming tools are available? A significant number of tools for literate programming are available. Most have been ported from their original systems, so support multiple computer platforms. If you are the developer of such a tool, and would like to make the software freely available, please send me email and I'll reply with a form (like those below) for you to fill in. (Or short-circuit the process and kludge a form from below. :-) 8.1. APLWEB Developer: Christoph von Basum Version: Unknown Hardware: MSDOS Languages: IBM APL2 and STSC APL Formatter: Plain TeX Availability: Anonymous ftp from: LPA:/apl watserv1.uwaterloo.ca:/languages/apl/aplweb Readme: Unknown Description: None available. Support: Unknown Note: The status of this particular package is unknown. 8.2. AWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Ada Formatter: Unknown Availability: Anonymous ftp from: LPA:/ada/web Readme: Unknown Description: None available Support: Not supported. 8.3. CLiP Developer: E.W. van Ammers and M.R. Kramer Versions: 2.0 and 2.4b (DOS only) Platform: Vax/VMS, Unix, DOS Languages: Any programming language Formatter: Any formatter (TeX, LaTeX, Troff, Runoff, HTML, etc) or any wordprocessor including WYSIWYG systems (Word Perfect, WinWord, Ami Pro, Word Pro, etc.) Availability: Anonymous ftp from: sun01.info.wau.nl:/CLIP/ms_dos DOS sun01.info.wau.nl:/CLIP/ms_dos_24b DOS (v. 2.4b) sun01.info.wau.nl:/CLIP/vax_vms VAX/VMS sun01.info.wau.nl:/CLIP/unix Unix CTAN:/web/clip LPA:/machines/ms-dos LPA:/machines/vax Readme: With bundle above Description: CLiP does not use explicit commands to perform the extraction process. Rather it recognizes pseudostatements written as comments in the programming language in question. CLiP distinguishes pseudostatements from ordinary comments because the former comply with a particular style. This style can be adjusted to suit virtually any programming language. The CLiP approach to LP makes the system extremely versatile. It is independent of programming language and text processing environment. We designed CLiP to be compatible with hypertext systems as well. Some hypertext examples are at ftp://sun01.info.wau.nl/clip/html/queens.htm ftp://sun01.info.wau.nl/clip/html/pal1.htm Features: + CLiP imposes virtually no limitations on the text-processing system used to produce the documentation. If the text-processor supports these items you can + structure the documentation according to your own taste. + include drawings, pictures, tables etc. + disclose your documentation my means of X-ref tables, Indexes, Table of contents, Table of tables, Table of figures, etc. + typeset the documented code. + Extracts any number of modules from a maximum of 64 source files. + No pretty-printing. Code from the source files is copied "as is" to the module. + Appearance of code segments in the documentation matches those of the modules to ease the identification of code segments. + Supports partially specified data types. + Comprehensive user manual (preliminary version) and technical description. - No automatic generation of a X-ref table for program identifiers. Support: Bugs, problems and assistance by e-mail to Eric.vanAmmers@user.info.wau.nl 8.4. CWEB Developer: Silvio Levy and D.E. Knuth Version: 3.0 Hardware: Unix systems (dos and amiga ports available) Languages: C and C++ Formatter: Plain TeX and LaTeX. Availability: Anonymous ftp from: labrea.stanford.edu:/pub/cweb LPA:/c.c++ CTAN:/web/c_cpp/cweb DOS version in CTAN:/web/c_cpp/cwb30p8c DOS version in LPA:/machines/ms-dos Amiga version CTAN:/web/c_cpp/AmigaCWEB Mac port of CTANGLE in LPA:/machines/mac LaTeX support in LPA:/c.c++ Readme: Bundled with above Description: No description provided. Support: Bugs to levy@math.berkeley.edu 8.5. CWEBx3.0 Developer: Marc van Leeuwen Version: Unknown Hardware: Any system using ASCII code Languages: ANSI C Formatter: Plain TeX Availability: Anonymous ftp from: ftp.cwi.nl/pub/cweb Readme: Bundled with above Brief description: A modified implementation of CWEB, with some extensions. Provides a mode for full compatibility with Levy/Knuth CWEB. The most significant extras are: - Typedef declarations affect formatting througout source file - Include files are scanned for typedef definitions - Flexible selection of layout style - Possibility to refer to sections using symbolic labels - CTANGLE detects unbalanced braces and parentheses - CWEAVE can be made to report syntax errors more easily - Some additional mechanisms to avoid formatting problems - New and modular set of grammar rules, based on ANSI C syntax - Possibility to suppress #line directives - A new manual Support: bugs and remarks to M.van.Leeuwen@cwi.nl 8.6. mCWEB Developer: Markus Oellinger Version: 1.0 Hardware: Unix Languages: C/C++ Formatter: plainTeX Availability: anonymous ftp from ist.tu-graz.ac.at:/pub/utils/litprog/mcweb/mcweb.tgz Readme: at same location Description: This is mCWEB 1.0, a descendant of the CWEB system of structured documentation by Donald E. Knuth and Silvio Levy. It adds some features that are indispensable when working in a team. mCWEB regards a project of a book consisting of several chapter files. By means of import and export commands, it automatically manages all relationships between the chapters of a book and to other books. Interface documentation is now also part of mCWEB. It is extracted into a second TeX file. This makes it possible to define well known interfaces between the individual parts of a project that will be implemented by different persons. In addition, mCWEB parses C header files to find out about all the datatypes defined there. mCWEB comes with a full completely rewritten user manual and is compatible with CWEB. Support: Institute of Software Technology moell@ist.tu-graz.ac.at 8.7. FunnelWeb Developer: Ross N. Williams: ross@guest.adelaide.edu.au Version: Unknown Hardware: MSDOS, Mac, VMS, Sun. Other ports reported. Languages: No restrictions. Formatter: Plain TeX for printing. Otherwise, no restrictions. Availability: Anonymous ftp from: CTAN:/web/funnelweb LPA:/independent ftp.adelaide.edu.au:/pub/funnelweb Readme: With bundle above. Description: FunnelWeb is a production-quality literate-programming tool that emphasises simplicity and reliability. Everything about FunnelWeb, from the simplicity of its language to the comprehensive tutorial in the user's manual, has been designed to make this as simple, as practical, and as usable a tool as possible. Features: + Provides a simple macro preprocessor facility. + Can produce typeset documentation. + Runs on Sun, VMS VAX, Macintosh, PC, and others. + Portable C source code distributed under GNU licence. + Comprehensive user's manual including tutorial. + Programming-language independent. + Can generate multiple output files. + Allows complete control over the output text. + Regression test suite with over 200 tests. + Fully worked example (in /pub/funnelweb/examples). - Requires TeX to produce typeset documentation. - Typesets program code using TT font only. Support: No formal support available. Mailing list maintained with about 50 subscribers. Informal assistance available from mailing list. 8.8. FunnelWeb 3.0AC Developer: Enhanced by A.B.Coates (coates@physics.uq.edu.au) from FunnelWeb v3.0 by Ross N. Williams (ross@guest.adelaide.edu.au) Version: 3.0AC Hardware: MSDOS, Mac, VMS, Sun, OSF/1, Linux, Sys.V, OS/2. Languages: No restrictions. Formatter: Tex, LaTeX, or HTML. Availability: Anonymous ftp from ftp.physics.uq.oz.au:/pub/funnelwebAC30.tar.gz Readme: With bundle above; for FunnelWeb manual see WWW page http://www.physics.uq.oz.au:8001/people/coates/funnelweb.html Description: FunnelWeb 3.0AC is an enhanced version of FunnelWeb (see the entry for FunnelWeb). FunnelWeb is designed to be typesetter independent, though FunnelWeb v3.0 only supports (La)TeX as the typesetter. FunnelWeb 3.0AC also supports HTML, and creates appropriate hypertext links within the document among the code sections. FunnelWeb 3.0AC also supports automatic and manual insertion of line directives, so that compiler errors can be flagged back to the original FunnelWeb source file. FunnelWeb 3.0AC is completely compatible with FunnelWeb v3.0 sources (with one minor exception; see the file README.ABC which comes with the FunnelWeb 3.0AC distribution). Support: Supported by A.B.Coates (coates@physics.uq.edu.au), subject to the time constraints imposed by his thesis. 8.9. FWEB Developer: John A. Krommes Version: 1.53 (1.60-beta for the experienced, patient, and brave) Hardware: Unix, VMS, and DOS platforms (anything with ANSI C) Languages: C, C++, Fortran-77, Fortran-90, Ratfor, TeX; also, a language-independent mode. Formatter: LaTeX. Plain TeX may work, but is no longer supported. Availability: Anonymous ftp from: ftp.pppl.gov:/pub/fweb CTAN:/web/fweb LPA:/fweb DOS version in LPA:/machines/ms-dos Readme: In bundle with above. Description: It also has a well-developed user's manual and its own FAQ (see above). Beginning with 1.40, documentation is maintained in gnu texinfo format. It runs on most platforms: VMS, PC, UNIX, and pretty much anything that the GNU C compiler (GCC) is supported for. Features: + Processes multiple languages during a single run (so one can mix C and Fortran, for example). + Language-independent mode (v1.40). + Ability to turn off pretty-printing (v1.40). + Built-in Ratfor translator. + Built-in macro preprocessor (closely follows ANSI C, with extensions). + A style file that allows the user to adjust many parameters and behavior patterns of FWEB. + Various operator-overloading features that provide additional pretty-printing capabilities to languages such as C++ and Fortran-90. + Numerous miscellaneous features and command-line options. Support: Bug reports and suggestions to krommes@princeton.edu 8.10. IMPACT Developer: Timothy Larkin, from Levy/Knuth CWEB 3.1 Version: 1.0 Hardware: Macintosh; requires AppleEvents. Languages: C, C++ Formatter: TeX Availability: CTAN archives Readme: A short readme file is included in the SEA archive. Description: IMPACT implements CTangle from the Levy/Knuth CWEB 3.1. It operates as a foreground program, tangling files selected from the Mac File Picker. Or it can operate in the background, tangling files in response to odoc events sent by other applications, such as editors. Support: I welcome any reports of bugs. The product will be updated as new versions of the CWEB appear. Other features may be added as users suggest them. 8.11. lit2x Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/independent Readme: Unknown Description: None available Support: Unknown 8.12. Literate Programmer's Workshop (LPW) Developer: Norbert Lindenberg Version: 1.1 Hardware: Apple Macintosh Languages: C++, Object Pascal & others Formatter: self-contained WYSIWYG system Availability: Anonymous ftp from: LPA:/machines/mac CTAN:/web/lpw ftp.apple.com:/pub/literate.prog Readme: With bundle above. Also comes with 38-page manual. Description: The Literate Programming Workshop is an environment for the integrated development of program source text and documentation in combined documents. It consists of a WYSIWYG word processor based on a style sheet approach, a mechanism to extract parts of the text in a document, and a project management system that handles multi-document projects. The system is designed to be used in conjunction with the Macintosh Programmer's Workshop: it prepares raw source text for the MPW compilers, accepts MPW error messages, and shows them in the context of the original documents. Automatic indexing and hypertext features allow for easy access to both source text and documentation. LPW is shareware. Support: Bugs, problems, and questions to lpw@aol.com. 8.13. MapleWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Maple Formatter: Unknown Availability: Anonymous ftp from: LPA:/maple Readme: Unknown Description: None Support: Unknown 8.14. MWEB (Schrod/Detig) Developer: Joachim Schrod Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. 8.15. MWEB (Sewell) Developer: Sewell Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. 8.16. noweb Developer: Norman Ramsey Version: 2.8 Hardware: Unix and DOS platforms (DOS binaries available for v2.7). Languages: All programming languages, singly or in combination. Automatic indexing for C, Icon, Pascal, Standard ML, TeX, Yacc Formatter: Plain TeX, LaTeX, and HTML formatters. Will convert LaTeX to HTML automatically. Availability: Anonymous ftp from: CTAN:/web/noweb LPA:/independent Last recourse, use ftp.cs.virginia.edu:pub/nr Readme: With bundle above, or see the noweb home page: http://www.cs.virginia.edu/~nr/noweb Those without ftp access can consult ``Literate Programming Simplified,'' IEEE Software, September 1994, pp97-105. Description: noweb is designed to meet the needs of literate programmers while retaining the simplest possible input format. Its primary advantages are simplicity, extensibility, and language-independence. noweb uses 5 control sequences to WEB's 27. The noweb manual is only 3 pages; an additional page explains how to customize its LaTeX output. noweb works ``out of the box'' with any programming language, and supports TeX, latex, and HTML back ends. A back end to support full hypertext or indexing takes about 250 lines; a simpler one can be written in 40 lines of awk. The primary sacrifice relative to WEB is that code is not prettyprinted. noweb supports indexing and identifier cross-reference, including hypertext ``hot links.'' noweb includes a simple, efficient LaTeX-to-HTML converter, so you can use hypertext browsers on your legacy documents. noweb can also process nuweb programs, so you can use noweb to convert a standard nuweb program to HTML with one command. Support: email to the author 8.17. nuweb Developer: Preston Briggs: preston@cs.rice.edu Version: 0.87 Hardware: Unix systems: Sparcs, RS/6000s, HPs; (!) MSDOS and Amiga. Languages: Any programming language or combination of programming languages. Formatter: Latex Availability: Anonymous ftp from: Unix: CTAN:/web/nuweb DOS: CTAN:/web/nuweb-pc LPA:/independent Amiga: CTAN:/web/nuweb/nuweb_ami Amiga: wuarchive.wustl.edu/pub/aminet Readme: Send mail to preston@cs.rice.edu Description: A single program that takes a web file written in a combination of latex and any programming language(s) and produces a latex file that can be pretty printed and a set of files containing code for compilation/interpretation by the appropriate language processors. Strengths include speed, simplicity, multiple languages, nice indices and cross-references, latex. Doesn't require any special macros or macro files. Drawbacks: latex-dependent, no code pretty printing, harder to make indices than cweb. More good stuff: nice support for make, doesn't reformat source files, so they're easy to debug. Lots of control without too much effort. That is, it doesn't do too much! Future directions... Very little change planned, except perhaps refinements in the indexing software. Support: Hack it yourself or send e-mail to preston@cs.rice.edu 8.18. ProTeX Developer: Eitan Gurari Version: ProTeX 1.1, AlProTeX 1.4 Hardware: Any platform with (La)TeX Languages: Any language Formatter: TeX or LaTeX Availability: Anonymous ftp from: ftp.cis.ohio-state.edu : pub/tex/osu/gurari/ LPA:/independent Readme: With bundle above Description: + Easy to use + Extensible + Language independent + Multiple output files + Fast (single compilation provides output and dvi files) + No installation is needed besides copying the files (written in TeX) Introduction of main features and examples in pub/tex/osu/gurari/LitProg Complete manual in Eitan M. Gurari, "TeX and LaTeX: Drawing and Literate Programming", McGraw-Hill, 1994 Support: gurari@cis.ohio-state.edu 8.19. RWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/reduce Readme: Unknown Description: Web generator in AWK. Support: Unknown 8.20. SchemeWEB Developer: John D. Ramsdell Version: 2.1 Hardware: Unix and DOS platforms Languages: Any dialect of Lisp. Formatter: LaTeX. Availability: The Unix version is in the Scheme Repository and it is available via anonymous ftp from: cs.indiana.edu:/pub/scheme-repository/utl/schemeweb.sh LPA:/lisp CTAN:/tex-archive/web/schemeweb The DOS version is part of the PCS/Geneva Scheme system which is available via anonymous ftp from: cui.unige.ch:/pub/pcs LPA:/machines/ms-dos Readme: In bundle with above. Description: SchemeWEB is a Unix filter that allows you to generate both Lisp and LaTeX code from one source file. The generated LaTeX code formats Lisp programs in typewriter font obeying the spacing in the source file. Comments can include arbitrary LaTeX commands. SchemeWEB was originally developed for the Scheme dialect of Lisp, but it can easily be used with most other dialects. Support: Bug reports to ramsdell@mitre.org. 8.21. SpideryWEB Developer: Norman Ramsey Version: Unknown Hardware: Unix and DOS platforms Languages: Most Algol-like languages, including C, Ada, Pascal, Awk, and many others. Formatter: Plain TeX and latex for text formatters. Availability: Anonymous ftp from: CTAN LPA:/spiderweb Readme: In distribution. Description: A system for building language-dependent WEBs. Spider is frozen; no further development is planned. Support: Bug reports to spider-bugs@oracorp.com. 8.22. WEB Developer: Donald Knuth Version: Unknown Hardware: Unknown Languages: Pascal Formatter: TeX (of course! ;-) Availability: Anonymous ftp from: LPA:/pascal Readme: Unknown Description: This is the original software that started it all. The original TeX processor was written in WEB. Support: None known. 8.23. WinWordWEB Developer: Lee Wittenberg Version: Unknown Hardware: Needs Microsoft Word for Windows, v.2.x, and, of course, MS-Windows 3.x. Languages: Any programming language. Formatter: Word for Windows 2.x for text formatting and file maintenance. Availability: Anonymous ftp from: bart.kean.edu:pub/leew LPA:/machines/ms-dos World-Wide Web (WWW) Readme: WORDWEB.DOC in the downloadable package describes the system. Description: WinWordWEB is a set of a Word for Windows macros (plus a paragraph style) that provide a crude literate programming environment. The ``look and feel'' of the system is based on Norman Ramsey's noweb, but can easily be modified to suit individual tastes. Support: None. WinWordWEB was written as a prototype to see if a WYSIWYG literate programming system was possible. It is intended as a jumping off point for future work by others. However, the system is surprisingly usable as it stands, and the author is interested in hearing from users (satisfied and dissatisfied). Anyone interested in actively supporting (and improving) the product should contact the author via email. 9. Are there other tools I should know about? First of all, I'll list some not-quite-literate-programming tools. Some may consider these to be pretty-printers. Others may call them literate programming tools. In any event, they don't seem to be quite in the same category as the tools listed above, so I'll include them here. 9.1. C2LaTeX Developer: John D. Ramsdell Version: Unknown Hardware: Unix Languages: C Formatter: LaTeX but it's easy to change the formatter. Availability: Anonymous ftp from omnigate.clarkson.edu:/pub/tex/tex-programs/c2latex. Readme: Absent. Documentation is in the C source for c2latex. Description: C2latex provides simple support for literate programming in C. Given a C source file in which the comments have been written in LaTeX, c2latex converts the C source file into a LaTeX source file. It can be used to produce typeset listings of C programs and/or documentation associated with the program. C2latex produces LaTeX source by implementing a small number of rules. A C comment that starts at the beginning of a line is copied unmodified into the LaTeX source file. Otherwise, non-blank lines are surrounded by a pair of formatting commands (\begin{flushleft} and \end{flushleft}), and the lines are separated by \\*. Each non-blank line is formatted using LaTeX's \verb command, except comments within the line are formatted in an \mbox. Support: Send bug reports to ramsdell@mitre.org. 9.2. c2cweb Developer: Werner Lemberg Version: 1.5 Hardware: DOS, OS/2, Unix (gcc) - CWEB source included Languages: C, C++ Formatter: TeX Availability: Anonymous ftp from CTAN:/web/c_cpp/c2cweb Readme: In distribution. Description: c2cweb will transform plain C or C++ code into a CWEB file to get a pretty formatted output. A modified CWEAVE (which transforms the CWEB file into a TeX file, see below) is included also. Support: Werner Lemberg 9.3. c2man language: C, nroff, texinfo, latex, html package: c2man version: 2.0 patchlevel 33 parts: documentation generator (C -> nroff -man, -> texinfo, ->latex, -> html) author: Graham Stoney location: ftp from any comp.sources.misc archive, in volume42 (the version in the comp.sources.reviewed archive is obsolete) ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl Australia: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from archie.au N.America: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from ftp.wustl.edu Europe: ftp /News/comp.sources.misc/volume42/c2man-2.0/* from ftp.irisa.fr Japan: ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/* from ftp.iij.ad.jp Patches: ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se description: c2man is an automatic documentation tool that extracts comments from C source code to generate functional interface documentation in the same format as sections 2 & 3 of the Unix Programmer's Manual. It requires minimal effort from the programmer by looking for comments in the usual places near the objects they document, rather than imposing a rigid function-comment syntax or requiring that the programmer learn and use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications. conformance: supports both K&R and ISO/ANSI C coding styles features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format + handles comments as part of the language grammar + automagically documents enum parameter & return values + handles C (/* */) and C++ (//) style comments - doesn't handle C++ grammar (yet) requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX. ports: Unix, OS/2, MSDOS, VMS. portability: very high for unix, via Configure status: actively developed; contributions by users are encouraged. discussion: via a mailing list: send "subscribe c2man " (in the message body) to listserv@research.canon.oz.au help: from the author and other users on the mailing list: c2man@research.canon.oz.au announcements: patches appear first in comp.sources.bugs, and then in comp.sources.misc. updated: 1994/10/07 9.4. cnoweb Developer: Jim Fox Version: 1.4 (January 4, 1991) Hardware: Anything with C and TeX. Languages: C Formatter: Plain TeX. Availability: Anonymous ftp from: CTAN LPA:/c.c++ Readme: Unknown, cnoweb.tex contains documentation. Description: cnoweb is as it's name describes: write C, not web. No tangling or weaving is implemented. Documentation (between standard /* */ delimiteres) is written in TeX. cnoweb provides typesetting of documentation, an table of contents of routines, and pretty-printing of C source. Support: None known. 9.5. Fold2Web Developer: Bernhard Lang Version: V0.8 Hardware: MSDOS Languages: All (must allow comment lines) Formatter: LaTeX Availability: Anonymous ftp from: kirk.ti1.tu-harburg.de (134.28.41.50) /pub/fold2web/readme /pub/fold2web/fold2web.zip Readme: In distribution Description: The idea behind the Fold2Web tool is the following: A programmer can write his program source with a folding editor and later map the folded source files automatically to WEB-files. The generated WEB-files can then be modified by inserting required documentations. The advantage by starting program developement with original sources is to get short design cycles during the compile/debug steps. By using a folding editor the global structuring information can be already captured in folds during this developement phase. Fold information is typically stored in comment lines and thus will not affect the efficiency of the compile/debug design cycle. Some folding editors and a folding mode for the emacs are available (e.g. see our FUE folding editor for MSDOS machines which is a modified micro emacs. Pick it at kirk in directory /pub/fold2web). After reaching a stable version of a program source its time to convert the source file to a WEB-file and do the program documentation. Fold2Web is written to convert folded source text of any programming language to nuweb files. The folded structure is kept by mapping folds to scraps. Fold markers which differ between languages due to different ways of specifying comments can be configured for each language. Good results can also achived when given but poor documented program sources have to be modified. Such sources can be folded using a folding editor to extract the global structures. This offers a global view to the program structures and help to understand its functionality. Furthermore the program code is not affected, only comment lines are inserted. Once folded the program source can be automatically translated to a WEB document using the above tool. Support: email to lang@tu-harburg.d400.de 9.6. Funnelweb Mode Developer: Daniel Simmons Version: Unknown Availability: http://www.miscrit.be/~ddw Description: The other day I did a quick hack to nuweb.el as included with the nuweb distribution so as to make a funnelweb-mode.el. I've only used it briefly, and I'm sure that it can be improved quite a bit. I've been thinking about adding support for folding on sections, a pull-down menu to select macro definitions (like the recent functions posted to gnu.emacs.sources for a C function definition pull-down menu) and some kind of tags support for funnelweb. Support: Unknown 9.7. noweb.el Developer: Bruce Stephens Version: Unknown. Availability: LitProg archives (in an email message). Description: This is a very simple mode I just hacked up. There's a lot wrong with it, but I thought others may be interested, even as it stands. It *requires* text properties, and assumes those used in GNU Emacs 19.22; it'll quite likely work with Lucid Emacs, but I haven't tried it. I use it with auctex8.1 and cc-mode 3.229, both of which are loaded separately (I think my emacs is dumped with them, in fact). The idea is to have one mode (which calls itself c-mode, but actually has LaTeX-mode keybindings) generally (this means that the code is hilighted nicely), and have the code chunks use a different keymap. Support: Email to bruce@liverpool.ac.uk 9.8. nuweb.el Developer: Dominique de Waleffe Version: 1.99 Availability: Anonymous ftp from: LPA CTAN Description: Provides a major mode extending Auctex for editing nuweb files. Main features (in 2.0): - Edit scrap bodies in a separate buffer in a different mode (selected using emacs defaults for files, specific indication -*-mode-*-, or a buffer-local variable) - Extends Auctex commands so that nuweb is called before LaTeX, - Easy navigation on scrap definition and use points. - Now creates an imenu (C-M-mouse1) with user index entries, macro definition positions and file definition positions. Support: Email to ddw@acm.org 9.9. TIE Developer: Unknown Version: Unknown Hardware: Unknown Availability: Anonymous ftp from: LPA:/Tools Readme: Unknown Description: This software merges change files. Support: Unknown 9.10. Web mode Developer: Bart Childs Version: Unknown Tools supported: web, fweb, cweb, funnelweb Availability: Anonymous ftp from ftp.cs.tamu.edu:pub/tex-web/web/EMACS.web-mode thrain.anu.edu.au:pub/web/EMACS.web-mode Description: This version works with versions 18 and 19 of Emacs to be best of my knowledge. I have cleaned up a number of documentation items ... In the same directory is wm_refcard.tex which is an edited version of the famous one to include some web-mode commands. The files limbo* are related to its use and notice that half them have an uppercase L in them for LaTeX. The setup is based upon the fact that we (I am not alone here) primarily use FWEB for C and Fortran programming. We are using version 1.40 of FWEB although John Krommes warns that it is not mature and the manual is not yet updated. The info files are! We are using LaTeX almost exclusively. That will likely change and we will revert to version 1.30 if the final form of 1.40 cannot return to the simple section numbers and avoid the HORRIBLE LATEX 0.1.7.2.4.6 type section numbers. Support: Unknown 10. What other resources are available? 10.1. World Wide Web An untapped resource (by me anyway ;-) is the World Wide Web. Marcus Speh has expended considerable effort in this regard. If you're connected to WWW, then access: http://info.desy.de:80/user/projects/LitProg.html If you aren't connected to WWW, telnet to info.cern.ch and explore. You can reach Marcus' literate programming pages by typing: go http://info.desy.de:80/user/projects/LitProg.html or use a WWW browser and access the URL ftp://rtfm.mit.edu/pub/usenet/news-answers/www/resources/literate-programming Help for people who have only Email and neither WWW nor telnet, can be obtained by Email from TEST-LIST@INFO.CERN.CH by sending a message, SEND , for example, SEND http://info.desy.de:80/user/projects/LitProg.html to retrieve the LitProg library page. A help file can be retrieved by sending a message to the list server above with the text HELP in the body of the message. Instructions will be returned by email. For literate programming documents, you can try anonymous ftp to rtfm.mit.edu and retrieve the official Usenet resource file /pub/usenet/news.answers/www/resources/literate-programming 10.2. TeX Resources Another resource of interest to literate programmers is the comp.text.tex newsgroup. If you're using (La)TeX as your typsetting system and have access to internet, then you should investigate this resource. Another reason the TeX resources should be important is that so many of the literate programming tools rely on either plain TeX or LaTeX as their text formatter. (La)TeX software systems exist for most computing platforms. These systems can be found on CTAN and other major archive sites. Use archie to find them or simply ftp to one of the CTAN sites and browse. 11. Are there any code examples? Examples of web programs are included with the FWEB, CWEB, and noweb distributions. nuweb is written in itself. Cameron Smith converted the K&R calculator program into a literate program. It can be retrieved by anonymous ftp from: niord.shsu.edu [192.92.115.8] directory kr-cweb-sample as krcwsamp.zip or from LPA/Documentation Ross Williams has released a funnelweb example. You can retrieve this file from node ftp.adelaide.edu.au 129.127.40.3 as /pub/funnelweb/examples/except.* This file should be on CTAN as well. Lee Wittenberg has posted a few litprog examples. They are available via anonymous ftp from: ftp://samson.kean.edu/pub/leew/samples.LP The Stanford GraphBase is a large collection of programs by Don Knuth for doing all kinds of computations and games with graphs; it is writ- ten in (Levy/Knuth) CWEB. More details in the distribution. It is available via anonymous ftp from: labrea.stanford.edu:/pub/sgb 12. Bibliographies Nelson Beebe has collected an extensive bibliography treating literate programming. His work is available for anonymous ftp from ftp.math.utah.edu 128.110.198.2 in directory /pub/tex/bib as files: litprog.bib litprog.ltx litprog.twx. Although I have not verified this, LPA is an alternate source for these files. Note that they are updated frequently (Nelson says sev- eral times each week), so be sure to get a fresh copy before extensive use. Joachim Schrod indicates that these files may be updated daily and can be retrieved via anonymous ftp at LPA/documentation. 13. How to anonymously ftp Pretty much everything mentioned here is available by anonymous FTP. FAQ lists cross-posted to news.answers and rec.answers can be gotten from rtfm.mit.edu 18.181.0.24, under /pub/usenet/news.answers or under /pub/usenet/more.specific.group.name "anonymous FTP" is just a way for files to be stored where anyone can retrieve them over the Net. For example, to retrieve the latest version of the literate programming FAQ, do the following: > ftp rtfm.mit.edu /* connect to the site; message follows */ > anonymous /* type this when it asks for your name */ > /* type your address as the password */ > cd /pub/usenet /* go to the directory you want to be */ > cd comp.programming.literate /* one level down (no slash). */ > dir /* look at what's there */ > get literate-progamming-faq /* get the file; case-sensitive */ > quit /* stop this mysterious thing */ If your FTP program complains that it doesn't know where the site you want to use is, type the numerical address instead of the sitename: > ftp 18.181.0.24 /* connect with numerical address */ If you don't have ftp access, send e-mail to mail-server@rtfm.mit.edu with the single word "help" in the body of the message. Getting binary files (executables, or any compressed files) is only slightly more difficult. You need to set binary mode inside FTP before you transfer the file. > binary /* set binary transfer mode */ > ascii /* set back to text transfer mode */ FAQs and spoiler lists are generally ascii files; everything else is generally binary files. Some common extensions on binary files in archive sites are: .Z Compressed; extract with uncompress .tar.Z Compressed 'tape archive'; uncompress then untar or tar -xvf .gz or .z Gnu gzip; use gunzip (available from prep.gnu.ai.mit.edu) .sit (Mac) StufIt archive .zip Extract with Zip or Unzip .zoo Yet another archive/compress program .lhe (Amiga) ? .lzh Lha archive program. .arj (PC) Arj archive program. .exe (PC) Sometimes self-extracting archives-just execute them. .uue or .UUE Transfer as text file; use uudecode to convert to binary .hqx (Mac) BinHex format; transfer in text mode Generic help can be found in the FAQs of comp.binaries. for how to transfer, extract, and virus-check binary files. (At rtfm.mit.edu) If you can't FTP from your site, use one of the following ftp-by-mail servers: ftpmail@decwrl.dec.com ftpmail@src.doc.ic.ac.uk ftpmail@cs.uow.edu.au ftpmail@grasp.insa-lyon.fr For complete instructions, send a message reading "help" to the server. If you don't know exactly what you're looking for, or exactly where it is, there are programs and servers that can help you. For more info, send e-mail to mail-server@rtfm.mit.with with the body of the message reading send usenet/news.answers/finding-sources Thanks to Aliza R. Panitz (the "buglady") for this text. I copied it verbatim from her post on faq-maintainers with only minor modifications. 14. Acknowledgements This document would not have happened without the help of many people. Among them are Marcus Speh, George Greenwade, Rob Beezer, Joachim Schrod, Piet van Oostrum, and Ross N. Williams. A special thanks to Aliza R. Panitz for the text describing how to execute an anonymous ftp for files of interest. Any omissions from these acknowledgements should be considered an act of stupidity on my part. Of course, the authors of literate programming tools mentioned above all play a vital role in the vitality of literate programming. Furthermore, participants in the comp.programming.literate newsgroup (and associated mailing list) all contributed in various fashions. Thank all of you. 15. End notes This document will continue to evolve. I'm planning on adding entries for additional literate programming tools and will expand the sections on examples as more examples become available. Tools I will include are WEB (the original pascal version) for starters. Others will be added as I find and document them. Omission of a particular tool should not be considered a snub in any sense--simply an error or oversight on my part. 1-Dec-1997 13:57:45-GMT,1142;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id GAA01049 for ; Mon, 1 Dec 1997 06:57:44 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from send1b.yahoomail.com by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 01 Dec 1997 07:45:50 EST Message-ID: <19971201134550.27132.rocketmail@send1b.yahoomail.com> Received: from [193.255.88.243] by send1b; Mon, 01 Dec 1997 05:45:50 PST Date: Mon, 1 Dec 1997 05:45:50 -0800 (PST) From: Murat Kocaman Reply-To: LitProg@SHSU.edu, oguzhanssan@yahoo.com To: LitProg@SHSU.edu, aa838@CLEVELAND.FREENET.EDU MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii i want to get more information about parallel port programming in pascal..could you send me some information..? oguzhan sereflisan erciyes univ. computer eng. _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com 2-Dec-1997 17:22:33-GMT,984;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA07338 for ; Tue, 2 Dec 1997 10:22:32 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 02 Dec 1997 10:47:42 EST From: John Viega Reply-To: LitProg@SHSU.edu, jtv2j@cs.virginia.edu Subject: WYSIWYG lp systems Date: 2 Dec 1997 16:44:21 GMT Message-ID: <661dt5$gkf$1@elna.ethz.ch> To: LitProg@SHSU.edu In the comp.programming.literate FAQ Norman Ramsey says there are no significant WYSIWYG literate programming systems in the public domain. Are there any such commercial systems? Also, what are the shortcomings of the public domain WYSIWYG systems that are out there (I saw one or two in the FAQ)? Thank you, John Viega 3-Dec-1997 13:51:26-GMT,3224;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id GAA03892 for ; Wed, 3 Dec 1997 06:51:25 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 03 Dec 1997 07:31:57 EST From: furlos@rpi.edu (Steve Furlong) Reply-To: LitProg@SHSU.edu, furlos@rpi.edu Subject: Re: WYSIWYG lp systems Date: 3 Dec 1997 13:22:09 GMT Message-ID: <663me1$8hs$1@elna.ethz.ch> To: LitProg@SHSU.edu In article <661dt5$gkf$1@elna.ethz.ch>, John Viega wrote: >In the comp.programming.literate FAQ Norman Ramsey says there are no >significant WYSIWYG literate programming systems in the public domain. >Are there any such commercial systems? Also, what are the >shortcomings of the public domain WYSIWYG systems that are out there >(I saw one or two in the FAQ)? I am familiar only with WinWordWeb. As a proof of concept, it's pretty good. The syntax and operation are similar to most WEB-derived products. However, there are several significant limitations: - Total output size is limited to I think 32K of text. (Might be 64K; I haven't used it in a while). I've written a variant with a few improvements; the one that matters for this item is that the user can specify the root chunk and target file name. This makes a limit of 32/64K per output file, which is not so bad. - Word _really_ bites as a code editor. It's better than edlin, but beyond that I won't commit. I've fiddled with finding or writing a good text editor which can be fired up when you're in a code block, retaining Word's normal usage when writing the descriptive blocks. I've phrased that really badly; what I mean is, we would treat code chunks like embedded spreadsheets or something. Performance was terrible, though I guess with further development and a really hot computer it would be tolerable. I also tried writing macros to give Word good behaviour as a (C++) code editor. Very unsatisfactory. Maybe I'm just spoiled by emacs and SlickEdit, but I just don't see this coming together. - You lose most ability to diff versions. Yes, you can save as RTF, but saved lines are still typically quite long, and it's hard to track down specific changes. You can also save as text just for diffing purposes, but that is hardly intuitive. Word's built-in versioning (underlining and crossing out changes) doesn't suffice, either. There is also the disadvantage that, despite MS's desires, not everyone in the world uses WinWord. That might not be a problem in the environment where WinWord might be used for litprog. Word's equation-handling features were adequate for my limited test purposes, but I can see brick walls there. I see no chance of Word acquiring the equation-setting capabilities of TeX and its kin. And all WYSIWYG editors would share the problem that authors would spend too much time fiddling with the appearance rather than writing the text and code. I support the use of non-WYSIWYG tools for just that reason. Hope this helps, Steve Furlong 3-Dec-1997 19:19:50-GMT,2267;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA12227 for ; Wed, 3 Dec 1997 12:19:46 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 03 Dec 1997 12:27:00 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: WYSIWYG lp systems Date: 3 Dec 1997 17:20:10 GMT Message-ID: <6644ca$ec$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On 2 Dec 1997, John Viega wrote: > In the comp.programming.literate FAQ Norman Ramsey says there are no > significant WYSIWYG literate programming systems in the public domain. > Are there any such commercial systems? Also, what are the > shortcomings of the public domain WYSIWYG systems that are out there > (I saw one or two in the FAQ)? As the author of WinWordWEB, I can speak for that system, but not for the others. Its main shortcoming is that it is merely a "proof of concept" program to demonstrate that such a thing is possible. It only does basic stuff (which actually is pretty useful), but more importantly, it is not supported at all (and is at least 3 versions of WinWord behind, desperately needing updating). I'm willing to turn it over to anyone who wants to turn it into a useful system, but have had no volunteers, and no one is willing to pay me (and provide the needed tools and references) to support it. I don't use WinWord myself, so I don't really want to spend all that money just to support WinWordWEB. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Undue exertion of nearly any form leads Computer Science Department | to difficult consequences, and at any Kean University | rate is undignified. Union, NJ 07083 | | -- John P. Marquand leew@samson.kean.edu | "Thank You, Mr. Moto" (1936) ------------------------------------------------------------------------ 4-Dec-1997 14:58:43-GMT,950;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id HAA06044 for ; Thu, 4 Dec 1997 07:58:42 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 04 Dec 1997 08:33:42 EST From: John Doe Reply-To: LitProg@SHSU.edu, doe#m#_john@MMAC.IS.LMSC.LOCKHEED.COM Subject: Literate Programming and SGML Date: 4 Dec 1997 14:02:43 GMT Message-ID: <666d63$d9e$1@elna.ethz.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Literate programming has gone off in a direction quite different from that of SGML. Is anyone aware of any efforts to include SGML (not just HTML) in LP? 4-Dec-1997 14:58:43-GMT,950;000000000011 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id HAA06044 for ; Thu, 4 Dec 1997 07:58:42 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 04 Dec 1997 08:33:42 EST From: John Doe Reply-To: LitProg@SHSU.edu, doe#m#_john@MMAC.IS.LMSC.LOCKHEED.COM Subject: Literate Programming and SGML Date: 4 Dec 1997 14:02:43 GMT Message-ID: <666d63$d9e$1@elna.ethz.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Literate programming has gone off in a direction quite different from that of SGML. Is anyone aware of any efforts to include SGML (not just HTML) in LP? 4-Dec-1997 14:59:14-GMT,1427;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id HAA06065 for ; Thu, 4 Dec 1997 07:59:05 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 04 Dec 1997 08:37:22 EST From: Marc van Leeuwen Reply-To: LitProg@SHSU.edu, maavl@zenon.univ-poitiers.fr Subject: Re: Literate Programming and SGML Date: 4 Dec 1997 14:23:57 GMT Message-ID: <666edt$bbh$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu John Doe wrote: > > Literate programming has gone off in a direction quite different from > that of SGML. Is anyone aware of any efforts to include SGML (not just > HTML) in LP? Are you sure you don't mean inclusion of LP in SGML (the scope of SGML is much broader than that of LP)? As far as that is concerned, the possibility to define a DTD for LP was once mentioned in this group, and in principle it seems a good idea (better than to try to force LP into an existing DTD such as HTML), but nobody seems to have volonteered to to it... -- Marc van Leeuwen Universite de Poitiers http://wallis.univ-poitiers.fr/~maavl/ 4-Dec-1997 15:52:33-GMT,5759;000000000001 Received: from plot79.math.utah.edu (beebe@plot79.math.utah.edu [128.110.198.3]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with ESMTP id IAA07399; Thu, 4 Dec 1997 08:52:27 -0700 (MST) From: "Nelson H. F. Beebe" Received: (from beebe@localhost) by plot79.math.utah.edu (8.8.5/8.8.5) id IAA09789; Thu, 4 Dec 1997 08:52:27 -0700 (MST) Date: Thu, 4 Dec 1997 08:52:27 -0700 (MST) To: LitProg@SHSU.edu, doe#m#_john@MMAC.IS.LMSC.LOCKHEED.COM Cc: beebe@math.utah.edu X-US-Mail: "Center for Scientific Computing, University of Utah, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA" X-Telephone: +1 801 581 5254 X-FAX: +1 801 581 4148 X-URL: http://www.math.utah.edu/~beebe Subject: Re: Literate Programming and SGML In-Reply-To: Your message of 4 Dec 1997 14:02:43 GMT Message-ID: >> Is anyone aware of any efforts to include SGML (not just HTML) in LP? URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=2812 @InProceedings{MoralesGerman:1994:SPE, author = "D. Morales-German", title = "An {SGML-based} programming environment for literate programming", crossref = "Botsford:1994:PCI", pages = "42--49", month = "", year = "1994", bibdate = "Sat Sep 7 17:48:58 MDT 1996", abstract = "Literate programming is a documentation method that attempts to maintain consistency among the various design and program documents of a software system. Unfortunately, the majority of the literate programming tools do not have appropriate user interfaces and require the users to learn complicated and cryptic tagging languages. SGML is a metalanguage used to specify markup or tagging languages that can be used to encode the structure of documents. This paper describes how a markup language defined using SGML can be used as the basic method for structuring literate programming documents and can be made independent of the programming language. Furthermore, with SGML and tools to browse and edit SGML documents, literate programs can benefit from WYSIWYG editing and hypertext capabilities and can even include pictures and other graphics. In addition, syntax-directed editors that support SGML can hide the markup tags and thus remove the need to learn a markup language. Text databases that use SGML can also be used to store literate programs. As a result, literate programs can be browsed and queried using complex search expressions, a capability beyond most text editors. For example, the searches can involve combinations of structural and textual information. Because SGML is a popular and emerging standard, we can expect to have more powerful tools to manipulate many different forms of design and program documentation. This paper describes the issues involved in the development of a literate programming environment that uses SGML as the storage model.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Waterloo Univ., Ont., Canada", classification = "C6115 (Programming support); C6130D (Document processing techniques); C6130M (Multimedia); C6140D (High level languages)", keywords = "Complex search expressions; Consistency maintenance; Design documents; Document browsing; Document editing; Document structure encoding; Graphics; Hypertext; Literate programming; Markup language; Program documentation method; Program documents; SGML-based programming environment; Storage model; Syntax-directed editors; Tagging languages; Text databases; User interfaces; WYSIWYG editing", thesaurus = "Hypermedia; ISO standards; Page description languages; Programming environments; System documentation; Text editing", } @Proceedings{Botsford:1994:PCI, editor = "J. Botsford and A. Gawman and M. Gentleman and E. Kidd and K. Lyons and J. Slonim", booktitle = "Proceedings. {CASCON} '94. Integrated Solutions", title = "Proceedings. {CASCON} '94. Integrated Solutions", publisher = "Nat. Res. Council Canada", address = "Ottawa, Ont., Canada", pages = "xxiv + 386", year = "1994", bibdate = "Sat Sep 7 17:48:58 MDT 1996", acknowledgement = ack-nhfb, confdate = "31 Oct.--3 Nov. 1994", conflocation = "Toronto, Ont., Canada", confsponsor = "IBM; Nat. Res. Council of Canada; Ind. Canada; Nat. Sci. and Eng. Res. Council", pubcountry = "Canada", } ---------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - Center for Scientific Computing FAX: +1 801 581 4148 - - University of Utah Internet e-mail: beebe@math.utah.edu - - Department of Mathematics, 105 JWB beebe@acm.org - - 155 S 1400 E RM 233 beebe@ieee.org - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe - ---------------------------------------------------------------------------- 4-Dec-1997 16:16:07-GMT,6017;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA08026 for ; Thu, 4 Dec 1997 09:16:02 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from csc-sun.math.utah.edu by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 04 Dec 1997 09:54:47 EST Received: from plot79.math.utah.edu (beebe@plot79.math.utah.edu [128.110.198.3]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with ESMTP id IAA07399; Thu, 4 Dec 1997 08:52:27 -0700 (MST) From: "Nelson H. F. Beebe" Reply-To: LitProg@SHSU.edu, beebe@math.utah.edu Received: (from beebe@localhost) by plot79.math.utah.edu (8.8.5/8.8.5) id IAA09789; Thu, 4 Dec 1997 08:52:27 -0700 (MST) Date: Thu, 4 Dec 1997 08:52:27 -0700 (MST) To: LitProg@SHSU.edu, doe#m#_john@MMAC.IS.LMSC.LOCKHEED.COM CC: beebe@math.utah.edu Subject: Re: Literate Programming and SGML Message-ID: >> Is anyone aware of any efforts to include SGML (not just HTML) in LP? URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=2812 @InProceedings{MoralesGerman:1994:SPE, author = "D. Morales-German", title = "An {SGML-based} programming environment for literate programming", crossref = "Botsford:1994:PCI", pages = "42--49", month = "", year = "1994", bibdate = "Sat Sep 7 17:48:58 MDT 1996", abstract = "Literate programming is a documentation method that attempts to maintain consistency among the various design and program documents of a software system. Unfortunately, the majority of the literate programming tools do not have appropriate user interfaces and require the users to learn complicated and cryptic tagging languages. SGML is a metalanguage used to specify markup or tagging languages that can be used to encode the structure of documents. This paper describes how a markup language defined using SGML can be used as the basic method for structuring literate programming documents and can be made independent of the programming language. Furthermore, with SGML and tools to browse and edit SGML documents, literate programs can benefit from WYSIWYG editing and hypertext capabilities and can even include pictures and other graphics. In addition, syntax-directed editors that support SGML can hide the markup tags and thus remove the need to learn a markup language. Text databases that use SGML can also be used to store literate programs. As a result, literate programs can be browsed and queried using complex search expressions, a capability beyond most text editors. For example, the searches can involve combinations of structural and textual information. Because SGML is a popular and emerging standard, we can expect to have more powerful tools to manipulate many different forms of design and program documentation. This paper describes the issues involved in the development of a literate programming environment that uses SGML as the storage model.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Waterloo Univ., Ont., Canada", classification = "C6115 (Programming support); C6130D (Document processing techniques); C6130M (Multimedia); C6140D (High level languages)", keywords = "Complex search expressions; Consistency maintenance; Design documents; Document browsing; Document editing; Document structure encoding; Graphics; Hypertext; Literate programming; Markup language; Program documentation method; Program documents; SGML-based programming environment; Storage model; Syntax-directed editors; Tagging languages; Text databases; User interfaces; WYSIWYG editing", thesaurus = "Hypermedia; ISO standards; Page description languages; Programming environments; System documentation; Text editing", } @Proceedings{Botsford:1994:PCI, editor = "J. Botsford and A. Gawman and M. Gentleman and E. Kidd and K. Lyons and J. Slonim", booktitle = "Proceedings. {CASCON} '94. Integrated Solutions", title = "Proceedings. {CASCON} '94. Integrated Solutions", publisher = "Nat. Res. Council Canada", address = "Ottawa, Ont., Canada", pages = "xxiv + 386", year = "1994", bibdate = "Sat Sep 7 17:48:58 MDT 1996", acknowledgement = ack-nhfb, confdate = "31 Oct.--3 Nov. 1994", conflocation = "Toronto, Ont., Canada", confsponsor = "IBM; Nat. Res. Council of Canada; Ind. Canada; Nat. Sci. and Eng. Res. Council", pubcountry = "Canada", } ---------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - Center for Scientific Computing FAX: +1 801 581 4148 - - University of Utah Internet e-mail: beebe@math.utah.edu - - Department of Mathematics, 105 JWB beebe@acm.org - - 155 S 1400 E RM 233 beebe@ieee.org - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe - ---------------------------------------------------------------------------- 4-Dec-1997 15:55:04-GMT,7408;000000000001 Received: from localhost (localhost) by csc-sun.math.utah.edu (8.8.5/8.8.5) with internal id IAA07400; Thu, 4 Dec 1997 08:55:04 -0700 (MST) Date: Thu, 4 Dec 1997 08:55:04 -0700 (MST) From: Mail Delivery Subsystem Message-Id: <199712041555.IAA07400@csc-sun.math.utah.edu> To: MIME-Version: 1.0 Content-Type: multipart/report; report-type=delivery-status; boundary="IAA07400.881250904/csc-sun.math.utah.edu" Subject: Returned mail: Host unknown (Name server: mmac.is.lmsc.lockheed.com: host not found) Auto-Submitted: auto-generated (failure) This is a MIME-encapsulated message --IAA07400.881250904/csc-sun.math.utah.edu The original message was received at Thu, 4 Dec 1997 08:52:27 -0700 (MST) from beebe@plot79.math.utah.edu [128.110.198.3] ----- The following addresses had permanent fatal errors ----- ----- Transcript of session follows ----- 550 ... Host unknown (Name server: mmac.is.lmsc.lockheed.com: host not found) --IAA07400.881250904/csc-sun.math.utah.edu Content-Type: message/delivery-status Reporting-MTA: dns; csc-sun.math.utah.edu Received-From-MTA: DNS; plot79.math.utah.edu Arrival-Date: Thu, 4 Dec 1997 08:52:27 -0700 (MST) Final-Recipient: RFC822; doe#m#_john@MMAC.IS.LMSC.LOCKHEED.COM Action: failed Status: 5.1.2 Remote-MTA: DNS; mmac.is.lmsc.lockheed.com Last-Attempt-Date: Thu, 4 Dec 1997 08:52:38 -0700 (MST) --IAA07400.881250904/csc-sun.math.utah.edu Content-Type: message/rfc822 Return-Path: Received: from plot79.math.utah.edu (beebe@plot79.math.utah.edu [128.110.198.3]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with ESMTP id IAA07399; Thu, 4 Dec 1997 08:52:27 -0700 (MST) From: "Nelson H. F. Beebe" Received: (from beebe@localhost) by plot79.math.utah.edu (8.8.5/8.8.5) id IAA09789; Thu, 4 Dec 1997 08:52:27 -0700 (MST) Date: Thu, 4 Dec 1997 08:52:27 -0700 (MST) To: LitProg@SHSU.edu, doe#m#_john@MMAC.IS.LMSC.LOCKHEED.COM Cc: beebe@csc-sun.math.utah.edu X-US-Mail: "Center for Scientific Computing, University of Utah, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA" X-Telephone: +1 801 581 5254 X-FAX: +1 801 581 4148 X-URL: http://www.math.utah.edu/~beebe Subject: Re: Literate Programming and SGML In-Reply-To: Your message of 4 Dec 1997 14:02:43 GMT Message-ID: >> Is anyone aware of any efforts to include SGML (not just HTML) in LP? URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=2812 @InProceedings{MoralesGerman:1994:SPE, author = "D. Morales-German", title = "An {SGML-based} programming environment for literate programming", crossref = "Botsford:1994:PCI", pages = "42--49", month = "", year = "1994", bibdate = "Sat Sep 7 17:48:58 MDT 1996", abstract = "Literate programming is a documentation method that attempts to maintain consistency among the various design and program documents of a software system. Unfortunately, the majority of the literate programming tools do not have appropriate user interfaces and require the users to learn complicated and cryptic tagging languages. SGML is a metalanguage used to specify markup or tagging languages that can be used to encode the structure of documents. This paper describes how a markup language defined using SGML can be used as the basic method for structuring literate programming documents and can be made independent of the programming language. Furthermore, with SGML and tools to browse and edit SGML documents, literate programs can benefit from WYSIWYG editing and hypertext capabilities and can even include pictures and other graphics. In addition, syntax-directed editors that support SGML can hide the markup tags and thus remove the need to learn a markup language. Text databases that use SGML can also be used to store literate programs. As a result, literate programs can be browsed and queried using complex search expressions, a capability beyond most text editors. For example, the searches can involve combinations of structural and textual information. Because SGML is a popular and emerging standard, we can expect to have more powerful tools to manipulate many different forms of design and program documentation. This paper describes the issues involved in the development of a literate programming environment that uses SGML as the storage model.", acknowledgement = ack-nhfb, affiliation = "Dept. of Comput. Sci., Waterloo Univ., Ont., Canada", classification = "C6115 (Programming support); C6130D (Document processing techniques); C6130M (Multimedia); C6140D (High level languages)", keywords = "Complex search expressions; Consistency maintenance; Design documents; Document browsing; Document editing; Document structure encoding; Graphics; Hypertext; Literate programming; Markup language; Program documentation method; Program documents; SGML-based programming environment; Storage model; Syntax-directed editors; Tagging languages; Text databases; User interfaces; WYSIWYG editing", thesaurus = "Hypermedia; ISO standards; Page description languages; Programming environments; System documentation; Text editing", } @Proceedings{Botsford:1994:PCI, editor = "J. Botsford and A. Gawman and M. Gentleman and E. Kidd and K. Lyons and J. Slonim", booktitle = "Proceedings. {CASCON} '94. Integrated Solutions", title = "Proceedings. {CASCON} '94. Integrated Solutions", publisher = "Nat. Res. Council Canada", address = "Ottawa, Ont., Canada", pages = "xxiv + 386", year = "1994", bibdate = "Sat Sep 7 17:48:58 MDT 1996", acknowledgement = ack-nhfb, confdate = "31 Oct.--3 Nov. 1994", conflocation = "Toronto, Ont., Canada", confsponsor = "IBM; Nat. Res. Council of Canada; Ind. Canada; Nat. Sci. and Eng. Res. Council", pubcountry = "Canada", } ---------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - Center for Scientific Computing FAX: +1 801 581 4148 - - University of Utah Internet e-mail: beebe@math.utah.edu - - Department of Mathematics, 105 JWB beebe@acm.org - - 155 S 1400 E RM 233 beebe@ieee.org - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe - ---------------------------------------------------------------------------- --IAA07400.881250904/csc-sun.math.utah.edu-- 5-Dec-1997 20:51:06-GMT,1355;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id NAA15907 for ; Fri, 5 Dec 1997 13:51:04 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 05 Dec 1997 14:40:30 EST From: "marko" Reply-To: LitProg@SHSU.edu, kenong@total.net Subject: word97 OLE methods wanted !! Message-ID: <01bd01bc$7c21a0e0$7b64eccd@kenong> Date: 5 Dec 97 20:36:17 GMT To: LitProg@SHSU.edu Hi gang !! I search for the complete list of word97 OLE methods. I'm a beginner and I want to learn more about OLE. I have an application to create in Delphi 2.0 who might use Word97 for a cute report... If anyone know where I can find good information on it, please mail me rapidly !!! Thank you very much !!! En français maintenant : Je cherche la liste complète des méthodes OLE pour Word97. Je ne connais pas beaucoup les OLE car je m'initie en ce moment. J'ai à créer une application en Delphi 2.0 et je voudrais sauvegarder mes rapports sous Word97, question de finesse. Si quelqu'un sait où je peux trouver mes informations, s.v.p., mail me rapidement !! Merci beaucoup !!! 5-Dec-1997 3:10:22-GMT,1835;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id UAA23509 for ; Thu, 4 Dec 1997 20:10:21 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 04 Dec 1997 20:58:27 EST From: Anthony Rossini Reply-To: LitProg@SHSU.edu, rossini@stat.sc.edu Subject: Re: Literate Programming and SGML Date: 5 Dec 1997 02:46:29 GMT Message-ID: <667pu5$6rt$1@news.interlog.com> MIME-Version: 1.0 (generated by tm-edit 7.108) Content-Type: text/plain; charset=US-ASCII To: LitProg@SHSU.edu >>>>> "Marc" == Marc van Leeuwen writes: Marc> John Doe wrote: >> >> Literate programming has gone off in a direction quite different from >> that of SGML. Is anyone aware of any efforts to include SGML (not just >> HTML) in LP? Marc> Are you sure you don't mean inclusion of LP in SGML (the Marc> scope of SGML is much broader than that of LP)? As far as Marc> that is concerned, the possibility to define a DTD for LP Marc> was once mentioned in this group, and in principle it seems Marc> a good idea (better than to try to force LP into an existing Marc> DTD such as HTML), but nobody seems to have volonteered to Marc> to it... It could be the other way around (I'd like to see an LP describing a DTD...). best, -- -tony (Anthony Rossini) Statistics Dept., U South Carolina rossini@stat.sc.edu Columbia, SC 29208 http://www.stat.sc.edu/~rossini/ 803-777-3578(O) 803-777-4048 (fax) "'Bother,' said Pooh, as Cthulhu rose up and ate him." 6-Dec-1997 16:48:15-GMT,2214;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA07906 for ; Sat, 6 Dec 1997 09:48:14 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 06 Dec 1997 10:41:44 EST From: Harry George 237-6915 Subject: Re: Literate Programming and SGML Date: 6 Dec 1997 16:22:41 GMT Message-ID: <66bu4h$1v7$1@news.interlog.com> Reply-To: LitProg@SHSU.edu, harry.g.george@boeing.com Content-Type: text To: LitProg@SHSU.edu Michael Dagenais is working on a literate programming programming process based on SGML. Each language supported needs translators for "from sgml" and "to sgml". Currently these are available for Modula3. The web, the postscript, etc outputs are generated from sgml. See http://m3.polymtl.ca/m3/ and look for "sgmltools". In article <666d63$d9e$1@elna.ethz.ch> John Doe writes: >From: John Doe >Newsgroups: comp.programming.literate >Date: 4 Dec 1997 14:02:43 GMT >Organization: LMMS, O/xx-xx, (408)7xx-xxxx >Xref: xyzzy comp.programming.literate:1188 >Path: xyzzy!uunet!in1.uu.net!newsfeed.internetmci.com!192.87.106.104!surfnet.nl!news-zh.switch.ch!elna.ethz.ch!neeri >Lines: 3 >Approved: Matthias Neeracher >NNTP-Posting-Host: solar-etz-fddi.ethz.ch >Mime-Version: 1.0 >Content-Type: text/plain; charset=us-ascii >Content-Transfer-Encoding: 7bit >Errors-To: /dev/null >Originator: neeri@solar > >Literate programming has gone off in a direction quite different from >that of SGML. Is anyone aware of any efforts to include SGML (not just >HTML) in LP? -- --------------------------------------------------------- Disclaimer: IMPORT StandardDisclaimer; Contact: Harry George M-S: 6-6M31 Organization:6-6M31, BCAG Knowledge Based Engineering Phone: (206) 237-6915 E-mail: harry.g.george@boeing.com 6-Dec-1997 16:49:48-GMT,1427;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA07946 for ; Sat, 6 Dec 1997 09:49:47 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 06 Dec 1997 10:41:39 EST From: stuart@gol.com (Stuart Woodward) Reply-To: LitProg@SHSU.edu, stuart@gol.com Subject: Non Literate Porgramming Recovery Date: 6 Dec 1997 16:21:56 GMT Message-ID: <66bu34$1uc$1@news.interlog.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Has anyone ever seen any discussions or read any materials about how to recover from non literate programming? I'm sure many people in commercial settings have dreams of creating new literate (i.e reads like a book) software from scratch but more than likely in their jobs they inherit a sprawling mass of files and directories that contain the source of a program that they must maintain but which has little documentation and none of the original developers around to ask questions to. Are people swapping tips (and horror stories) about how to cope maintaining enigmatic software? (If there isn't a list devoted to I could create one early next year.) 6-Dec-1997 16:50:17-GMT,3600;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA07964 for ; Sat, 6 Dec 1997 09:50:16 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 06 Dec 1997 10:41:41 EST From: Jeff Orrok Reply-To: LitProg@SHSU.edu, jorrok@eurpd.csg.mot.com Subject: contemplating LP approach to next generation of project Date: 6 Dec 1997 16:23:03 GMT Message-ID: <66bu57$205$1@news.interlog.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Hullo, I've been battling with "software engineering" out in the "real world" for over ten years now, and I really would like to get to a place where the great majority of my effort was spent translating my ideas to reality instead of wrestling with the inertia of the environment. I've just started on a project which has come to a transition point -- the sole previous engineer has left, and myself and a guy who starts next week are coming in cold. Meanwhile version 3.0 is being bandied about at a weekly meeting. I figure I can -- yet again -- spend a lot of time manually plodding through files with find, grep, and more and leave inconsistent scribblings on my research, or I can spend some time acquiring, learning (and dare I say enjoying?) some lp and other case tools and (if all goes well) maybe start a trend of projects with easy learning curves. I'm always the dreamer. Of course, dream could become nightmare if the tools aren't up to a project of this size. I saw one posting here in comp.programming.literate where a guy boasted of taming a 300KLOC project, but most of what I see are folks raising questions which make me wonder if I wouldn't end up endlessly tinkering with an old jalopy -- inertia on top of inertia. I need to be able to look my manager (and so on up the chain of command) in the eye and say that a *finite* amount of up-front effort invested now WILL result in substantial long-term payoff. Here are some details of the project: 77,436 lines of code in 522 .c and .h files, along with 70 miscelanious files organized in 17 directories. 20 or so FrameMaker (bleck!) documents in various stages of completion. embedded C maintained in ClearCase on a Solaris system, cross-compiled for a Motorola 683xx chip. Netscape is available; access to a web server is available. All of the original authors have been scattered to the winds. I think there may be a few people who did some work on it once upon a time still around here somewhere, but the lore seems to be fading fast.... It looks like the best candidates are CLip, FunnelWeb3.0AC, or noweb, but it seems like no one of them has everything I want. FunnelWeb has automatic #line directives, but the faq doesn't mention indexing, and it doesn't produce HTML, which I would like probably more than Tex (mostly cause I perceive HTML to be more universal, and I understand it). CLip doesn't do cross-referencing (automatically, which seems to be necessary). noweb doesnt do prettyprinting (I don't know how much I need that, though). Neither CLip nor noweb mention #line directives. Keeping line numbers in sync for use with a debugger is crucial. Is anyone willing to help me figure this out??? Much obliged. Jeff Orrok jorrok at eurpd dot csg dot mot dot com (anti-spam notation) Motorola 6-Dec-1997 17:46:58-GMT,2806;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA08941 for ; Sat, 6 Dec 1997 10:46:57 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 06 Dec 1997 11:37:51 EST From: David Kastrup Reply-To: LitProg@SHSU.edu, dak@fsnif.neuroinformatik.ruhr-uni-bochum.de Subject: Re: Non Literate Porgramming Recovery Date: 6 Dec 1997 17:24:07 GMT Message-ID: <66c1nn$1q8$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit To: LitProg@SHSU.edu stuart@gol.com (Stuart Woodward) writes: > Has anyone ever seen any discussions or read any materials about how > to recover from non literate programming? > > I'm sure many people in commercial settings have dreams of creating > new literate (i.e reads like a book) software from scratch but more > than likely in their jobs they inherit a sprawling mass of files and > directories that contain the source of a program that they must > maintain but which has little documentation and none of the original > developers around to ask questions to. > > Are people swapping tips (and horror stories) about how to cope > maintaining enigmatic software? Well, I'm currently in the process of porting a Z80 assembly language arcade game to a Linux platform (C, of course, and SVGA at first). The thing is nicely modularized, but heavily written with an eye on memory minimization. The programmer was a lunatic or a genius (or considered himself to be one, anyhow): there are no comments whatsoever in the whole thing, except for comments like XOR A ; 4 LD (HL),a ; 11 INC HL ; 17 Namely, accumulative clock cycle values (the computer in use had no timer circuits, and the game had to be timed including a running clock). It is a pure wonder that this thing actually did run. Fortunately, I have the original developer around, in fact, I *am* the original developer or at least was 12 years ago or so. So if you happen to have any young upstarts with impressive capabilities around, I recommend that you use the whip in order to get them to comment what they are doing. Mostly, my "porting" now consists in duplicating the old assembly language behaviour and hoping for the best. -- David Kastrup Phone: +49-234-700-5570 Email: dak@neuroinformatik.ruhr-uni-bochum.de Fax: +49-234-709-4209 Institut für Neuroinformatik, Universitätsstr. 150, 44780 Bochum, Germany 6-Dec-1997 19:09:53-GMT,5793;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA10341 for ; Sat, 6 Dec 1997 12:09:52 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 06 Dec 1997 13:00:09 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: contemplating LP approach to next generation of project Date: 6 Dec 1997 18:10:06 GMT Message-ID: <66c4du$2t7$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On 6 Dec 1997, Jeff Orrok wrote: > I've just started on a project which has come to a transition point -- > the sole previous engineer has left, and myself and a guy who starts > next week are coming in cold. Meanwhile version 3.0 is being bandied > about at a weekly meeting. > > I figure I can -- yet again -- spend a lot of time manually plodding > through files with find, grep, and more and leave inconsistent > scribblings on my research, or I can spend some time acquiring, learning > (and dare I say enjoying?) some lp and other case tools and (if all goes > well) maybe start a trend of projects with easy learning curves. I'm > always the dreamer. > > Of course, dream could become nightmare if the tools aren't up to a > project of this size. I saw one posting here in > comp.programming.literate where a guy boasted of taming a 300KLOC > project, but most of what I see are folks raising questions which make > me wonder if I wouldn't end up endlessly tinkering with an old jalopy -- > inertia on top of inertia. I need to be able to look my manager (and so > on up the chain of command) in the eye and say that a *finite* amount of > up-front effort invested now WILL result in substantial long-term > payoff. In my experiences, on projects from small to medium size, the up-front effor required by LP has always resulted in "substantial long-term payoff" (I'm sending a copy of this message to Carl Gregory, who doesn't subscribe to this group, but does use LP for large, corporate projects. I believe that he has had the same kind of experiences on these projects). Examples: Before LP, when I had to put a project down for a month or two (or longer), it would take me an average of one week to "get back up to speed". In LP projects of similar size, I've only had to read the woven code once. Major revisions of programs frequently involve little more than shuffling pre-existing pieces of code. This is much less error prone in LP, where you only have to cut and paste the chunk names and not the actual code. > Here are some details of the project: > 77,436 lines of code in 522 .c and .h files, along with 70 miscelanious > files organized in 17 directories. > 20 or so FrameMaker (bleck!) documents in various stages of completion. > embedded C maintained in ClearCase on a Solaris system, cross-compiled > for a Motorola 683xx chip. Netscape is available; access to a web > server is available. > > All of the original authors have been scattered to the winds. I think > there may be a few people who did some work on it once upon a time still > around here somewhere, but the lore seems to be fading fast.... Translating a convential program into a literate program is always a chore, but (I think) worthwhile. As you break the code into chunks (initially without documentation chunks, just to get a feel for the structure of the code), you'll find yourself noticing things about each chunk, and making notes that become the documentation chunks. As you learn more about the program "lore", you add it (permanently) to the web, so that it never gets lost again. IMO, the most important contribution a literate program can make is to record the "why" of a program, which usually ends up as the ethereal "lore" that disappears as the original programmers leave (or forget). > It looks like the best candidates are CLip, FunnelWeb3.0AC, or noweb, > but it seems like no one of them has everything I want. FunnelWeb has > automatic #line directives, but the faq doesn't mention indexing, and it > doesn't produce HTML, which I would like probably more than Tex (mostly > cause I perceive HTML to be more universal, and I understand it). CLip > doesn't do cross-referencing (automatically, which seems to be > necessary). noweb doesnt do prettyprinting (I don't know how much I > need that, though). Neither CLip nor noweb mention #line directives. > Keeping line numbers in sync for use with a debugger is crucial. noweb does #lines. Just tangle with the -L option. Most people don't really like prettyprinting (IMO, simply because they've become used to seeing code in a monospaced font, but that's another discussion entirely). If you feel you need it, however, there are prettyprinting filters available for C, or you can use Pretzel to create your own. > Is anyone willing to help me figure this out??? I reckon that a lot of people in this group will express opinions. The problem is to separate the wheat from the chaff. My opinions, of course, are wheat. :-) -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Undue exertion of nearly any form leads Computer Science Department | to difficult consequences, and at any Kean University | rate is undignified. Union, NJ 07083 | | -- John P. Marquand leew@samson.kean.edu | "Thank You, Mr. Moto" (1936) ------------------------------------------------------------------------ 6-Dec-1997 19:14:38-GMT,2493;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA10421 for ; Sat, 6 Dec 1997 12:14:37 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 06 Dec 1997 13:00:13 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: Non Literate Porgramming Recovery Date: 6 Dec 1997 18:16:47 GMT Message-ID: <66c4qf$32v$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On 6 Dec 1997, Stuart Woodward wrote: > Has anyone ever seen any discussions or read any materials about how > to recover from non literate programming? > > I'm sure many people in commercial settings have dreams of creating > new literate (i.e reads like a book) software from scratch but more > than likely in their jobs they inherit a sprawling mass of files and > directories that contain the source of a program that they must > maintain but which has little documentation and none of the original > developers around to ask questions to. The best way I've found, is to do it bit by bit. Start out by "chunking" the code in the "sprawling mass". The mere act of giving names to bits of code helps enormously, I find. As you chunk, you will discover things about the How and Why of the code that are missing from the existing documentation. These discoveries will form the basis of your documentation chunks. Once you've got everything into chunks, then you can start thinking about how to best present these chunks to the reader. A good literate program should not be affected by rearranging the order of the chunks. If you avoid using continuation chunks that are order-dependent, this reorganization will be quite straightforward. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Undue exertion of nearly any form leads Computer Science Department | to difficult consequences, and at any Kean University | rate is undignified. Union, NJ 07083 | | -- John P. Marquand leew@samson.kean.edu | "Thank You, Mr. Moto" (1936) ------------------------------------------------------------------------ 6-Dec-1997 19:32:33-GMT,2112;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA10705 for ; Sat, 6 Dec 1997 12:32:33 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sat, 06 Dec 1997 13:26:57 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Re: contemplating LP approach to next generation of project Date: 6 Dec 1997 19:11:56 GMT Message-ID: <66c81s$4li$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <66bu57$205$1@news.interlog.com>, Jeff Orrok wrote: >It looks like the best candidates are CLip, FunnelWeb3.0AC, or noweb, >but it seems like no one of them has everything I want. FunnelWeb has >automatic #line directives, but the faq doesn't mention indexing, and it >doesn't produce HTML, which I would like probably more than Tex (mostly >cause I perceive HTML to be more universal, and I understand it). CLip >doesn't do cross-referencing (automatically, which seems to be >necessary). noweb doesnt do prettyprinting (I don't know how much I >need that, though). Neither CLip nor noweb mention #line directives. >Keeping line numbers in sync for use with a debugger is crucial. I'll speak to noweb: -- supports #line for several languages including C (it is crucial) -- will proivde plausible but not ideal automatic indexing -- will almost certainly be of no help with Frame files. -- has two or three third-party prettyprinters for C code. I don't have an opinion about these, but Dan Schmidt's dpp looks good. I think with funnelweb you'll limit yourself unnecessarily, but Clip is a totally different paradigm and worth exploring. I believe I have good reasons for avoiding wysiwyg, but it may be right for you. BTW, some others at Motorola have used noweb in similar straits---see if you can contact Joseph Brothers or Mary Bos. 7-Dec-1997 20:51:31-GMT,5953;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id NAA06327 for ; Sun, 7 Dec 1997 13:51:30 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sun, 07 Dec 1997 14:44:43 EST From: furlos@rpi.edu (Steve Furlong) Reply-To: LitProg@SHSU.edu, furlos@rpi.edu Subject: Re: contemplating LP approach to next generation of project Date: 7 Dec 1997 20:31:46 GMT Message-ID: <66f13i$bhd$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <66bu57$205$1@news.interlog.com>, Jeff Orrok wrote: ... >I've just started on a project which has come to a transition point -- >the sole previous engineer has left, and myself and a guy who starts >next week are coming in cold. Meanwhile version 3.0 is being bandied >about at a weekly meeting. > >I figure I can -- yet again -- spend a lot of time manually plodding >through files with find, grep, and more and leave inconsistent >scribblings on my research, or I can spend some time acquiring, learning >(and dare I say enjoying?) some lp and other case tools and (if all goes >well) maybe start a trend of projects with easy learning curves. I'm >always the dreamer. > >Of course, dream could become nightmare if the tools aren't up to a >project of this size. I saw one posting here in >comp.programming.literate where a guy boasted of taming a 300KLOC >project, but most of what I see are folks raising questions which make >me wonder if I wouldn't end up endlessly tinkering with an old jalopy -- >inertia on top of inertia. I need to be able to look my manager (and so >on up the chain of command) in the eye and say that a *finite* amount of >up-front effort invested now WILL result in substantial long-term >payoff. > >Here are some details of the project: >77,436 lines of code in 522 .c and .h files, along with 70 miscelanious >files organized in 17 directories. >20 or so FrameMaker (bleck!) documents in various stages of completion. >embedded C maintained in ClearCase on a Solaris system, cross-compiled >for a Motorola 683xx chip. Netscape is available; access to a web >server is available. > >All of the original authors have been scattered to the winds. I think >there may be a few people who did some work on it once upon a time still >around here somewhere, but the lore seems to be fading fast.... > >It looks like the best candidates are CLip, FunnelWeb3.0AC, or noweb, >but it seems like no one of them has everything I want. FunnelWeb has >automatic #line directives, but the faq doesn't mention indexing, and it >doesn't produce HTML, which I would like probably more than Tex (mostly >cause I perceive HTML to be more universal, and I understand it). CLip >doesn't do cross-referencing (automatically, which seems to be >necessary). noweb doesnt do prettyprinting (I don't know how much I >need that, though). Neither CLip nor noweb mention #line directives. >Keeping line numbers in sync for use with a debugger is crucial. First of all, let me recommend my article in the October 1997 _Software_Development_Magazine_, which is devoted exactly to the issue of salvaging a problematic project in the absense of the original programmers. I strongly recommend the use of LP in this situation. I've used it successfully on over a dozen projects, most around the size of yours. Off the cuff, I'd recommend noweb. It's available on many platforms and works very well. The only drawback is that you have to learn TeX or LaTeX. That isn't really a drawback, at that, but there is a learning curve and (La)TeX documents might not fit your corporate standards. FWIW, I learned LaTeX solely so I could use noweb, and don't regret it. noweb does line numbering for use with debuggers. You can also get pretty-printing if you like; you can put a filter (postprocessor) between noweb's weave operation and the TeX formatter. If you go this route and don't already know LaTeX, get a copy of Lamport's _LaTeX:_A_Document_Preparation_System_ and also download and print several of the dozens of learning guides and references. You can learn LaTeX in stages, learning techniques as you need them. CLiP is also good for many purposes. Its main advantage is that you don't need to use TeX if for some reason you don't want to or can't. For instance, I've written literate source in Word for Windows, formatting the documentation part as I liked and marking all chunks so CLiP would recognize them. To make the compilable source, I just saved as ASCII and ran the result through CLiP. True, CLiP doesn't have built-in indexing, but I used Word's features to good effect. Please note that I do not recommend using Word as a code editor, but if the client or manager requires documents in Word files, LP using Word is better than documents (un)maintained separate from the code. CLiP's main disadvantage is that it seems to be available only in .exe form for DOS, and only in an odd dialect of Pascal for Unix. (I thought about rewriting it with Prof Ammers' permission, but I can't get hold of him and anyway paying work keeps getting in the way.) I'm not really familiar with Framemaker files. Aren't they stored as plain ol' Postscript? I guess you _could_ put them into a LP system such as noweb, though I can't think of any benefit. Were you looking to do so, or just mentioning them for completeness? Similarly I know nothing about ClearCase files. ASCII? If so, they can be chomped into chunks and tangled into interpretable or whatever source. Again, if there's a reason to do so. Anyway, bottom line is, you can productively use LP for understanding and upgrading a project. I recommend noweb unless you can't or won't use LaTeX. Regards, Steve Furlong 7-Dec-1997 21:00:18-GMT,2784;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id OAA06458 for ; Sun, 7 Dec 1997 14:00:17 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Sun, 07 Dec 1997 14:55:00 EST From: furlos@rpi.edu (Steve Furlong) Reply-To: LitProg@SHSU.edu, furlos@rpi.edu Subject: Re: Non Literate Porgramming Recovery Date: 7 Dec 1997 20:41:55 GMT Message-ID: <66f1mj$br7$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <66bu34$1uc$1@news.interlog.com>, Stuart Woodward wrote: >Has anyone ever seen any discussions or read any materials about how >to recover from non literate programming? > >I'm sure many people in commercial settings have dreams of creating >new literate (i.e reads like a book) software from scratch but more >than likely in their jobs they inherit a sprawling mass of files and >directories that contain the source of a program that they must >maintain but which has little documentation and none of the original >developers around to ask questions to. This is odd. I've written an article on the subject, and haven't ever had call to mention it, and now there are two posts in c.p.l in which a mention is relevant. See the October 1997 _Software_Development_Magazine_. I've written an article on how to salvage a program in trouble. (My working title was "What Idiot Wrote This?", but the editors went with something a little less confrontational. :-) ). In short, I've used LP techniques to good effect on about a dozen projects where the original programmers were long gone, the code was a mess, and it needed to be upgraded real soon. In the absense of a reason to do otherwise, make a literate source file for each cpp/h pair or equivalent. Make a chunk for each function and one for global variables (there always seem to be a lot of those in bad code, but YMMV), then start breaking out major code blocks within functions. Continue doing this and adding descriptive text until you think you've got a good handle on the file. Then show it to someone else and see if he can make sense of it from a cold start. Then repeat with the next file... If you're in a time crunch, don't bother with all files, but conentrate on the ones which seem to be causing the most problems. Most of the projects I've treated this way were in the 50-100KLOC range. The technique works very well. I usually use noweb (with LaTeX, of course) unless the client insists on documentation in some other format, usually Word for Windows. In that case I use CLiP. Regards, Steve Furlong 8-Dec-1997 9:39:03-GMT,1659;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id CAA20096 for ; Mon, 8 Dec 1997 02:39:02 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 08 Dec 1997 03:31:07 EST From: skaller@zip.com.au (John (Max) Skaller) Subject: Re: contemplating LP approach to next generation of project Date: 8 Dec 1997 09:24:11 GMT Message-ID: <66gebr$nb6$1@elna.ethz.ch> Reply-To: LitProg@SHSU.edu, skaller@zip.com.au To: LitProg@SHSU.edu >> It looks like the best candidates are CLip, FunnelWeb3.0AC, or noweb, >> but it seems like no one of them has everything I want. FunnelWeb has >> automatic #line directives, but the faq doesn't mention indexing, and it >> doesn't produce HTML, which I would like probably more than Tex FW3.05AC does support html. Just set @p typesetter = html It also supports tagged code types, to allow the correct kind of "#line" directive to be generated for any language. I'm currently building a major IDE to support literate programming (because I'm writing a book). Although I am currently using FW3.05AC, I'll probably rewrite it to add support for things i _really_ need in a book, especially one I need to publish as HTML as well as on paper. [Such as conditional typesetting] John Max Skaller ph:61-2-96600850 mailto:skaller@zip.com.au 10/1 Toxteth Rd http://www.zip.com.au/~skaller Glebe 2037 NSW AUSTRALIA 8-Dec-1997 15:21:09-GMT,2169;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id IAA26043 for ; Mon, 8 Dec 1997 08:21:06 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from mailhost.nemaine.com by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 08 Dec 1997 09:09:47 EST Received: from clyde [205.139.6.9] by mailhost.nemaine.com (SMTPD32-4.02) id ADDD4B601F8; Mon, 08 Dec 1997 10:10:21 EST From: "Brian Schuth" Reply-To: LitProg@SHSU.edu, brians@neri.org To: Subject: LitProg, Delphi, Javadoc Date: Mon, 8 Dec 1997 10:10:52 -0500 Message-ID: <01bd03eb$79528150$09068bcd@clyde> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Does anyone have any experience trying to Literate Program with Borland's Delphi? I'm working on a new project, the first of any significant size for me, and I work mostly on social science grants, so our resources are not generous. Documentation in source is a necessity, since I don't have the time to write it separately. To this end, I wrote a Delphi utility that works on the same principle as Java's javadoc -- essentially a special comment extractor with some context awareness to match comments to type declarations. This works great for interface, but doesn't help with making the implementations any easier to read. My experience with noweb (experimented a few years ago) suggested that it was heavily C oriented. Delphi doesn't have the full functionality of the C preprocessor, so I don't know if LitProg is a reasonable consideration. For instance, unless I'm missing something, there is nothing corresponding to the #line directive, which I gather will make my LP life rather difficult... I'm not aware of the other LP tools I've seen mentioned here, so perhaps there's something out there to help me. Thanks! BJS ================================ Brian Schuth, NERI, Eastport, ME Office 207-853-7134, 207-853-7135 FAX brians@neri.org 8-Dec-1997 17:06:57-GMT,2692;000000000000 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA28607 for ; Mon, 8 Dec 1997 10:06:55 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from server1.santafe.com.ar by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 08 Dec 1997 10:56:27 EST Received: from localhost (sf12.santafe.com.ar [200.26.48.77]) by server1.santafe.com.ar (8.8.5/8.8.5) with SMTP id NAA32514; Mon, 8 Dec 1997 13:58:30 -0300 Date: Mon, 8 Dec 1997 13:58:38 -0300 (ARST) From: Cesar BALLARDINI Reply-To: LitProg@SHSU.edu, cballard@santafe.com.ar To: LitProg@SHSU.edu, brians@neri.org Subject: Re: LitProg, Delphi, Javadoc Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi Brian, On Mon, 8 Dec 1997, Brian Schuth wrote: > To this end, I wrote a Delphi utility that works on the same principle as > Java's javadoc -- essentially a special comment extractor with some context > awareness to match comments to type declarations. This works great for > interface, but doesn't help with making the implementations any easier to > read. Well, it's seems that my "ddoc" (for Delphi DOC) has a brother in some place :) I must write a year assignment on Statistical Process Control, which means real time adquisition (rather soft rt), and display. They choose Delphi, not me. I've been working on ddoc as a Delphi syntax check utility and doc generator, so it's based on lex and yacc. ddoc itself is written in nuweb (my first real program in litprog way), but docs chunks are yet in spanish. Some trouble with the grammar (I'm not a yacc expert) has low both speed and priority on ddoc. I'm thinking what could happen if I concentrate on comments only, ala javadoc, when your post arrives. So this is unfinished work. If someone has a working yacc grammar for Delphi, or want to help debug mine, things may go faster. The Borland's IDE seems little friendly (to me) to LP, as the Code Editor "spy" what you write, and modify others things accordingly. So the comments extractor is, IMHO, the best approach in this case. Obviosly, if you can code without the IDE (difficult task, as many manuals only exists on-line) the CLiP + folding editor approach may be of value for you. Cheers. PS: I plan to release the final result under GPL. ----- Cesar BALLARDINI cballard@santafe.com.ar for public pgp key: Maranatha!! finger cballard@server1.santafe.com.ar 8-Dec-1997 18:19:43-GMT,1664;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id LAA00761 for ; Mon, 8 Dec 1997 11:19:40 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from holonet.net by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 08 Dec 1997 11:59:56 EST Message-ID: <3.0.3.32.19971208105246.0107bce8@holonet.net> Date: Mon, 08 Dec 1997 10:52:46 -0700 To: LitProg@SHSU.edu, stuart@gol.com From: "Hugh S. Myers" Reply-To: LitProg@SHSU.edu, hsmyers@holonet.net Subject: Re: Non Literate Programming Recovery MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" At 04:21 PM 12/6/97 GMT, you wrote: >Has anyone ever seen any discussions or read any materials about how >to recover from non literate programming? > >From time to time. In my own experience I find that the conversion to LP is about the only way to make such a 'recovery'. What I usually do is to strip all source files of any comments, run them through a reformatter and then begin the function by function conversion to LP. I remove comments because I want to concentrate on what a function does rather than on what was planned or imagined. The body of text associated with a function then becomes my working notes as I put things together. As needed I have also written programs to filter source files and establish the skeleton CWEB file automatically. You will still need to do a lot of work by hand both to learn the code as well as to make a complete conversion. hsm 8-Dec-1997 19:45:56-GMT,1939;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA03000 for ; Mon, 8 Dec 1997 12:45:54 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 08 Dec 1997 13:25:59 EST From: Paolo Amoroso Reply-To: LitProg@SHSU.edu, amoroso@mclink.it Subject: Re: Non Literate Porgramming Recovery Date: 8 Dec 1997 19:14:32 GMT Message-ID: <66hguo$k6f$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu On 6 Dec 1997 16:21:56 GMT, stuart@gol.com (Stuart Woodward) wrote: > Has anyone ever seen any discussions or read any materials about how > to recover from non literate programming? [...] > Are people swapping tips (and horror stories) about how to cope > maintaining enigmatic software? The book "A Retargetable C Compiler: Design and Implementation" by C. Fraser and D. Hanson (Addison-Wesley, 1995) contains the literate noweb code for the compiler mentioned in the title. The authors state that they turned their own original C sources into a literate version. Here's all they tell about the process (page 532): "We'd also link at least some bugs with the code that corrects them. lcc was not originally written as a literate program; the English here was retrofitted to the code. In this, we encountered several compiler fragments that we could no longer explain immediately. Most of them turned out to repair bugs, but we'd have saved time if we'd kept more sample bugs - that is, the source code and sample input and output - nearby in comments or, now, in possibly elided fragments of the literate program." -- Paolo Amoroso 8-Dec-1997 22:35:42-GMT,1244;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA07283 for ; Mon, 8 Dec 1997 15:35:40 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 08 Dec 1997 16:29:07 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Re: contemplating LP approach to next generation of project Date: 8 Dec 1997 22:16:19 GMT Message-ID: <66hrjj$sci$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <66f13i$bhd$1@murdoch.acc.Virginia.EDU>, Steve Furlong wrote: >Off the cuff, I'd recommend noweb. It's available on many platforms >and works very well. The only drawback is that you have to learn TeX >or LaTeX. Or HTML. It's entirely possible to use noweb without knowing any TeX or LaTeX. >If you go this route and don't already know LaTeX, get a >copy of Lamport's _LaTeX:_A_Document_Preparation_System_ And I find The LaTeX Companion (Goossens, Mittelbach, and Samarin) indispensible. Norman 9-Dec-1997 0:19:43-GMT,1158;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id RAA09732 for ; Mon, 8 Dec 1997 17:19:42 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Mon, 08 Dec 1997 18:13:02 EST From: Paolo Ciccone Reply-To: LitProg@SHSU.edu, p-ciccone@usa.net Subject: Perl's POD Date: 08 Dec 1997 15:43:06 -0800 Message-ID: To: LitProg@SHSU.edu Hi, I used several LP tools in the past (currently working with noweb) but lately I saw that Perl has something very close to a built-in LP system. Since I don't know much about it (I'm reading the doc but I lack the experience) I would like to know: 1. Can POD be considered a LP tool ? 2. If yes, is there anything similar to 'tangle' 3. Can POD be used for sources not written in Perl (assuming that there is a 'tangle') ? Thanks in advance, Paolo 11-Dec-1997 23:27:43-GMT,3948;000000000001 Received: from plot79.math.utah.edu (beebe@plot79.math.utah.edu [128.110.198.3]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with ESMTP id QAA10960; Thu, 11 Dec 1997 16:27:43 -0700 (MST) From: "Nelson H. F. Beebe" Received: (from beebe@localhost) by plot79.math.utah.edu (8.8.5/8.8.5) id QAA25544; Thu, 11 Dec 1997 16:27:42 -0700 (MST) Date: Thu, 11 Dec 1997 16:27:42 -0700 (MST) To: LitProg@SHSU.edu, haiyu@mailexcite.com Cc: beebe@math.utah.edu X-US-Mail: "Center for Scientific Computing, University of Utah, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA" X-Telephone: +1 801 581 5254 X-FAX: +1 801 581 4148 X-URL: http://www.math.utah.edu/~beebe Subject: Re: noweb In-Reply-To: Your message of 11 Dec 1997 13:13:46 GMT Message-ID: >> can somebody point me in the direction where i can find a detailed >> description of what literate programming is and hence, what noweb is. There are two important books you should know about; both are listed in ftp://ftp.math.utah.edu/pub/tex/bib/index.html#litprog URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=2055 @String{pub-SUCSLI = "Stanford University Center for the Study of Language and I nformation"} @String{pub-SUCSLI:adr = "Stanford, CA, USA"} @Book{Knuth:1992:LP, author = "Donald E. Knuth", title = "Literate Programming", publisher = pub-SUCSLI, address = pub-SUCSLI:adr, pages = "xv + 368", year = "1992", ISBN = "0-937073-80-6 (paper), 0-937073-81-4 (cloth)", LCCN = "QA76.6.K644", bibdate = "Wed Apr 03 16:48:10 1996", series = "CSLI Lecture Notes Number 27", URL = "http://csli-www.stanford.edu/publications/literate.html", acknowledgement = ack-nhfb, keywords = "electronic digital computers --- programming", } URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=987 @String{pub-VNR = "Van Nostrand Reinhold"} @String{pub-VNR:adr = "New York, NY, USA"} @Book{Sewell:1989:WPL, author = "E. Wayne Sewell", title = "Weaving a Program: Literate Programming in {\WEB}", publisher = pub-VNR, address = pub-VNR:adr, pages = "xx + 556", year = "1989", ISBN = "0-442-31946-0", LCCN = "QA76.73.W24 S491 1989", bibdate = "Fri Aug 19 00:20:22 1994", keywords = "web (computer program language)", } In addition to these two, there is a specific one about cweb: URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=2324 @String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"} @String{pub-AW:adr = "Reading, MA, USA"} @Book{Knuth:1993:CSS, author = "Donald E. Knuth and Silvio Levy", title = "The {CWEB} System of Structured Documentation, Version 3.0", publisher = pub-AW, address = pub-AW:adr, pages = "226", year = "1993", ISBN = "0-201-57569-8", LCCN = "QA76.9.D3 K6 1993", bibdate = "Thu Dec 16 09:04:49 1993", acknowledgement = ack-nhfb, } You should definitely look at the litprog bibliography file; I try to make it cover everything that has every been published about literate programming. ---------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - Center for Scientific Computing FAX: +1 801 581 4148 - - University of Utah Internet e-mail: beebe@math.utah.edu - - Department of Mathematics, 105 JWB beebe@acm.org - - 155 S 1400 E RM 233 beebe@ieee.org - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe - ---------------------------------------------------------------------------- 11-Dec-1997 23:32:54-GMT,4206;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id QAA11090 for ; Thu, 11 Dec 1997 16:32:53 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from csc-sun.math.utah.edu by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 11 Dec 1997 17:27:33 EST Received: from plot79.math.utah.edu (beebe@plot79.math.utah.edu [128.110.198.3]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with ESMTP id QAA10960; Thu, 11 Dec 1997 16:27:43 -0700 (MST) From: "Nelson H. F. Beebe" Reply-To: LitProg@SHSU.edu, beebe@math.utah.edu Received: (from beebe@localhost) by plot79.math.utah.edu (8.8.5/8.8.5) id QAA25544; Thu, 11 Dec 1997 16:27:42 -0700 (MST) Date: Thu, 11 Dec 1997 16:27:42 -0700 (MST) To: LitProg@SHSU.edu, haiyu@mailexcite.com CC: beebe@math.utah.edu Subject: Re: noweb Message-ID: >> can somebody point me in the direction where i can find a detailed >> description of what literate programming is and hence, what noweb is. There are two important books you should know about; both are listed in ftp://ftp.math.utah.edu/pub/tex/bib/index.html#litprog URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=2055 @String{pub-SUCSLI = "Stanford University Center for the Study of Language and I nformation"} @String{pub-SUCSLI:adr = "Stanford, CA, USA"} @Book{Knuth:1992:LP, author = "Donald E. Knuth", title = "Literate Programming", publisher = pub-SUCSLI, address = pub-SUCSLI:adr, pages = "xv + 368", year = "1992", ISBN = "0-937073-80-6 (paper), 0-937073-81-4 (cloth)", LCCN = "QA76.6.K644", bibdate = "Wed Apr 03 16:48:10 1996", series = "CSLI Lecture Notes Number 27", URL = "http://csli-www.stanford.edu/publications/literate.html", acknowledgement = ack-nhfb, keywords = "electronic digital computers --- programming", } URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=987 @String{pub-VNR = "Van Nostrand Reinhold"} @String{pub-VNR:adr = "New York, NY, USA"} @Book{Sewell:1989:WPL, author = "E. Wayne Sewell", title = "Weaving a Program: Literate Programming in {\WEB}", publisher = pub-VNR, address = pub-VNR:adr, pages = "xx + 556", year = "1989", ISBN = "0-442-31946-0", LCCN = "QA76.73.W24 S491 1989", bibdate = "Fri Aug 19 00:20:22 1994", keywords = "web (computer program language)", } In addition to these two, there is a specific one about cweb: URL=ftp://ftp.math.utah.edu/pub/tex/bib/litprog.bib Line=2324 @String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"} @String{pub-AW:adr = "Reading, MA, USA"} @Book{Knuth:1993:CSS, author = "Donald E. Knuth and Silvio Levy", title = "The {CWEB} System of Structured Documentation, Version 3.0", publisher = pub-AW, address = pub-AW:adr, pages = "226", year = "1993", ISBN = "0-201-57569-8", LCCN = "QA76.9.D3 K6 1993", bibdate = "Thu Dec 16 09:04:49 1993", acknowledgement = ack-nhfb, } You should definitely look at the litprog bibliography file; I try to make it cover everything that has every been published about literate programming. ---------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - Center for Scientific Computing FAX: +1 801 581 4148 - - University of Utah Internet e-mail: beebe@math.utah.edu - - Department of Mathematics, 105 JWB beebe@acm.org - - 155 S 1400 E RM 233 beebe@ieee.org - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe - ---------------------------------------------------------------------------- 16-Dec-1997 14:14:52-GMT,64888;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id HAA20447 for ; Tue, 16 Dec 1997 07:14:42 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 16 Dec 1997 07:02:15 EST From: thompson@sun1.coe.ttu.edu Subject: comp.programming.literate FAQ Date: 16 Dec 1997 10:44:06 GMT Message-ID: Reply-To: LitProg@SHSU.edu, thompson@sun1.coe.ttu.edu To: LitProg@SHSU.edu Archive-name: literate-programming-faq Last-modified: 1997/08/15 Version: 1.1.18 The Literate Programming FAQ David B. Thompson 15 August 1997 This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. ______________________________________________________________________ Table of Contents: 1. Welcome 1.1. Disclaimer 1.2. Copyright 1.3. What's New? 2. Introduction or 3. How do I get the FAQ? 3.1. Literate Programming FAQ 3.2. FWEB FAQ 4. Is there a newsgroup? 5. What internet nodes are of interest to literate programmers? 6. What is Literate Programming? 7. How do I begin literate programming? 8. What literate programming tools are available? 8.1. APLWEB 8.2. AWEB 8.3. CLiP 8.4. CWEB 8.5. CWEBx3.0 8.6. mCWEB 8.7. FunnelWeb 8.8. FunnelWeb 3.0AC 8.9. FWEB 8.10. IMPACT 8.11. lit2x 8.12. Literate Programmer's Workshop (LPW) 8.13. MapleWEB 8.14. MWEB (Schrod/Detig) 8.15. MWEB (Sewell) 8.16. noweb 8.17. nuweb 8.18. ProTeX 8.19. RWEB 8.20. SchemeWEB 8.21. SpideryWEB 8.22. WEB 8.23. WinWordWEB 9. Are there other tools I should know about? 9.1. C2LaTeX 9.2. c2cweb 9.3. c2man 9.4. cnoweb 9.5. Fold2Web 9.6. Funnelweb Mode 9.7. noweb.el 9.8. nuweb.el 9.9. TIE 9.10. Web mode 10. What other resources are available? 10.1. World Wide Web 10.2. TeX Resources 11. Are there any code examples? 12. Bibliographies 13. How to anonymously ftp 14. Acknowledgements 15. End notes ______________________________________________________________________ 1. Welcome Information contained in this document is the best available at preparation. The original file was dated October 15, 1993 (just for historical purposes). 1.1. Disclaimer Disclaimer: ``This FAQ is presented with no warranties or guarantees of ANY KIND including correctness or fitness for any particular purpose. The author of this document has attempted to verify correctness of the data contained herein; however, slip-ups can and do happen. If you use this data, you do so at your own risk.'' 1.2. Copyright Copyright 1993-1997 by David B. Thompson. All rights reserved worldwide. Permission is granted to copy this document for free distribution so long as it remains intact and unmodified. For other arrangements, contact the author/maintainer via email: 1.3. What's New? o My email address has changed (once again). o Newsgroup is moderated. o Updated fweb entry. o Updated noweb entry. o Added mCWEB entry. o Updated c2cweb entry. o Updated nuweb.el entry. o Updated cLiP entry. o Updated Lee W's examples (from bart). o Last, but not least, new formatting of the FAQ. Many thanks go to Andrew Johnson for helping make this happen. 2. Introduction or ``What's this all about?'' This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. The Literate Programming (LitProg) Frequently Asked Questions (FAQ) list is maintained by Dave Thompson Comments and constructive criticisms are welcome. Direct flames to /dev/null (or nul if you're a msdos user! ;-) If you find an error, please report it. I'm particularly interested in establishing the locations of generally available literate programming tools. If you are the author of such a tool and wish to have it included in this list, please send email. Please note this is a work-in-progress. It is not complete, and probably will never be complete. Nevertheless, the information contained herein may be useful to some. Use it as it is intended. 3. How do I get the FAQ? 3.1. Literate Programming FAQ You have many ways to get a current copy of this FAQ. One is to use anonymous ftp (if you don't know how, see a later section in this FAQ) to connect to one of the Comprehensive TeX Arvchive Network (CTAN) sites or the Literate Programming Archive and retrieve a copy of the file. Open an ftp connection to one of the CTAN sites and retrieve the file: help/LitProg-FAQ (For more information on CTAN and the literate programming archive, see the section below entitled ``Internet Nodes of Interest to Literate Programmers''.) 3.2. FWEB FAQ David Coker maintains the FWEB FAQ. The current version number is 1.30a. It can be retrieved in the same way as this FAQ. The FWEB FAQ exists in various formats, including HyperText (see other resources below). In Europe, the complete distribution can also be obtained from ftp.desy.de 131.169.10.115 in directory /pub/faq/web/fweb/. It is also available from the literate programming archive in the directory LPA/Documentation/faq/fweb (see the references to LPA below for more information). 4. Is there a newsgroup? One of the most important resources is the literate programming newsgroup, comp.programming.literate. Because of the amount of spamming and unrelated the posts, the newsgroup is now moderated. Posts to the newsgroup are now routed through litprog- mod@cs.virginia.edu. If your news reader does not post through this address, then you will be unable to post messages to the newgroup. You can read this newsgroup using your standard reader. 5. What internet nodes are of interest to literate programmers? The principal nodes of interest to literate programmers are the Literate Programming Archive (LPA hereafter) and the CTAN (Comprehensive TeX Archive Network). The Literate Programming Archive (LPA) is: Node: ftp.th-darmstadt.de [130.83.55.75] Directory: programming/literate-programming Notes: Fastest response during off-U.S. [yep] business hours. Participating hosts in the Comprehensive TeX Archive Network are: ftp.dante.de (Deutschland) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node sun.dante.de -- e-mail via ftpmail@dante.de -- Administrator: ftp.tex.ac.uk (England) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node gopher.tex.ac.uk -- NFS mountable from nfs.tex.ac.uk:/public/ctan/tex-archive -- World Wide Web access on www.tex.ac.uk -- Administrator: The site ftp.shsu.edu used to be the American CTAN site. Apparently, that site has fallen into disrepair and should not be considered a primary source for either TeX related or literate programming related material. For the record, the address is: ftp.shsu.edu (Texas, USA) -- anonymous ftp and gopher /tex-archive (/pub/tex /pub/archive) -- NFS mountable from ftp.SHSU.edu:/pub/ftp/tex-archive -- e-mail via ftpmail@ftp.SHSU.edu -- World Wide Web access on www.SHSU.edu -- Administrator: A list of CTAN archive sites and their mirrors can be found on: ftp.dante.de:/tex-archive/CTAN.sites I presume that the other CTAN sites mirror this file, but have not checked. As of my last check (September 1994), it contains: "In order to reduce network load, it is recommended that you use the Comprehensive TeX Archive Network (CTAN) host which is located in the closest network proximity to your site." Known partial mirrors of the CTAN reside on (alphabetically): dongpo.math.ncu.edu.tw (Taiwan) /tex-archive ftp.adfa.oz.au (Australia) /pub/tex/ctan ftp.muni.cz (The Czech Republic) /pub/tex/CTAN ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive ftp.uu.net (Virginia, USA) /pub/text-processing/TeX nic.switch.ch (Switzerland) /mirror/tex Known mirrors of the CTAN reside on (alphabetically): ftp.center.osaka-u.ac.jp (Japan) /CTAN ftp.ccu.edu.tw (Taiwan) /pub/tex ftp.cs.rmit.edu.au (Australia) /tex-archive ftp.duke.edu (North Carolina, USA) /tex-archive ftp.germany.eu.net (Deutschland) /pub/packages/TeX ftp.gwdg.de (Deutschland) /pub/dante ftp.jussieu.fr (France) /pub4/TeX/CTAN ftp.loria.fr (France) /pub/unix/tex/ctan ftp.mpi-sb.mpg.de (Deutschland) /pub4/tex/mirror/ftp.dante.de ftp.uni-bielefeld.de (Deutschland) /pub/tex ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex) ftpserver.nus.sg (Singapore) /pub/zi/TeX src.doc.ic.ac.uk (England) /packages/tex/uk-tex sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX wuarchive.wustl.edu (Missouri, USA) /packages/TeX Other nodes and directories of interest include: Node: ftp.desy.de [131.169.10.115] Directory: pub/web. Various documents, samples, and the FWEB FAQ. Notes: Has a www server, http://info.desy.de:80/ 6. What is Literate Programming? Literate programming is the combination of documentation and source together in a fashion suited for reading by human beings. In fact, literate programs should be enjoyable reading, even inviting! (Sorry Bob, I couldn't resist!) In general, literate programs combine source and documentation in a single file. Literate programming tools then parse the file to produce either readable documentation or compilable source. The WEB style of literate programming was created by D.E. Knuth during the development of his TeX typsetting software. All the original work revolves around a particular literate programming tool called WEB. Knuth says: The philosophy behind WEB is that an experienced system pro- grammer, who wants to provide the best possible documenta- tion of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately. The structure of a software program may be thought of as a web that is made up of many interconnected pieces. To docu- ment such a program we want to explain each individual part of the web and how it relates to its neighbours. The typo- graphic tools provided by TeX give us an opportunity to explain the local structure of each part by making that structure visible, and the programming tools provided by languages such as C or Fortran make it possible for us to specify the algorithms formally and unambigously. By combin- ing the two, we can develop a style of programming that max- imizes our ability to perceive the structure of a complex piece of software, and at the same time the documented pro- grams can be mechanically translated into a working software system that matches the documentation. Another author (Eric W. van Ammers) wrote me a short article treating his opinions on literate programming. The text follows: First observation on LP About 90% of the disussion on this list is about problems with applying some WEB-family member to a particular programming language or a special documentation situation. This is ridiculous, I think. Let me explain shortly why. Lemma 1: I have proposed for many years that programming has nothing to do with programming langauges, i.e. a good programmer makes good programs in any language (given some time to learn the syntax) and a bad programmer will never make a good program, no matter the language he uses (today many people share this view, fortunately). Lemma 2: Literate Programming has (in a certain way not yet completely understood) to do with essential aspects of programming. Conclusion 1: A LP-tool should be independent of programming language. Lemma 3: It seems likely that the so called BOOK FORMAT PARADIGM ref. 1 plays an important role in making literate programs work. Lemma 4: There are very many documentation systems currently being used to produce documents in the BOOK FORMAT. Conclusion 2: A LP-tool should be independent of the documentation system that the program author whishes to use. My remark some time ago that we should discuss the generic properties of an LP-tool was based on the above observation. References 1 Paul W. Oman and Curtus Cook. ``Typographical style is more than cosmetic.'' CACM 33, 5, 506-520 (May 1990) Second observation on LP The idea of a literate program as a text book should be extendend even further. I would like to see a literate program as an (in)formal argument of the correctness of the program. Thus a literate program should be like a textbook on mathematicics. A mathematical textbook explains a theory in terms of lemma and theorems. But the proofs are never formal in the sense that they are obtaind by symbol manipulation of a proof checker. Rather the proofs are by so called ``informal rigour'', i.e. by very precise and unambiguous sentences in a natural language. 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 Another author (Norman Ramsey) wrote me and asked that his opinions be included in the FAQ. What follows are Norman's comments verbatim. I see it's time for the ``how is literate programming dif- ferent from verbose commenting'' question. Perhaps David Thompson will get this into the FAQ. Alert! What follows are my opinions. In no way do I claim to speak for the (fractious) literate-programming community. How is literate programming different from verbose commenting? There are three distinguishing characteristics. In order of importance, they are: o flexible order of elaboration o automatic support for browsing o typeset documentation, especially diagrams and mathematics Flexible order of elaboration means being able to divide your source program into chunks and write the chunks in any order, independent of the order required by the compiler. In principle, you can choose the order best suited to explaining what you are doing. More subtly, this discipline encourages the author of a literate program to take the time to consider each fragment of the program in its proper sphere, e.g., not to rush past the error checking to get to the ``good parts.'' In its time and season, each part of the program is a good part. (This is the party line; your mileage may vary.) I find the reordering most useful for encapsulating tasks like input validation, error checking, and printing output fit for humans --- all tasks that tend to obscure ``real work'' when left inline. Reordering is less important when using languages like Modula-3, which has exceptions and permits declarations in any order, than when using languages like C, which has no exceptions and requires declaration before use. Automatic support for browsing means getting a table of contents, index, and cross-reference of your program. Cross-reference might be printed, so that you could consult an index to look up the definition of an identifier `foo'. With good tools, you might get a printed mini-index on every page if you wanted. Or if you can use a hypertext technology, cross-reference might be as simple as clicking on an identifier to reach its definition. Indexing is typically done automatically or `semi- automatically', the latter meaning that identifier definitions are marked by hand. Diligently done semi- automatic indexes seem to be best, because the author can mark only the identifiers he or she considers important, but automatic indexing can be almost as good and requires no work. Some tools allow a mix of the two strategies. Some people have applied literate-programming tools to large batches of legacy code just to get the table of contents, index, and cross-reference. I don't use diagrams and mathematics very often, but I wouldn't want to have to live without them. I have worked on one or two projects where the ability to use mathematical formulae to document the program was indispensible. I also wouldn't like to explain some of my concurrent programs without diagrams. Actually I write almost all of my literate programs using only sections headers, lists, and the occasional table. >Wouldn't it be easier to do one's literate programming using >a wysiwyg word processor (e.g. Word for Windows) and >indicate what is source code by putting it in a different >font? The data formats used in wysiwyg products are proprietary, and they tend to be documented badly if at all. They are subject to change at the whim of the manufacturer. (I'll go out on a limb and say there are no significant wysiwyg tools in the public domain. I hope the Andrew people will forgive me.) These conditions make it nearly impossible to write tools, especially tools that provide automatic indexing and cross-reference support. The CLiP people have a partial solution that works for tools that can export text --- they plant tags and delimiters throughout the document that enable the reordering transformation (``tangling''). People use TeX, roff, and HTML because free implementations of these tools are widely available on a variety of platforms. TeX and HTML are well documented, and TeX and roff are stable. TeX is the most portable. I think I have just answered the FAQ ``how come all these tools use TeX, anyway?'' :-) Norman Ramsey 7. How do I begin literate programming? A recommended book is D.E. Knuth's collection of articles (1992) Literate Programming. Center for the Study of Language and Information, Stanford University, ISBN 0-937073-80-6 (pbk). This book gives insight into Knuth's thoughts as he developed the web system of literate programming (and TeX for typesetting). It does not document methods for literate programming. A recommended book is Wayne Sewell's (1989) Weaving a Program: Literate Programming in WEB. Van Nostrand Reinhold, ISBN 0-442-31946-0 (pbk). This book focuses on using Knuth's web system. Some talk exists in the newsgroup/mailing list for a Usenet University course in literate programming. I'm sure discussion of this topic will be welcomed. If you are interested, please participate. 8. What literate programming tools are available? A significant number of tools for literate programming are available. Most have been ported from their original systems, so support multiple computer platforms. If you are the developer of such a tool, and would like to make the software freely available, please send me email and I'll reply with a form (like those below) for you to fill in. (Or short-circuit the process and kludge a form from below. :-) 8.1. APLWEB Developer: Christoph von Basum Version: Unknown Hardware: MSDOS Languages: IBM APL2 and STSC APL Formatter: Plain TeX Availability: Anonymous ftp from: LPA:/apl watserv1.uwaterloo.ca:/languages/apl/aplweb Readme: Unknown Description: None available. Support: Unknown Note: The status of this particular package is unknown. 8.2. AWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Ada Formatter: Unknown Availability: Anonymous ftp from: LPA:/ada/web Readme: Unknown Description: None available Support: Not supported. 8.3. CLiP Developer: E.W. van Ammers and M.R. Kramer Versions: 2.0 and 2.4b (DOS only) Platform: Vax/VMS, Unix, DOS Languages: Any programming language Formatter: Any formatter (TeX, LaTeX, Troff, Runoff, HTML, etc) or any wordprocessor including WYSIWYG systems (Word Perfect, WinWord, Ami Pro, Word Pro, etc.) Availability: Anonymous ftp from: sun01.info.wau.nl:/CLIP/ms_dos DOS sun01.info.wau.nl:/CLIP/ms_dos_24b DOS (v. 2.4b) sun01.info.wau.nl:/CLIP/vax_vms VAX/VMS sun01.info.wau.nl:/CLIP/unix Unix CTAN:/web/clip LPA:/machines/ms-dos LPA:/machines/vax Readme: With bundle above Description: CLiP does not use explicit commands to perform the extraction process. Rather it recognizes pseudostatements written as comments in the programming language in question. CLiP distinguishes pseudostatements from ordinary comments because the former comply with a particular style. This style can be adjusted to suit virtually any programming language. The CLiP approach to LP makes the system extremely versatile. It is independent of programming language and text processing environment. We designed CLiP to be compatible with hypertext systems as well. Some hypertext examples are at ftp://sun01.info.wau.nl/clip/html/queens.htm ftp://sun01.info.wau.nl/clip/html/pal1.htm Features: + CLiP imposes virtually no limitations on the text-processing system used to produce the documentation. If the text-processor supports these items you can + structure the documentation according to your own taste. + include drawings, pictures, tables etc. + disclose your documentation my means of X-ref tables, Indexes, Table of contents, Table of tables, Table of figures, etc. + typeset the documented code. + Extracts any number of modules from a maximum of 64 source files. + No pretty-printing. Code from the source files is copied "as is" to the module. + Appearance of code segments in the documentation matches those of the modules to ease the identification of code segments. + Supports partially specified data types. + Comprehensive user manual (preliminary version) and technical description. - No automatic generation of a X-ref table for program identifiers. Support: Bugs, problems and assistance by e-mail to Eric.vanAmmers@user.info.wau.nl 8.4. CWEB Developer: Silvio Levy and D.E. Knuth Version: 3.0 Hardware: Unix systems (dos and amiga ports available) Languages: C and C++ Formatter: Plain TeX and LaTeX. Availability: Anonymous ftp from: labrea.stanford.edu:/pub/cweb LPA:/c.c++ CTAN:/web/c_cpp/cweb DOS version in CTAN:/web/c_cpp/cwb30p8c DOS version in LPA:/machines/ms-dos Amiga version CTAN:/web/c_cpp/AmigaCWEB Mac port of CTANGLE in LPA:/machines/mac LaTeX support in LPA:/c.c++ Readme: Bundled with above Description: No description provided. Support: Bugs to levy@math.berkeley.edu 8.5. CWEBx3.0 Developer: Marc van Leeuwen Version: Unknown Hardware: Any system using ASCII code Languages: ANSI C Formatter: Plain TeX Availability: Anonymous ftp from: ftp.cwi.nl/pub/cweb Readme: Bundled with above Brief description: A modified implementation of CWEB, with some extensions. Provides a mode for full compatibility with Levy/Knuth CWEB. The most significant extras are: - Typedef declarations affect formatting througout source file - Include files are scanned for typedef definitions - Flexible selection of layout style - Possibility to refer to sections using symbolic labels - CTANGLE detects unbalanced braces and parentheses - CWEAVE can be made to report syntax errors more easily - Some additional mechanisms to avoid formatting problems - New and modular set of grammar rules, based on ANSI C syntax - Possibility to suppress #line directives - A new manual Support: bugs and remarks to M.van.Leeuwen@cwi.nl 8.6. mCWEB Developer: Markus Oellinger Version: 1.0 Hardware: Unix Languages: C/C++ Formatter: plainTeX Availability: anonymous ftp from ist.tu-graz.ac.at:/pub/utils/litprog/mcweb/mcweb.tgz Readme: at same location Description: This is mCWEB 1.0, a descendant of the CWEB system of structured documentation by Donald E. Knuth and Silvio Levy. It adds some features that are indispensable when working in a team. mCWEB regards a project of a book consisting of several chapter files. By means of import and export commands, it automatically manages all relationships between the chapters of a book and to other books. Interface documentation is now also part of mCWEB. It is extracted into a second TeX file. This makes it possible to define well known interfaces between the individual parts of a project that will be implemented by different persons. In addition, mCWEB parses C header files to find out about all the datatypes defined there. mCWEB comes with a full completely rewritten user manual and is compatible with CWEB. Support: Institute of Software Technology moell@ist.tu-graz.ac.at 8.7. FunnelWeb Developer: Ross N. Williams: ross@guest.adelaide.edu.au Version: Unknown Hardware: MSDOS, Mac, VMS, Sun. Other ports reported. Languages: No restrictions. Formatter: Plain TeX for printing. Otherwise, no restrictions. Availability: Anonymous ftp from: CTAN:/web/funnelweb LPA:/independent ftp.adelaide.edu.au:/pub/funnelweb Readme: With bundle above. Description: FunnelWeb is a production-quality literate-programming tool that emphasises simplicity and reliability. Everything about FunnelWeb, from the simplicity of its language to the comprehensive tutorial in the user's manual, has been designed to make this as simple, as practical, and as usable a tool as possible. Features: + Provides a simple macro preprocessor facility. + Can produce typeset documentation. + Runs on Sun, VMS VAX, Macintosh, PC, and others. + Portable C source code distributed under GNU licence. + Comprehensive user's manual including tutorial. + Programming-language independent. + Can generate multiple output files. + Allows complete control over the output text. + Regression test suite with over 200 tests. + Fully worked example (in /pub/funnelweb/examples). - Requires TeX to produce typeset documentation. - Typesets program code using TT font only. Support: No formal support available. Mailing list maintained with about 50 subscribers. Informal assistance available from mailing list. 8.8. FunnelWeb 3.0AC Developer: Enhanced by A.B.Coates (coates@physics.uq.edu.au) from FunnelWeb v3.0 by Ross N. Williams (ross@guest.adelaide.edu.au) Version: 3.0AC Hardware: MSDOS, Mac, VMS, Sun, OSF/1, Linux, Sys.V, OS/2. Languages: No restrictions. Formatter: Tex, LaTeX, or HTML. Availability: Anonymous ftp from ftp.physics.uq.oz.au:/pub/funnelwebAC30.tar.gz Readme: With bundle above; for FunnelWeb manual see WWW page http://www.physics.uq.oz.au:8001/people/coates/funnelweb.html Description: FunnelWeb 3.0AC is an enhanced version of FunnelWeb (see the entry for FunnelWeb). FunnelWeb is designed to be typesetter independent, though FunnelWeb v3.0 only supports (La)TeX as the typesetter. FunnelWeb 3.0AC also supports HTML, and creates appropriate hypertext links within the document among the code sections. FunnelWeb 3.0AC also supports automatic and manual insertion of line directives, so that compiler errors can be flagged back to the original FunnelWeb source file. FunnelWeb 3.0AC is completely compatible with FunnelWeb v3.0 sources (with one minor exception; see the file README.ABC which comes with the FunnelWeb 3.0AC distribution). Support: Supported by A.B.Coates (coates@physics.uq.edu.au), subject to the time constraints imposed by his thesis. 8.9. FWEB Developer: John A. Krommes Version: 1.53 (1.60-beta for the experienced, patient, and brave) Hardware: Unix, VMS, and DOS platforms (anything with ANSI C) Languages: C, C++, Fortran-77, Fortran-90, Ratfor, TeX; also, a language-independent mode. Formatter: LaTeX. Plain TeX may work, but is no longer supported. Availability: Anonymous ftp from: ftp.pppl.gov:/pub/fweb CTAN:/web/fweb LPA:/fweb DOS version in LPA:/machines/ms-dos Readme: In bundle with above. Description: It also has a well-developed user's manual and its own FAQ (see above). Beginning with 1.40, documentation is maintained in gnu texinfo format. It runs on most platforms: VMS, PC, UNIX, and pretty much anything that the GNU C compiler (GCC) is supported for. Features: + Processes multiple languages during a single run (so one can mix C and Fortran, for example). + Language-independent mode (v1.40). + Ability to turn off pretty-printing (v1.40). + Built-in Ratfor translator. + Built-in macro preprocessor (closely follows ANSI C, with extensions). + A style file that allows the user to adjust many parameters and behavior patterns of FWEB. + Various operator-overloading features that provide additional pretty-printing capabilities to languages such as C++ and Fortran-90. + Numerous miscellaneous features and command-line options. Support: Bug reports and suggestions to krommes@princeton.edu 8.10. IMPACT Developer: Timothy Larkin, from Levy/Knuth CWEB 3.1 Version: 1.0 Hardware: Macintosh; requires AppleEvents. Languages: C, C++ Formatter: TeX Availability: CTAN archives Readme: A short readme file is included in the SEA archive. Description: IMPACT implements CTangle from the Levy/Knuth CWEB 3.1. It operates as a foreground program, tangling files selected from the Mac File Picker. Or it can operate in the background, tangling files in response to odoc events sent by other applications, such as editors. Support: I welcome any reports of bugs. The product will be updated as new versions of the CWEB appear. Other features may be added as users suggest them. 8.11. lit2x Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/independent Readme: Unknown Description: None available Support: Unknown 8.12. Literate Programmer's Workshop (LPW) Developer: Norbert Lindenberg Version: 1.1 Hardware: Apple Macintosh Languages: C++, Object Pascal & others Formatter: self-contained WYSIWYG system Availability: Anonymous ftp from: LPA:/machines/mac CTAN:/web/lpw ftp.apple.com:/pub/literate.prog Readme: With bundle above. Also comes with 38-page manual. Description: The Literate Programming Workshop is an environment for the integrated development of program source text and documentation in combined documents. It consists of a WYSIWYG word processor based on a style sheet approach, a mechanism to extract parts of the text in a document, and a project management system that handles multi-document projects. The system is designed to be used in conjunction with the Macintosh Programmer's Workshop: it prepares raw source text for the MPW compilers, accepts MPW error messages, and shows them in the context of the original documents. Automatic indexing and hypertext features allow for easy access to both source text and documentation. LPW is shareware. Support: Bugs, problems, and questions to lpw@aol.com. 8.13. MapleWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Maple Formatter: Unknown Availability: Anonymous ftp from: LPA:/maple Readme: Unknown Description: None Support: Unknown 8.14. MWEB (Schrod/Detig) Developer: Joachim Schrod Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. 8.15. MWEB (Sewell) Developer: Sewell Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. 8.16. noweb Developer: Norman Ramsey Version: 2.8 Hardware: Unix and DOS platforms (DOS binaries available for v2.7). Languages: All programming languages, singly or in combination. Automatic indexing for C, Icon, Pascal, Standard ML, TeX, Yacc Formatter: Plain TeX, LaTeX, and HTML formatters. Will convert LaTeX to HTML automatically. Availability: Anonymous ftp from: CTAN:/web/noweb LPA:/independent Last recourse, use ftp.cs.virginia.edu:pub/nr Readme: With bundle above, or see the noweb home page: http://www.cs.virginia.edu/~nr/noweb Those without ftp access can consult ``Literate Programming Simplified,'' IEEE Software, September 1994, pp97-105. Description: noweb is designed to meet the needs of literate programmers while retaining the simplest possible input format. Its primary advantages are simplicity, extensibility, and language-independence. noweb uses 5 control sequences to WEB's 27. The noweb manual is only 3 pages; an additional page explains how to customize its LaTeX output. noweb works ``out of the box'' with any programming language, and supports TeX, latex, and HTML back ends. A back end to support full hypertext or indexing takes about 250 lines; a simpler one can be written in 40 lines of awk. The primary sacrifice relative to WEB is that code is not prettyprinted. noweb supports indexing and identifier cross-reference, including hypertext ``hot links.'' noweb includes a simple, efficient LaTeX-to-HTML converter, so you can use hypertext browsers on your legacy documents. noweb can also process nuweb programs, so you can use noweb to convert a standard nuweb program to HTML with one command. Support: email to the author 8.17. nuweb Developer: Preston Briggs: preston@cs.rice.edu Version: 0.87 Hardware: Unix systems: Sparcs, RS/6000s, HPs; (!) MSDOS and Amiga. Languages: Any programming language or combination of programming languages. Formatter: Latex Availability: Anonymous ftp from: Unix: CTAN:/web/nuweb DOS: CTAN:/web/nuweb-pc LPA:/independent Amiga: CTAN:/web/nuweb/nuweb_ami Amiga: wuarchive.wustl.edu/pub/aminet Readme: Send mail to preston@cs.rice.edu Description: A single program that takes a web file written in a combination of latex and any programming language(s) and produces a latex file that can be pretty printed and a set of files containing code for compilation/interpretation by the appropriate language processors. Strengths include speed, simplicity, multiple languages, nice indices and cross-references, latex. Doesn't require any special macros or macro files. Drawbacks: latex-dependent, no code pretty printing, harder to make indices than cweb. More good stuff: nice support for make, doesn't reformat source files, so they're easy to debug. Lots of control without too much effort. That is, it doesn't do too much! Future directions... Very little change planned, except perhaps refinements in the indexing software. Support: Hack it yourself or send e-mail to preston@cs.rice.edu 8.18. ProTeX Developer: Eitan Gurari Version: ProTeX 1.1, AlProTeX 1.4 Hardware: Any platform with (La)TeX Languages: Any language Formatter: TeX or LaTeX Availability: Anonymous ftp from: ftp.cis.ohio-state.edu : pub/tex/osu/gurari/ LPA:/independent Readme: With bundle above Description: + Easy to use + Extensible + Language independent + Multiple output files + Fast (single compilation provides output and dvi files) + No installation is needed besides copying the files (written in TeX) Introduction of main features and examples in pub/tex/osu/gurari/LitProg Complete manual in Eitan M. Gurari, "TeX and LaTeX: Drawing and Literate Programming", McGraw-Hill, 1994 Support: gurari@cis.ohio-state.edu 8.19. RWEB Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/reduce Readme: Unknown Description: Web generator in AWK. Support: Unknown 8.20. SchemeWEB Developer: John D. Ramsdell Version: 2.1 Hardware: Unix and DOS platforms Languages: Any dialect of Lisp. Formatter: LaTeX. Availability: The Unix version is in the Scheme Repository and it is available via anonymous ftp from: cs.indiana.edu:/pub/scheme-repository/utl/schemeweb.sh LPA:/lisp CTAN:/tex-archive/web/schemeweb The DOS version is part of the PCS/Geneva Scheme system which is available via anonymous ftp from: cui.unige.ch:/pub/pcs LPA:/machines/ms-dos Readme: In bundle with above. Description: SchemeWEB is a Unix filter that allows you to generate both Lisp and LaTeX code from one source file. The generated LaTeX code formats Lisp programs in typewriter font obeying the spacing in the source file. Comments can include arbitrary LaTeX commands. SchemeWEB was originally developed for the Scheme dialect of Lisp, but it can easily be used with most other dialects. Support: Bug reports to ramsdell@mitre.org. 8.21. SpideryWEB Developer: Norman Ramsey Version: Unknown Hardware: Unix and DOS platforms Languages: Most Algol-like languages, including C, Ada, Pascal, Awk, and many others. Formatter: Plain TeX and latex for text formatters. Availability: Anonymous ftp from: CTAN LPA:/spiderweb Readme: In distribution. Description: A system for building language-dependent WEBs. Spider is frozen; no further development is planned. Support: Bug reports to spider-bugs@oracorp.com. 8.22. WEB Developer: Donald Knuth Version: Unknown Hardware: Unknown Languages: Pascal Formatter: TeX (of course! ;-) Availability: Anonymous ftp from: LPA:/pascal Readme: Unknown Description: This is the original software that started it all. The original TeX processor was written in WEB. Support: None known. 8.23. WinWordWEB Developer: Lee Wittenberg Version: Unknown Hardware: Needs Microsoft Word for Windows, v.2.x, and, of course, MS-Windows 3.x. Languages: Any programming language. Formatter: Word for Windows 2.x for text formatting and file maintenance. Availability: Anonymous ftp from: bart.kean.edu:pub/leew LPA:/machines/ms-dos World-Wide Web (WWW) Readme: WORDWEB.DOC in the downloadable package describes the system. Description: WinWordWEB is a set of a Word for Windows macros (plus a paragraph style) that provide a crude literate programming environment. The ``look and feel'' of the system is based on Norman Ramsey's noweb, but can easily be modified to suit individual tastes. Support: None. WinWordWEB was written as a prototype to see if a WYSIWYG literate programming system was possible. It is intended as a jumping off point for future work by others. However, the system is surprisingly usable as it stands, and the author is interested in hearing from users (satisfied and dissatisfied). Anyone interested in actively supporting (and improving) the product should contact the author via email. 9. Are there other tools I should know about? First of all, I'll list some not-quite-literate-programming tools. Some may consider these to be pretty-printers. Others may call them literate programming tools. In any event, they don't seem to be quite in the same category as the tools listed above, so I'll include them here. 9.1. C2LaTeX Developer: John D. Ramsdell Version: Unknown Hardware: Unix Languages: C Formatter: LaTeX but it's easy to change the formatter. Availability: Anonymous ftp from omnigate.clarkson.edu:/pub/tex/tex-programs/c2latex. Readme: Absent. Documentation is in the C source for c2latex. Description: C2latex provides simple support for literate programming in C. Given a C source file in which the comments have been written in LaTeX, c2latex converts the C source file into a LaTeX source file. It can be used to produce typeset listings of C programs and/or documentation associated with the program. C2latex produces LaTeX source by implementing a small number of rules. A C comment that starts at the beginning of a line is copied unmodified into the LaTeX source file. Otherwise, non-blank lines are surrounded by a pair of formatting commands (\begin{flushleft} and \end{flushleft}), and the lines are separated by \\*. Each non-blank line is formatted using LaTeX's \verb command, except comments within the line are formatted in an \mbox. Support: Send bug reports to ramsdell@mitre.org. 9.2. c2cweb Developer: Werner Lemberg Version: 1.5 Hardware: DOS, OS/2, Unix (gcc) - CWEB source included Languages: C, C++ Formatter: TeX Availability: Anonymous ftp from CTAN:/web/c_cpp/c2cweb Readme: In distribution. Description: c2cweb will transform plain C or C++ code into a CWEB file to get a pretty formatted output. A modified CWEAVE (which transforms the CWEB file into a TeX file, see below) is included also. Support: Werner Lemberg 9.3. c2man language: C, nroff, texinfo, latex, html package: c2man version: 2.0 patchlevel 33 parts: documentation generator (C -> nroff -man, -> texinfo, ->latex, -> html) author: Graham Stoney location: ftp from any comp.sources.misc archive, in volume42 (the version in the comp.sources.reviewed archive is obsolete) ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl Australia: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from archie.au N.America: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from ftp.wustl.edu Europe: ftp /News/comp.sources.misc/volume42/c2man-2.0/* from ftp.irisa.fr Japan: ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/* from ftp.iij.ad.jp Patches: ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se description: c2man is an automatic documentation tool that extracts comments from C source code to generate functional interface documentation in the same format as sections 2 & 3 of the Unix Programmer's Manual. It requires minimal effort from the programmer by looking for comments in the usual places near the objects they document, rather than imposing a rigid function-comment syntax or requiring that the programmer learn and use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications. conformance: supports both K&R and ISO/ANSI C coding styles features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format + handles comments as part of the language grammar + automagically documents enum parameter & return values + handles C (/* */) and C++ (//) style comments - doesn't handle C++ grammar (yet) requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX. ports: Unix, OS/2, MSDOS, VMS. portability: very high for unix, via Configure status: actively developed; contributions by users are encouraged. discussion: via a mailing list: send "subscribe c2man " (in the message body) to listserv@research.canon.oz.au help: from the author and other users on the mailing list: c2man@research.canon.oz.au announcements: patches appear first in comp.sources.bugs, and then in comp.sources.misc. updated: 1994/10/07 9.4. cnoweb Developer: Jim Fox Version: 1.4 (January 4, 1991) Hardware: Anything with C and TeX. Languages: C Formatter: Plain TeX. Availability: Anonymous ftp from: CTAN LPA:/c.c++ Readme: Unknown, cnoweb.tex contains documentation. Description: cnoweb is as it's name describes: write C, not web. No tangling or weaving is implemented. Documentation (between standard /* */ delimiteres) is written in TeX. cnoweb provides typesetting of documentation, an table of contents of routines, and pretty-printing of C source. Support: None known. 9.5. Fold2Web Developer: Bernhard Lang Version: V0.8 Hardware: MSDOS Languages: All (must allow comment lines) Formatter: LaTeX Availability: Anonymous ftp from: kirk.ti1.tu-harburg.de (134.28.41.50) /pub/fold2web/readme /pub/fold2web/fold2web.zip Readme: In distribution Description: The idea behind the Fold2Web tool is the following: A programmer can write his program source with a folding editor and later map the folded source files automatically to WEB-files. The generated WEB-files can then be modified by inserting required documentations. The advantage by starting program developement with original sources is to get short design cycles during the compile/debug steps. By using a folding editor the global structuring information can be already captured in folds during this developement phase. Fold information is typically stored in comment lines and thus will not affect the efficiency of the compile/debug design cycle. Some folding editors and a folding mode for the emacs are available (e.g. see our FUE folding editor for MSDOS machines which is a modified micro emacs. Pick it at kirk in directory /pub/fold2web). After reaching a stable version of a program source its time to convert the source file to a WEB-file and do the program documentation. Fold2Web is written to convert folded source text of any programming language to nuweb files. The folded structure is kept by mapping folds to scraps. Fold markers which differ between languages due to different ways of specifying comments can be configured for each language. Good results can also achived when given but poor documented program sources have to be modified. Such sources can be folded using a folding editor to extract the global structures. This offers a global view to the program structures and help to understand its functionality. Furthermore the program code is not affected, only comment lines are inserted. Once folded the program source can be automatically translated to a WEB document using the above tool. Support: email to lang@tu-harburg.d400.de 9.6. Funnelweb Mode Developer: Daniel Simmons Version: Unknown Availability: http://www.miscrit.be/~ddw Description: The other day I did a quick hack to nuweb.el as included with the nuweb distribution so as to make a funnelweb-mode.el. I've only used it briefly, and I'm sure that it can be improved quite a bit. I've been thinking about adding support for folding on sections, a pull-down menu to select macro definitions (like the recent functions posted to gnu.emacs.sources for a C function definition pull-down menu) and some kind of tags support for funnelweb. Support: Unknown 9.7. noweb.el Developer: Bruce Stephens Version: Unknown. Availability: LitProg archives (in an email message). Description: This is a very simple mode I just hacked up. There's a lot wrong with it, but I thought others may be interested, even as it stands. It *requires* text properties, and assumes those used in GNU Emacs 19.22; it'll quite likely work with Lucid Emacs, but I haven't tried it. I use it with auctex8.1 and cc-mode 3.229, both of which are loaded separately (I think my emacs is dumped with them, in fact). The idea is to have one mode (which calls itself c-mode, but actually has LaTeX-mode keybindings) generally (this means that the code is hilighted nicely), and have the code chunks use a different keymap. Support: Email to bruce@liverpool.ac.uk 9.8. nuweb.el Developer: Dominique de Waleffe Version: 1.99 Availability: Anonymous ftp from: LPA CTAN Description: Provides a major mode extending Auctex for editing nuweb files. Main features (in 2.0): - Edit scrap bodies in a separate buffer in a different mode (selected using emacs defaults for files, specific indication -*-mode-*-, or a buffer-local variable) - Extends Auctex commands so that nuweb is called before LaTeX, - Easy navigation on scrap definition and use points. - Now creates an imenu (C-M-mouse1) with user index entries, macro definition positions and file definition positions. Support: Email to ddw@acm.org 9.9. TIE Developer: Unknown Version: Unknown Hardware: Unknown Availability: Anonymous ftp from: LPA:/Tools Readme: Unknown Description: This software merges change files. Support: Unknown 9.10. Web mode Developer: Bart Childs Version: Unknown Tools supported: web, fweb, cweb, funnelweb Availability: Anonymous ftp from ftp.cs.tamu.edu:pub/tex-web/web/EMACS.web-mode thrain.anu.edu.au:pub/web/EMACS.web-mode Description: This version works with versions 18 and 19 of Emacs to be best of my knowledge. I have cleaned up a number of documentation items ... In the same directory is wm_refcard.tex which is an edited version of the famous one to include some web-mode commands. The files limbo* are related to its use and notice that half them have an uppercase L in them for LaTeX. The setup is based upon the fact that we (I am not alone here) primarily use FWEB for C and Fortran programming. We are using version 1.40 of FWEB although John Krommes warns that it is not mature and the manual is not yet updated. The info files are! We are using LaTeX almost exclusively. That will likely change and we will revert to version 1.30 if the final form of 1.40 cannot return to the simple section numbers and avoid the HORRIBLE LATEX 0.1.7.2.4.6 type section numbers. Support: Unknown 10. What other resources are available? 10.1. World Wide Web An untapped resource (by me anyway ;-) is the World Wide Web. Marcus Speh has expended considerable effort in this regard. If you're connected to WWW, then access: http://info.desy.de:80/user/projects/LitProg.html If you aren't connected to WWW, telnet to info.cern.ch and explore. You can reach Marcus' literate programming pages by typing: go http://info.desy.de:80/user/projects/LitProg.html or use a WWW browser and access the URL ftp://rtfm.mit.edu/pub/usenet/news-answers/www/resources/literate-programming Help for people who have only Email and neither WWW nor telnet, can be obtained by Email from TEST-LIST@INFO.CERN.CH by sending a message, SEND , for example, SEND http://info.desy.de:80/user/projects/LitProg.html to retrieve the LitProg library page. A help file can be retrieved by sending a message to the list server above with the text HELP in the body of the message. Instructions will be returned by email. For literate programming documents, you can try anonymous ftp to rtfm.mit.edu and retrieve the official Usenet resource file /pub/usenet/news.answers/www/resources/literate-programming 10.2. TeX Resources Another resource of interest to literate programmers is the comp.text.tex newsgroup. If you're using (La)TeX as your typsetting system and have access to internet, then you should investigate this resource. Another reason the TeX resources should be important is that so many of the literate programming tools rely on either plain TeX or LaTeX as their text formatter. (La)TeX software systems exist for most computing platforms. These systems can be found on CTAN and other major archive sites. Use archie to find them or simply ftp to one of the CTAN sites and browse. 11. Are there any code examples? Examples of web programs are included with the FWEB, CWEB, and noweb distributions. nuweb is written in itself. Cameron Smith converted the K&R calculator program into a literate program. It can be retrieved by anonymous ftp from: niord.shsu.edu [192.92.115.8] directory kr-cweb-sample as krcwsamp.zip or from LPA/Documentation Ross Williams has released a funnelweb example. You can retrieve this file from node ftp.adelaide.edu.au 129.127.40.3 as /pub/funnelweb/examples/except.* This file should be on CTAN as well. Lee Wittenberg has posted a few litprog examples. They are available via anonymous ftp from: ftp://samson.kean.edu/pub/leew/samples.LP The Stanford GraphBase is a large collection of programs by Don Knuth for doing all kinds of computations and games with graphs; it is writ- ten in (Levy/Knuth) CWEB. More details in the distribution. It is available via anonymous ftp from: labrea.stanford.edu:/pub/sgb 12. Bibliographies Nelson Beebe has collected an extensive bibliography treating literate programming. His work is available for anonymous ftp from ftp.math.utah.edu 128.110.198.2 in directory /pub/tex/bib as files: litprog.bib litprog.ltx litprog.twx. Although I have not verified this, LPA is an alternate source for these files. Note that they are updated frequently (Nelson says sev- eral times each week), so be sure to get a fresh copy before extensive use. Joachim Schrod indicates that these files may be updated daily and can be retrieved via anonymous ftp at LPA/documentation. 13. How to anonymously ftp Pretty much everything mentioned here is available by anonymous FTP. FAQ lists cross-posted to news.answers and rec.answers can be gotten from rtfm.mit.edu 18.181.0.24, under /pub/usenet/news.answers or under /pub/usenet/more.specific.group.name "anonymous FTP" is just a way for files to be stored where anyone can retrieve them over the Net. For example, to retrieve the latest version of the literate programming FAQ, do the following: > ftp rtfm.mit.edu /* connect to the site; message follows */ > anonymous /* type this when it asks for your name */ > /* type your address as the password */ > cd /pub/usenet /* go to the directory you want to be */ > cd comp.programming.literate /* one level down (no slash). */ > dir /* look at what's there */ > get literate-progamming-faq /* get the file; case-sensitive */ > quit /* stop this mysterious thing */ If your FTP program complains that it doesn't know where the site you want to use is, type the numerical address instead of the sitename: > ftp 18.181.0.24 /* connect with numerical address */ If you don't have ftp access, send e-mail to mail-server@rtfm.mit.edu with the single word "help" in the body of the message. Getting binary files (executables, or any compressed files) is only slightly more difficult. You need to set binary mode inside FTP before you transfer the file. > binary /* set binary transfer mode */ > ascii /* set back to text transfer mode */ FAQs and spoiler lists are generally ascii files; everything else is generally binary files. Some common extensions on binary files in archive sites are: .Z Compressed; extract with uncompress .tar.Z Compressed 'tape archive'; uncompress then untar or tar -xvf .gz or .z Gnu gzip; use gunzip (available from prep.gnu.ai.mit.edu) .sit (Mac) StufIt archive .zip Extract with Zip or Unzip .zoo Yet another archive/compress program .lhe (Amiga) ? .lzh Lha archive program. .arj (PC) Arj archive program. .exe (PC) Sometimes self-extracting archives-just execute them. .uue or .UUE Transfer as text file; use uudecode to convert to binary .hqx (Mac) BinHex format; transfer in text mode Generic help can be found in the FAQs of comp.binaries. for how to transfer, extract, and virus-check binary files. (At rtfm.mit.edu) If you can't FTP from your site, use one of the following ftp-by-mail servers: ftpmail@decwrl.dec.com ftpmail@src.doc.ic.ac.uk ftpmail@cs.uow.edu.au ftpmail@grasp.insa-lyon.fr For complete instructions, send a message reading "help" to the server. If you don't know exactly what you're looking for, or exactly where it is, there are programs and servers that can help you. For more info, send e-mail to mail-server@rtfm.mit.with with the body of the message reading send usenet/news.answers/finding-sources Thanks to Aliza R. Panitz (the "buglady") for this text. I copied it verbatim from her post on faq-maintainers with only minor modifications. 14. Acknowledgements This document would not have happened without the help of many people. Among them are Marcus Speh, George Greenwade, Rob Beezer, Joachim Schrod, Piet van Oostrum, and Ross N. Williams. A special thanks to Aliza R. Panitz for the text describing how to execute an anonymous ftp for files of interest. Any omissions from these acknowledgements should be considered an act of stupidity on my part. Of course, the authors of literate programming tools mentioned above all play a vital role in the vitality of literate programming. Furthermore, participants in the comp.programming.literate newsgroup (and associated mailing list) all contributed in various fashions. Thank all of you. 15. End notes This document will continue to evolve. I'm planning on adding entries for additional literate programming tools and will expand the sections on examples as more examples become available. Tools I will include are WEB (the original pascal version) for starters. Others will be added as I find and document them. Omission of a particular tool should not be considered a snub in any sense--simply an error or oversight on my part. 17-Dec-1997 19:01:20-GMT,1922;000000000001 Received: from plot79.math.utah.edu (beebe@plot79.math.utah.edu [128.110.198.3]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with ESMTP id MAA01800; Wed, 17 Dec 1997 12:01:19 -0700 (MST) From: "Nelson H. F. Beebe" Received: (from beebe@localhost) by plot79.math.utah.edu (8.8.5/8.8.5) id MAA09024; Wed, 17 Dec 1997 12:01:18 -0700 (MST) Date: Wed, 17 Dec 1997 12:01:18 -0700 (MST) To: LitProg@SHSU.edu, rvg@uic.nnov.ru Cc: beebe@math.utah.edu, LitProg@SHSU.edu X-US-Mail: "Center for Scientific Computing, University of Utah, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA" X-Telephone: +1 801 581 5254 X-FAX: +1 801 581 4148 X-URL: http://www.math.utah.edu/~beebe Subject: Re: Help: need PCL In-Reply-To: Your message of Wed, 17 Dec 1997 22:14:02 +0300 Message-ID: >> can somebody tel me where I can get "HP PCL programming gruide" ? In recent years, HP has not included manuals with printers that they (or their resellers) sell; however, they generally include a postcard that one can send in to get a copy of manuals. I did that here to get copies of the HP PCL and PostScript Technical Reference manuals. You may be able to find a part number for the documentation you need at http://www.hp.com/go/printers. ---------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - Center for Scientific Computing FAX: +1 801 581 4148 - - University of Utah Internet e-mail: beebe@math.utah.edu - - Department of Mathematics, 105 JWB beebe@acm.org - - 155 S 1400 E RM 233 beebe@ieee.org - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe - ---------------------------------------------------------------------------- 11-Dec-1997 13:28:11-GMT,877;000000000011 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id GAA25621 for ; Thu, 11 Dec 1997 06:28:10 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 11 Dec 1997 07:19:38 EST From: Haifeng Yu Subject: noweb Date: 11 Dec 1997 13:13:46 GMT Message-ID: <66ooua$mvg$1@elna.ethz.ch> Reply-To: LitProg@SHSU.edu, haiyu@mailexcite.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu can somebody point me in the direction where i can find a detailed description of what literate programming is and hence, what noweb is. 17-Dec-1997 18:49:45-GMT,839;000000000011 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id LAA01396 for ; Wed, 17 Dec 1997 11:49:43 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 17 Dec 1997 12:37:49 EST From: "Vitaliy G. Razvozhzhaev" Reply-To: LitProg@SHSU.edu, rvg@uic.nnov.ru Subject: Help: need PCL Date: Wed, 17 Dec 1997 22:14:02 +0300 Message-ID: <3498247A.C02C2DDB@uic.nnov.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu can somebody tel me where I can get "HP PCL programming gruide" ? Thanks . 18-Dec-1997 22:57:18-GMT,802;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id PAA12806 for ; Thu, 18 Dec 1997 15:57:17 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from imo16.mx.aol.com by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Thu, 18 Dec 1997 16:43:00 EST From: Stussy1035 Reply-To: LitProg@SHSU.edu, Stussy1035@aol.com Message-ID: Date: Thu, 18 Dec 1997 17:39:34 EST To: LitProg@SHSU.edu Subject: hello about pascal Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit do u have a pascal compiler if so can u send it to me Scott 19-Dec-1997 8:45:35-GMT,1665;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id BAA24726 for ; Fri, 19 Dec 1997 01:45:33 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from pp3.shef.ac.uk by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 19 Dec 1997 02:38:58 EST Received: from stoat.shef.ac.uk [143.167.2.1] by pp3.shef.ac.uk with smtp (Exim 1.62 #10) id 0xixxq-0001Nh-00; Fri, 19 Dec 1997 08:39:22 +0000 Received: from ch1dbc by stoat.shef.ac.uk with smtp (Exim 1.73 #1) id 0xixxp-00019V-00; Fri, 19 Dec 1997 08:39:21 +0000 Date: Fri, 19 Dec 1997 08:39:21 +0000 (GMT) From: D Cook Reply-To: LitProg@SHSU.edu, D.Cook@sheffield.ac.uk To: LitProg@SHSU.edu, Stussy1035@AOL.COM Subject: Re: hello about pascal Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Use p2c which is standard in the Slackware distribution of Linux Dr. David B. Cook The Dept. of Chemistry The University of Sheffield SHEFFIELD S3 7HF UK Phone +44 (0)114 2229528 FAX +44 (0)114 2738673 http://spider.shef.ac.uk/ ========================================================================= I forbore enlightenment in my youth, and became, as they say in melodramas, ``the wreck you now behold''. ========================================================================= On Thu, 18 Dec 1997, Stussy1035 wrote: > do u have a pascal compiler > if so can u send it to me > > Scott > 19-Dec-1997 11:45:49-GMT,1878;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id EAA27971 for ; Fri, 19 Dec 1997 04:45:48 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 19 Dec 1997 05:32:10 EST From: "Peter S. Housel" Reply-To: LitProg@SHSU.edu, housel@pacbell.net Subject: Re: Literate Programming and SGML Date: 19 Dec 1997 11:00:16 GMT Message-ID: <67dk40$o1a$1@elna.ethz.ch> To: LitProg@SHSU.edu Marc van Leeuwen wrote in message <666edt$bbh$1@murdoch.acc.Virginia.EDU>... >John Doe wrote: >> Literate programming has gone off in a direction quite different from >> that of SGML. Is anyone aware of any efforts to include SGML (not just >> HTML) in LP? >Are you sure you don't mean inclusion of LP in SGML (the scope of SGML >is much broader than that of LP)? As far as that is concerned, the >possibility to define a DTD for LP was once mentioned in this group, and >in principle it seems a good idea (better than to try to force LP into >an existing DTD such as HTML), but nobody seems to have volonteered to >to it... I've been programming in the Dylan language using an XML-based DTD for the past several months. James Clark's nsgmls (part of the SP package) parses the document; a simple Dylan program takes the output and "tangles" it into a set of Dylan module files. Jade and a DSSSL specification turns the document into an RTF or TeX file for printing, or into HTML for online browsing. It's not ready for public consumption yet, (not the least reason being that XML isn't an approved standard yet), but I'm pretty happy with it so far. -Peter S. Housel- housel at acm.org 19-Dec-1997 15:38:15-GMT,8943;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id IAA02368 for ; Fri, 19 Dec 1997 08:38:13 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 19 Dec 1997 09:03:37 EST From: Reply-To: LitProg@SHSU.edu, pfarson@ix.netcom.com Subject: Debt Consolidation Loan Program Date: 19 Dec 1997 06:35:21 GMT Message-ID: <67d4j9$9dc@sjx-ixn2.ix.netcom.com> To: LitProg@SHSU.edu We are not a direct loan company. This is not for a loan. We cut your debt by consolidating your unsecured bills, where a loan would not get you out of debt, but dig your hole even deeper. There is a FREE $10.00 Calling Card at the end of this message. No Credit Check Needed. No Collateral Needed. Bankruptcy and bad credit ok. Not Bankruptcy or New Credit Report Scam. This program is offered thru a company that has been in biz for over 4 years and over 10,000 satisfied clients behind it. To obtain your consolidation, please call: Chris Logan 1-800-769-0975 ext. 11 DEBT CONSOLIDATION LOAN PROGRAM NEED TO CONSOLIDATE YOUR UNSECURED BILLS? Are you one of thousands with no credit and no collateral to help secure approval, or you just have extremely bad credit and no one wants to help you, and all you hear is stories and more stories? NO COLLATERAL AND NO CREDIT CHECK!!!!!!!!! ---Turn around time is minimal. We are experienced and are determined to give you the best possible service. All information is strictly confidential. Program has been offered for over 4 years and has over 10,000 satisfied customers. Experienced staff of knowledgeable specialists assure that all accounts are processed in a timely, accurate manner, and are in communication with the nations leading creditors. BILL CONSOLIDATION. There is NO CREDIT CHECK for this program. You can be approved for this program even if you have credit problems- including bankruptcy. No co-signers. No collateral. Virtually everyone is qualified, since there is a program to fit nearly everyone's needs. Through this unique program you will find it easy to obtain a consolidation of all your bills into one monthly payment! If you have not yet established credit, have late payments, charge- offs, repossessions, judgments, liens, prior bankruptcy, or have been turned down previously for the cash or credit you needed --then this program is for you. To obtain your consolidation, please call: Chris Logan 1-800-769-0975 ext. 11 SAMPLE PROGRAM INFORMATION The goal of the program is to restructure your debt. We make it easier and more affordable for you to pay your monthly unsecured bills (credit cards, personal loans, student loans and medical bills, etc.) SHORT TERM BENEFITS: 1. You will have one single payment per month, we issue the payment directly to creditors. 2. We will attempt to lower your monthly payments, enabling you to afford paying your bills each month. 3. We assist you in stopping creditor harassment. 4. We recommend closing your accounts and work towards lowering your debt to income ratio. To be eligible for the buy-out of one or more high interest debts we have a 6-12 month probationary period during which you must qualify for the Probationary Review.* This tell us..... 1. You are being responsible to your creditors 2. You are financially able to make reduced monthly payments. 3. Your monthly payments are being received If you meet the Probationary Review* qualifications, you will be reviewed. If it is determined that you are eligible for the buy-out, then one or more high interest debt accounts will be bought out. These accounts will be closed.. LONG TERM BENEFITS: 1-4 short term benefits 5. Bought out account balances are brought to zero 6. You will get a more reasonable interest rate on bought out accounts, up to 20% less 7. You will start to re-establish your credit rating because bought-out account balances will show zero. Your credit rating will be rehabilitated while you are paying loan to us because we will report to the credit bureaus when you are current in your payments. If and when you qualify for the buy-out. Accounts will be purchased that are most beneficial to you. This means accounts with the highest interest rates. To obtain your consolidation, please call: Chris Logan 1-800-769-0975 ext. 11 YES, Through this unique program you can get the FINANCIAL RELIEF YOU NEED!! If you have credit problems, then this program is designed just for you! Your chances are excellent for approval. We operate entirely by mail. Call today to get started. NOW YOU CAN GET A BILL CONSOLIDATION EVEN IF YOU HAVE BAD CREDIT! Do you need to consolidate bills, lower monthly payments, cut interest payments, or any other worthwhile purpose for a consolidation? Are you unable to get approval because a problem with your credit record has caused banks to turn you down in the past? If you have a credit problem, then we can help! This letter is your invitation to participate in our "DEBT CONSOLIDATION LOAN PROGRAM." At "PEOPLES CREDIT SERVICES" we understand if you have had problems with credit and believe you deserve a second chance! Credit is a necessity in todays society--no one plans to get bad credit. It is usually an unexpected event that triggers the fall, such as a family break-up, lay-off from work, medical problems, or just simply letting your bills get away from you. It takes years to build up good credit but only a couple missed payments to destroy your credit rating. Once you have left the circle of good credit, nobody wants to give you another chance. You may be a quality person with a steady job and a bright future but are the victim of the "DENIAL" mentality of many lenders that prohibits you from getting help you need when you need it most. But now you no longer have to take "NO" for an answer! PEOPLES CREDIT SERVICES was founded to-provide assistance to individuals with credit problems. We feel that a negative credit history should not stand in the way from you receiving help you need--even if you have late payments, charge-offs, repossessions, or have been recently turned down. You see, we've discovered a surprising fact: Individuals will credit problems are more likely to fulfill new obligations because they appreciate the second chance that they worked hard for, and want to put their negative experience behind them. They want to re-establish good credit and start fresh. At "P.C.S." we want to maintain a helpful relationship with you--We don't view our clients as account numbers. To obtain your consolidation, please call: Chris Logan 1-800-769-0975 ext. 11 Probationary Period Review: 1. You must be a collection payment program member for at least six months. 2. Your payments must be received in our office on or before the due date. 3. Your payments must be in the form of a money order, personal checks are not excepted. 4. You can not have applied for or had existing credit extended during this probationary period. 5. Your employment status at the time of the review and buy-out must equal to or be greater than your status at the start of the program. 6. Your income must be verified by you employer and W2 form. If you are self employed you must provide your most recent tax return. 7. You must have references of four relatives who can verify your address, phone number, employment phone number, at least 30 days prior to the change. 8. You must notify us of any changes in address, phone number, employment phone prior to change. 9. You must comply with any requests for further information. ---------------------------------------------------------------------------------------------- | This is a FREE $10.00 CALLING CARD! | | | | To Activate This Calling Card | | Call 1-800-962-2190 Acct Rep: PF569022 | | | | They give you a card number: __ __ __ __ __ __ __ __ __ __| | | | To use dial: 1) 1-888-TEL3-444 2) Enter your card #, | | 3) Dial 1 + Area Code + Number. ## Places another call. | ---------------------------------------------------------------------------------------------- 19-Dec-1997 16:26:02-GMT,3708;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA03455 for ; Fri, 19 Dec 1997 09:25:59 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from relay3.Austria.EU.net by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 19 Dec 1997 10:10:32 EST Received: from shraero.UUCP (uucp@localhost) by relay3.Austria.EU.net (8.8.8/8.8.8) with UUCP id QAA17731 for LitProg@SHSU.edu; Fri, 19 Dec 1997 16:52:42 +0100 (MET) Received: from uranus.co.at. by shraero.co.at (SMI-8.6/SMI-SVR4) id QAA29652; Fri, 19 Dec 1997 16:06:53 +0100 Received: by uranus.co.at. (SMI-8.6/SMI-SVR4) id QAA05766; Fri, 19 Dec 1997 16:08:55 +0100 Date: Fri, 19 Dec 1997 16:08:55 +0100 Message-ID: <199712191508.QAA05766@uranus.co.at.> To: LitProg@SHSU.edu Subject: Interaction between noweb and LaTeX ifthenelse From: roland.kaufmann@shraero.shraero.co.at Reply-To: LitProg@SHSU.edu, roland.kaufmann@shraero.shraero.co.at Hello Literati, I had some problems using LaTeX conditionals with noweb (see the web at the end of the message). Is there a known workaround? -- best regards a Merry Christmas and a Happy New Year to you all Roland Kaufmann Roland Kaufmann roland.kaufmann@space.at Senior Systems Engineer/Systems Design Phone: +43 1 80199 5563 Austrian Aerospace Fax: +43 1 80199 6950 Breitenfurterstr. 106-108 A-1120 Vienna, AUSTRIA -- \documentstyle[noweb,twoside,ifthen]{article} \pagestyle{noweb} \noweboptions{} \title{A {\tt noweb} Problem?} \author{Roland Kaufmann} % Nonzero value causes certain parts of the document to be printed \newcounter{Print} % Beginnings of an analytical \setcounter{Print}{1} % description of the image reject mixer \begin{document} There seems to be some interaction between {\tt noweb}(2.7) and the \LaTeX ifthenelse command. Is this This is a {\tt noweb} web with an optional part. Under certain conditions (see below), \LaTeX gets confused. \begin{verbatim} $ noweave -delay -index foo.nw | cpif foo.tex > latex foo.tex This is emTeX (tex386), Version 3.14159 [4a] (preloaded format=latex2e 96.10.30) 19 DEC 1997 15:26 **&latex2e foo.tex (foo.tex LaTeX2e <1995/06/01> patch level 3 Hyphenation patterns for loaded. ... File: latex209.def 1995/07/07 v0.47 Standard LaTeX file Entering LaTeX 2.09 compatibility mode. ... w:/emtex/texinput/local/noweb.sty ... Package: ifthen 1995/04/25 v1.0k Standard LaTeX ifthen package (DPC) ... (\end occurred inside a group at level 1) \end{verbatim} \ifthenelse{\value{Print} = 0}{ This part is not completed yet.\\}{ Here we have a document part which is only included conditionally. @ You know how hard it is to write something interesting here. <>= This is foo. I wonder whether noweave respects my line- breaks or not. It uses << bar >> and << baz >> @ @ %def foo If the [[%def foo]] above is put before the {\tt @} starting this documentation chunk, \LaTeX gets confused. Excerpts from the log file are shown in a verbatim environment above. In both cases, the line breaking in chunk [[foo]] is not respected. << bar >>= A place to drink. @ Another tiny chunk. << baz >>= a silly name. @ This is the end of the optional part for now. } % endif @ Now we're back in the fixed document part. \section{Chunks} \nowebchunks \twocolumn[\section{Index}] \nowebindex @ \end{document} % foo.nw ends here. 19-Dec-1997 17:54:34-GMT,1055;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA05643 for ; Fri, 19 Dec 1997 10:54:33 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Fri, 19 Dec 1997 11:43:29 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@virginia.edu Subject: New Noweb Hackers' Guide Date: 19 Dec 1997 17:23:21 GMT Message-ID: <67eai9$31d$1@news.interlog.com> To: LitProg@SHSU.edu A while ago I threatened to add a new keyword to the noweb pipeline representation the better to support language-dependent tools. I have now updated the Hackers' Guide to describe the proper use of the new keyword. Go forth now and write tools that support it! Norman P.S. See http://www.cs.virginia.edu/~nr/noweb/guide.ps for info. -- Norman Ramsey http://www.cs.virginia.edu/~nr 23-Dec-1997 12:16:04-GMT,872;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id FAA11625 for ; Tue, 23 Dec 1997 05:16:03 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 23 Dec 1997 06:08:54 EST From: Piet van Oostrum Reply-To: LitProg@SHSU.edu, piet@cs.ruu.nl Subject: Python Literate Programming Date: 23 Dec 1997 12:00:16 GMT Message-ID: <67o94g$lsj$1@elna.ethz.ch> To: LitProg@SHSU.edu Does anybody have any experience with literate programming for Python? If so, which systems? -- Piet van Oostrum URL: http://www.cs.ruu.nl/~piet [PGP] Private email: Piet.van.Oostrum@pi.net 23-Dec-1997 19:35:08-GMT,4000;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA19889 for ; Tue, 23 Dec 1997 12:35:07 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 23 Dec 1997 13:17:37 EST From: Reply-To: LitProg@SHSU.edu, phone3@earthlink.net Subject: FREE ONLINE BUSINESS--- FREE SOFTWARE Date: 23 Dec 1997 10:53:30 GMT Message-ID: <67o57a$kf8@sjx-ixn7.ix.netcom.com> To: LitProg@SHSU.edu ########################################### | This is a FREE $10.00 CALLING CARD! | | | | To Activate This Calling Card | | Call 1-800-962-2190 Acct Rep: PF569022 | | | | They give you a card number: __ __ __ __ __ __ __ __ __ __| | | | To use dial: 1) 1-888-TEL3-444 2) Enter your card #, | | 3) Dial 1 + Area Code + Number. ## Places another call. | ########################################### (hand these out in your biz and use it to build traffic, must use rep# above) Merry X-mas and Happy News Year!!!!!!!!!!! WHAT IF? I could provide YOU with a $400 BULK EMAIL SOFTWARE and LOW COST LONG DISTANCE, plus your OWN HOME BUSINESS FOR FREE? AND WHAT IF? I also provide YOU with a FREE Web Page, and a FREE Marketing Package that includes ads, letters, and much more? I thought that might interest YOU. Let me explain. About 95% will throw this letter away and stay in the rat race without finding out what I have to offer. So, if you are part of the 95% with no confidence in yourself or anyone else; go ahead an throw it away NOW. BECAUSE I am looking for those that have ambition enough to want to try to better themselves. If YOU are still with me, I have some great news. There are NO Startup Costs! NO Sign Up Fee! NO Minimum Volume! NO Meetings! AND You don't have to wonder about how to build your business. Just follow a proven plan. It's that simple. If you are serious about your financial future, reply to this message and put "FREEDOM" in the subject. phone6@juno.com Your financial future is within your grasp. I have the answer to your business growth problems. "Free"! READ ON, I WILL "NOT" ASK YOU TO SPEND ANY MONEY! You don't want to trash this one! I "WILL" give you absolutely "Free" a New Software called "Freedom", that sells for $400. I WILL NOT ASK FOR ANY MONEY! Freedom software allows you to extract email addresses from the newsgroups, AOL subscribers, Etc. Freedom has many features, including easy extractions of the addresses you need to flag for removal. You can extract a "batch" of a few hundred, or a "catagory" of thousands at a time. Will your business "EXPLODE"? You bet it will! IT HAS TO!!!! You will become a part of the "ONLY DOWNLINE IN THE ENTIRE WORLD" THAT HAS THIS CAPABLITY! Along with "Freedom", I provide you with a "GREAT", "FREE BUSINESS", that you can promote on the internet and off. Use Freedom in the business I provide for you, or "Freedom" in your current business. For quick and FREE details, just send an email to: phone6@juno.com and you will receive information about this exciting opportunity right away! I look forward to your response. P.C.S #PF569022 PO Box 1665 Peoria, IL. 61656 (309)679-0915 fax 24-Dec-1997 0:53:14-GMT,1292;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id RAA26156 for ; Tue, 23 Dec 1997 17:53:12 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 23 Dec 1997 18:44:05 EST From: glassy@finn.nervana.montana.edu (lou at finn) Reply-To: LitProg@SHSU.edu, glassy@finn.nervana.montana.edu Subject: Re: Python Literate Programming Date: 23 Dec 1997 22:03:06 GMT Message-ID: To: LitProg@SHSU.edu I have been using noweb+python for some very small projects I've been working on. This combination seems to work well; one needs to be careful with the indentation of the code chunks, but this reflects a defect in python, not noweb. I can email/post a noweb+python file, if you wish. On 23 Dec 1997 12:00:16 GMT, Piet van Oostrum wrote: >Does anybody have any experience with literate programming for Python? >If so, which systems? >-- >Piet van Oostrum >URL: http://www.cs.ruu.nl/~piet [PGP] >Private email: Piet.van.Oostrum@pi.net 24-Dec-1997 3:35:46-GMT,2378;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id UAA28974 for ; Tue, 23 Dec 1997 20:35:44 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 23 Dec 1997 21:24:51 EST From: Reply-To: LitProg@SHSU.edu, Mail_Offerz@earthlink.net Subject: No Credit Check Consolidations Manual Date: 23 Dec 1997 18:57:02 GMT Message-ID: <67p1hu$r5u@dfw-ixnews11.ix.netcom.com> To: LitProg@SHSU.edu Interested in consolidating all your bills into one simple monthly payment? With our program we will show you how to build good credit while consolidating your debt. You are guaranteed to obtain a Consolidation Account thru at least TWO Debt Consolidation Companies or your money back. These companies are not direct loan companies and work for you. No Credit Check Needed. Cut your monthly bills by as much as 65% These bill payment services will cut your debt-to-income ratio After probationary period, debts can be bought out. With our manual you will be able to consolidate your bills, build good credit, and all regardless of your past credit problems. Again, with our manual, you will receive a referral to TWO companies that will consolidate your bills regardless of past credit, GUARANTEED. We for a limited time will also inclose a FREE $10.00 Calling Card for ordering our manual. ------------------------------------------------------------------------------------------------------------------- To order your copy you may print the form below and mail with $12.95 to: Peoples Credit Services P.O. Box 1665 Peoria, IL. 61656 Name:____________________________________________________________________ Address:__________________________________________________________________ ______________________________________________Zip Code_____________ How do you rate your credit: ______ Very Good ______ Good ______ Bad How much are you looking to consolidate:$___________________ What is your monthly income:$_________________ -------------------------------------------------------------------------------------------------------------------- 24-Dec-1997 14:04:22-GMT,1059;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id HAA09743 for ; Wed, 24 Dec 1997 07:04:21 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 24 Dec 1997 07:53:21 EST From: skaller@zip.com.au (John (Max) Skaller) Subject: Re: Python Literate Programming Date: 24 Dec 1997 13:48:21 GMT Message-ID: <67r3r5$kd4$1@elna.ethz.ch> Reply-To: LitProg@SHSU.edu, skaller@zip.com.au To: LitProg@SHSU.edu On 23 Dec 1997 12:00:16 GMT, wrote: >Does anybody have any experience with literate programming for Python? >If so, which systems? Well ... no, but I'm writing a literate programming system _in_ Python :-) John Max Skaller ph:61-2-96600850 mailto:skaller@zip.com.au 10/1 Toxteth Rd http://www.zip.com.au/~skaller Glebe 2037 NSW AUSTRALIA 24-Dec-1997 15:24:01-GMT,2193;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id IAA11122 for ; Wed, 24 Dec 1997 08:24:00 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 24 Dec 1997 09:11:20 EST From: "Kenneth S. Brittain" Reply-To: LitProg@SHSU.edu, kbrittai@apcc.com Subject: Noweb and Win32 Date: Wed, 24 Dec 1997 09:50:27 -0500 Message-ID: <34A12133.8C7@apcc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.edu Noweb and Win32 has not been as friendly as it has been in the past (to me!). I had been using the Win32 version Lee Wittenberg(SP?) made with the GNU Win32 toolset. However, I recently moved from a contract to a full-time position at another company. I left behind my trusty Win32 Noweb distribution. So like good nowebber I went to Norman's site and got the *latest* Noweb distribution. I followed the instructions and installed the DOS then Win32 binaries. This did not work under NT4 SP3. I then got the Perl for Win32. Noweb worked *mostly* (after I got rid of the DOS perll stuff). The backends were still being a problem. I went to get the Icon distribution. It is only available (as far as I can see) for NT in beta form. I recompiled the *.icn files and put them into my tree. Noweb still does not work. The Icon files are compiled into BAT files. These files then wreck the noweb pipeline (as expected). Has anyone made Noweb run under NT4? On my own time I use Linux and have had no problems. However, I get paid to program NT and would like Noweb to run. If no one else has *easily* done this I would take it upon myself to come up with build/rebuild Noweb in the GNU/Win32 fashion. Of course I would prefer to *install* something that already works...but that is just me! Any comments would be appreciated. -- * Kenneth S. Brittain is * The views expressed are my own and not that of my employer. 24-Dec-1997 16:27:58-GMT,2442;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA12246 for ; Wed, 24 Dec 1997 09:27:57 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from vms.rhbnc.ac.uk by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 24 Dec 1997 10:20:11 EST Date: Wed, 24 Dec 1997 16:17:38 GMT From: Philip Taylor (RHBNC) Reply-To: LitProg@SHSU.edu, P.Taylor@vms.rhbnc.ac.uk To: 4TeX@nic.surfnet.nl, all-tug-members@tug.org, CSTeX@cs.felk.cvut.cz, CyrTeX-t2@vvv.vsu.ru, Cyrtug@Mir.Msk.Su, Ellhnika@urz.uni-heidelberg.de, Emtex-User@physik.tu-berlin.de, Gust-L@Man.Torun.Pl, Gut@Ens.Fr CC: CHAA006@vms.rhbnc.ac.uk Message-ID: <971224161738.1350@vms.rhbnc.ac.uk> Subject: TUG'98: Call for papers closes on 30th January 1998 Dear Colleague -- I hope that by now you are aware of the location and timing of the 1998 TeX User Group conference, TUG'98: Torun, Poland, between 17th and 21st August 1998. I also hope that you will consider proposing a paper, or offering a poster display, for that conference. The theme of the conference is "Integrating TeX with the Surrounding World", and papers which specifically address that theme will be most welcome, although papers on any topic which is relevant to TeX, typography, and/or electronic publishing will be considered. If you are considering proposing a paper or offering a poster session, please be aware that the last date for receipt of proposals is 30th January 1998. Further details are available from the TUG'98 web pages: http://www.tug.org/tug-98/ (general information) http://www.tug.org/tug-98/call.html (call for papers) If for any reason the TUG server is down, the same documents can be found at: http://www.rhbnc.ac.uk/tug-98/ (general information) http://www.rhbnc.ac.uk/tug-98/call.html (call for papers) I look forward to finding many proposals in my mailbox when I return in the New Year! A very merry Christmas and happy New Year to you all. Philip Taylor, Chairman: TUG'98 Programme Committee P.S. Apologies if you receive more than one copy of this message: it is being sent to all known TeX-related lists, and many of you may well be members of more than one such list. 24-Dec-1997 16:34:48-GMT,2220;000000000001 Received: from vms.rhbnc.ac.uk (alpha1.rhbnc.ac.uk [134.219.201.113]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id JAA12104 for ; Wed, 24 Dec 1997 09:21:20 -0700 (MST) Date: Wed, 24 Dec 1997 16:17:38 GMT From: Philip Taylor (RHBNC) Reply-To: P.Taylor@vms.rhbnc.ac.uk To: 4TeX@nic.surfnet.nl, all-tug-members@tug.org, CSTeX@cs.felk.cvut.cz, CyrTeX-t2@vvv.vsu.ru, Cyrtug@Mir.Msk.Su, Ellhnika@urz.uni-heidelberg.de, Emtex-User@physik.tu-berlin.de, Gust-L@Man.Torun.Pl, Gut@Ens.Fr CC: CHAA006@vms.rhbnc.ac.uk X-Vmsmail-To: @TEX-LISTS X-Vmsmail-Cc: CHAA006 Message-Id: <971224161738.1350@vms.rhbnc.ac.uk> Subject: TUG'98: Call for papers closes on 30th January 1998 Dear Colleague -- I hope that by now you are aware of the location and timing of the 1998 TeX User Group conference, TUG'98: Torun, Poland, between 17th and 21st August 1998. I also hope that you will consider proposing a paper, or offering a poster display, for that conference. The theme of the conference is "Integrating TeX with the Surrounding World", and papers which specifically address that theme will be most welcome, although papers on any topic which is relevant to TeX, typography, and/or electronic publishing will be considered. If you are considering proposing a paper or offering a poster session, please be aware that the last date for receipt of proposals is 30th January 1998. Further details are available from the TUG'98 web pages: http://www.tug.org/tug-98/ (general information) http://www.tug.org/tug-98/call.html (call for papers) If for any reason the TUG server is down, the same documents can be found at: http://www.rhbnc.ac.uk/tug-98/ (general information) http://www.rhbnc.ac.uk/tug-98/call.html (call for papers) I look forward to finding many proposals in my mailbox when I return in the New Year! A very merry Christmas and happy New Year to you all. Philip Taylor, Chairman: TUG'98 Programme Committee P.S. Apologies if you receive more than one copy of this message: it is being sent to all known TeX-related lists, and many of you may well be members of more than one such list. 24-Dec-1997 16:40:22-GMT,2881;000000000001 Received: from relay.urz.uni-heidelberg.de (relay.urz.uni-heidelberg.de [129.206.119.201]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with ESMTP id JAA12484 for ; Wed, 24 Dec 1997 09:40:14 -0700 (MST) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id RAA11145; Wed, 24 Dec 1997 17:38:23 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 256955 for TEX-EURO@RELAY.URZ.UNI-HEIDELBERG.DE; Wed, 24 Dec 1997 17:38:22 +0100 Received: from vms.rhbnc.ac.uk (alpha1.rhbnc.ac.uk [134.219.201.113]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id RAA11138 for ; Wed, 24 Dec 1997 17:38:20 +0100 (MET) Message-ID: <971224163829.1350@vms.rhbnc.ac.uk> Date: Wed, 24 Dec 1997 16:38:29 GMT Reply-To: P.Taylor@vms.rhbnc.ac.uk Sender: TeX-Euro Distribution List for European TeX Users From: "Philip Taylor (RHBNC)" Subject: TUG'98: Call for papers closes on 30th January 1998 Comments: To: GUT@ENS.FR, METAFONT@ENS.FR, OMEGA@ENS.FR To: Multiple recipients of list TEX-EURO Dear Colleague -- I hope that by now you are aware of the location and timing of the 1998 TeX User Group conference, TUG'98: Torun, Poland, between 17th and 21st August 1998. I also hope that you will consider proposing a paper, or offering a poster display, for that conference. The theme of the conference is "Integrating TeX with the Surrounding World", and papers which specifically address that theme will be most welcome, although papers on any topic which is relevant to TeX, typography, and/or electronic publishing will be considered. If you are considering proposing a paper or offering a poster session, please be aware that the last date for receipt of proposals is 30th January 1998. Further details are available from the TUG'98 web pages: http://www.tug.org/tug-98/ (general information) http://www.tug.org/tug-98/call.html (call for papers) If for any reason the TUG server is down, the same documents can be found at: http://www.rhbnc.ac.uk/tug-98/ (general information) http://www.rhbnc.ac.uk/tug-98/call.html (call for papers) I look forward to finding many proposals in my mailbox when I return in the New Year! A very merry Christmas and happy New Year to you all. Philip Taylor, Chairman: TUG'98 Programme Committee P.S. Apologies if you receive more than one copy of this message: it is being sent to all known TeX-related lists, and many of you may well be members of more than one such list. 24-Dec-1997 16:53:45-GMT,2863;000000000001 Received: from relay.urz.uni-heidelberg.de (relay.urz.uni-heidelberg.de [129.206.119.201]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with ESMTP id JAA12751 for ; Wed, 24 Dec 1997 09:53:37 -0700 (MST) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id RAA10914; Wed, 24 Dec 1997 17:20:41 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 256937 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Wed, 24 Dec 1997 17:20:40 +0100 Received: from vms.rhbnc.ac.uk (alpha1.rhbnc.ac.uk [134.219.201.113]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id RAA10884; Wed, 24 Dec 1997 17:20:05 +0100 (MET) X-Vmsmail-To: @TEX-LISTS X-Vmsmail-Cc: CHAA006 Message-ID: <971224161738.1350@vms.rhbnc.ac.uk> Date: Wed, 24 Dec 1997 16:17:38 GMT Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: "Philip Taylor (RHBNC)" Subject: TUG'98: Call for papers closes on 30th January 1998 To: Multiple recipients of list LATEX-L Dear Colleague -- I hope that by now you are aware of the location and timing of the 1998 TeX User Group conference, TUG'98: Torun, Poland, between 17th and 21st August 1998. I also hope that you will consider proposing a paper, or offering a poster display, for that conference. The theme of the conference is "Integrating TeX with the Surrounding World", and papers which specifically address that theme will be most welcome, although papers on any topic which is relevant to TeX, typography, and/or electronic publishing will be considered. If you are considering proposing a paper or offering a poster session, please be aware that the last date for receipt of proposals is 30th January 1998. Further details are available from the TUG'98 web pages: http://www.tug.org/tug-98/ (general information) http://www.tug.org/tug-98/call.html (call for papers) If for any reason the TUG server is down, the same documents can be found at: http://www.rhbnc.ac.uk/tug-98/ (general information) http://www.rhbnc.ac.uk/tug-98/call.html (call for papers) I look forward to finding many proposals in my mailbox when I return in the New Year! A very merry Christmas and happy New Year to you all. Philip Taylor, Chairman: TUG'98 Programme Committee P.S. Apologies if you receive more than one copy of this message: it is being sent to all known TeX-related lists, and many of you may well be members of more than one such list. 24-Dec-1997 17:23:11-GMT,2291;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id KAA13466 for ; Wed, 24 Dec 1997 10:23:08 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 24 Dec 1997 11:09:17 EST From: LEE WITTENBERG Reply-To: LitProg@SHSU.edu, leew@cs.utk.edu Subject: Re: Noweb and Win32 Date: 24 Dec 1997 16:52:36 GMT Message-ID: <67rekk$amj$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On Wed, 24 Dec 1997, Kenneth S. Brittain wrote: > . These files then wreck the noweb pipeline (as expected). Has > anyone made Noweb run under NT4? > > On my own time I use Linux and have had no problems. However, I get paid > to program NT and would like Noweb to run. If no one else has *easily* > done this I would take it upon myself to come up with build/rebuild > Noweb in the GNU/Win32 fashion. Of course I would prefer to *install* > something that already works...but that is just me! Funny you should mention this. Sylvester Fernandez has already put together the stuff needed for NT 4.0. He sent it to me a while ago, and I promised to make it available via ftp (but I forgot -- sorry). Anyway, Sylvester's stuff is now available at ftp://samson.kean.edu/pub/leew/noweb/NT-NOWEB28A.ZIP It's not a complete package -- you need to add the beta 1.18 release of the GNU WIN32 utilities (somewhere under http://www.cygnus.com/, I think) and nticont an nticonx (from ftp://ftp.cs.arizona.edu/, or something like that). Perhaps Sylvester can be persuaded to include these in his package. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Computer Science Department | Read the directions, even if you don't Kean University | follow them. Union, NJ 07083 | | -- attributed to Kurt Vonnegut leew@samson.kean.edu | ------------------------------------------------------------------------ 24-Dec-1997 18:30:44-GMT,1611;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id LAA14856 for ; Wed, 24 Dec 1997 11:30:37 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Wed, 24 Dec 1997 12:22:25 EST From: Jane Anderson / Monty Zukowski Subject: Re: Python Literate Programming Date: 24 Dec 1997 17:07:04 GMT Message-ID: <67rffo$atf$1@murdoch.acc.Virginia.EDU> Reply-To: LitProg@SHSU.edu, jamz@cdsnet.net MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit To: LitProg@SHSU.edu I wrote "Implementing a Selective Undo Framework in Python" as a python literate program. under http://www.python.org/workshops/1997-10/proceedings you will find links to the html and PostScript versions. I used "noweb", http://www.cs.virginia.edu/~nr/noweb/ I had never used LaTeX before and found that to be the most difficult part to learn. Just getting it to run on Windows 95 was a challenge too. It runs fine on any Unix system, though. I found it to be a great way to explain what I was doing. I think there are lots of insights I would not have had if I had just focused on getting the source code ready without too much explanation. It was kinda weird using "make" for python programs though... but it was a big help because there are a few stages to making both source and documents. Monty 23-Dec-1997 21:55:06-GMT,1497;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id OAA22734 for ; Tue, 23 Dec 1997 14:55:05 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 23 Dec 1997 15:47:36 EST From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@samson.kean.edu Subject: Re: Python Literate Programming Date: 23 Dec 1997 21:27:27 GMT Message-ID: <67pabv$epc$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: LitProg@SHSU.edu On 23 Dec 1997, Piet van Oostrum wrote: > Does anybody have any experience with literate programming for Python? > If so, which systems? No, but I don't see why noweb (or any of the other language-independents) wouldn't work. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | When people talk about other people being Computer Science Department | smart or dumb, they don't really mean Kean University | smart or dumb. They really mean rich or Union, NJ 07083 | poor. | -- Howard Singer leew@samson.kean.edu | "Wake Me When It's Over" (1959) ------------------------------------------------------------------------ 30-Dec-1997 18:56:00-GMT,2218;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id LAA09378 for ; Tue, 30 Dec 1997 11:55:59 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 30 Dec 1997 12:38:47 EST From: kbrittai@apcc.com (Ken Brittain) Reply-To: LitProg@SHSU.edu, kbrittai@apcc.com Subject: More Noweb on Win32 Date: 30 Dec 1997 18:21:20 GMT Message-ID: <68be30$8mt$1@murdoch.acc.Virginia.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" To: LitProg@SHSU.edu Thanks to Lee Wittenberg for making NT Noweb 2.8a available by FTP (and thanks to Sylvester Fernandez for making it!) I have everything installed and working (about 95%). I have come across the following: The nticon*.exe files that are listed in the Noweb FAQ does not run the icon files in the NT Noweb distribution. I recompiled the *.icn files from the original Noweb distribution (from Norman's site) and placed them into the NT distribution. What versions were used for the NT distribution? Did I install nticon*.exe wrong? I just put them on my path. Filters and autodefs do not work. I believe this to be the pipeline getting completely hosed as my nticont makes a BAT file for the icon executable. BAT files and pipeline stuff do not mix that well. The process just hangs as the filter is waiting for input. I have Noweb installed in MSVC++ 5.0 and functioning. I am limited to HTML as my markup because I cannot get filters (l2h) working properly. Any ideas? I remember reading on Norman's page something about making Noweb all 'C' code. I don't think he was offering to do it but merely throwing it out there as a possibility. Has anyone thought more on the subject? I have been toying with the idea of creating an all 'C' version of Noweb. Compile and plop the executables on your path - Done! It sounds enticing but I have yet to undertake this. * Kenneth S. Brittain is * The views expressed are my own and not that of my employer. 30-Dec-1997 19:38:58-GMT,1407;000000000001 Received: from Niord.shsu.edu (niord.shsu.edu [192.92.115.8]) by csc-sun.math.utah.edu (8.8.5/8.8.5) with SMTP id MAA10290 for ; Tue, 30 Dec 1997 12:38:56 -0700 (MST) X-ListName: Literate Programming Discussion List Warnings-To: <> Errors-To: owner-litprog@SHSU.edu Sender: owner-litprog@SHSU.edu Received: from MVB.SAIC.COM by Niord.shsu.edu (MX V4.1 AXP) with SMTP; Tue, 30 Dec 1997 13:16:57 EST From: Norman Ramsey Reply-To: LitProg@SHSU.edu, nr@cs.virginia.edu Subject: Re: More Noweb on Win32 Date: 30 Dec 1997 19:04:13 GMT Message-ID: <68bgjd$a1s$1@murdoch.acc.Virginia.EDU> To: LitProg@SHSU.edu In article <68be30$8mt$1@murdoch.acc.Virginia.EDU>, Ken Brittain wrote: >I remember reading on Norman's page something about making Noweb all 'C' code. >I don't think he was offering to do it but merely throwing it out there as a >possibility. Has anyone thought more on the subject? I have been toying with >the idea of creating an all 'C' version of Noweb. Compile and plop the >executables on your path - Done! It sounds enticing but I have yet to >undertake this. Garrett Prestwood, a 4th-year student here at UVa, is doing his senior thesis on `solving portability and performance problems in noweb'. His work, if successful, should lead to `noweb in a single binary' sometime next summer. Norman