From LP-Mgr@SHSU.edu Sat Aug 1 05:36:12 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA06859; Sat, 1 Aug 92 05:36:09 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from salmon.maths.tcd.ie by Niord.SHSU.edu (MX V3.1B) with SMTP; Sat, 01 Aug 1992 06:08:43 CDT From: Timothy Murphy Reply-To: LITPROG@SHSU.edu Subject: Re: LitProg: A "Tempest in a Teapot"? To: LITPROG@SHSU.edu In-Reply-To: Marcus Speh's message of Sat, 1 Aug 92 03:09:53 +0200 Date: Sat, 1 Aug 92 12:07:03 BST Sender: tim@maths.tcd.ie Message-Id: <9208011207.aa03598@salmon.maths.tcd.ie> Psst. DEK isn't listening, is he? I wonder has he got a mole in this group? The truth is, only pointy-heads and weirdos use plain TeX nowadays. Everybody else in the world, including Dan Quayle, is using LaTeX. That's the main reason, IMHO, for the relative failure of WEB (as opposed to TeX itself). Life is too short to study webmac, when one could be listening to Enya. Timothy Murphy e-mail: tim@maths.tcd.ie tel: +353-1-2842366 (home/office) +353-1-7021507 (university) fax: +353-1-2842295 s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland From LP-Mgr@SHSU.edu Sat Aug 1 06:30:23 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA07001; Sat, 1 Aug 92 06:30:21 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from en.ecn.purdue.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Sat, 01 Aug 1992 07:04:50 CDT Received: by en.ecn.purdue.edu (5.65/1.32jrs) id AA08984; Sat, 1 Aug 92 07:03:14 -0500 From: kardaras@ecn.purdue.edu (George S Kardaras) Reply-To: LITPROG@SHSU.edu Message-Id: <9208011203.AA08984@en.ecn.purdue.edu> Subject: Re: LitProg: A "Tempest in a Teapot"? To: LITPROG@SHSU.edu Date: Sat, 1 Aug 92 7:03:14 EST In-Reply-To: <9208011207.aa03598@salmon.maths.tcd.ie>; from "Timothy Murphy" at Aug 1, 92 12:07 pm X-Mailer: ELM [version 2.3 PL11] Sorry for doing it this way, but I'm going to leave for three weeks and I tried to sign off but with no luck. I would be obliged if the owners removed me from the list. Thanks. George Kardaras From LP-Mgr@SHSU.edu Sat Aug 1 10:01:59 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA09105; Sat, 1 Aug 92 10:01:55 MDT Message-Id: <9208011601.AA09105@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ips102.desy.de (ips104.desy.de) by Niord.SHSU.edu (MX V3.1B) with SMTP; Sat, 01 Aug 1992 10:32:33 CDT Received: by ips102.desy.de (16.7/16.2) id AA22914; Sat, 1 Aug 92 17:39:25 +0200 Date: Sat, 1 Aug 92 17:39:25 +0200 From: Marcus Speh Reply-To: LITPROG@SHSU.edu To: LITPROG@SHSU.edu Subject: Time for Crimethink. Reply to Murphy's Guess. In-Reply-To: <9208011207.aa03598@salmon.maths.tcd.ie> References: <9208011207.aa03598@salmon.maths.tcd.ie> Tim, you whispered: Tim> Psst. Tim> DEK isn't listening, is he? whim> I wonder has he got a mole in this group? Is there some congenial relationship between DEK and Big Brother? Tim> The truth is, Tim> only pointy-heads and weirdos use plain TeX nowadays. Tim> Everybody else in the world, including Dan Quayle, Tim> is using LaTeX. I agree with that. Though, I wonder..who's that potatoe Dan Quayle - did he write a Macro that I should know? I do not agree with Murphy's Guess: Tim> That's the main reason, IMHO, Tim> for the relative failure of WEB Tim> (as opposed to TeX itself). I *am* using LaTeX with (F)WEB. Never really learnt anything else but LaTeX. I don't consider WEB a failure just because it isn't a discipline by its own in Barcelona, yet. Success relative to TeX's: ask one of the older chaps what they thought, say, 7 years ago, seeing the TeX source to what should become their paper... in 1990, still, I had to fight hard to convince anyone to use LaTeX instead of Plain TeX (plus some self-made clumsy macros to set the title page)- no, not on Galapagos, but in a major European [aha!] theoretical physics institute with lots of smarties around. I do not think anyone could have foreseen the enormous success of TeX in the scientific world [the only mouse hole I know] - Why give up hope for Literal Programming yet? It is not greater computational complexity which makes people shrink back from LitProg. Unlike LitProg, TeX did not really have any serious competitor, though, I think. As far as I can see, including the previous postings in this group, most people do not restrict themselves to literal programming. Of course this is Crimethink already. The success of TeX seems to be rooted in the fact that it was free from beginning and grew into an institution pretty soon - inheriting some seriousness from DEK. Question to anyone of the more veteran LP's: how "institutionalized" is Literate Programming today? o Are there meetings, special journals? o Servers with special software? o Experiences with trying to *publish* a literate program "as-is"? o If not: what would you like to see? [I myself do not read any CS related journal, being a truly illiterate literate programmer.] What can we do? For now, we can only increase the popularity of Literate Programming by creating a stimulating environment on this list. And sharing code perhaps. In addition to what has already been down-loaded. [\stimulate{LITPROG} is another freely available environment.] I case there is nobody at your place to ask: I invite anyone who has in mind to start using FWEB, or has started it not too long time ago to ask, or discuss it with me. I was happy enough to have a knowledgeable person here when I started, and that helped a lot. --marcus Disclaimer: - I do not know anything about Galapagos, really. Is there a deadline for ceasing to send the typical Summertime postings? I would definitely respect it--my postings show the tendency to grow beyond a certain length on these hot weekends in town... =================================================================== Marcus Speh INTERnet II. Institut f. Theor. Physik BITnet Luruper Chaussee 149 DECnet <13313::SPEH> 2000 Hamburg 50/Germany Tel.(040)8998-2260 FAX:(040)8998-2267 From LP-Mgr@SHSU.edu Sat Aug 1 10:31:30 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA09311; Sat, 1 Aug 92 10:31:29 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from hearnvax.nic.surfnet.nl by Niord.SHSU.edu (MX V3.1B) with SMTP; Sat, 01 Aug 1992 11:00:15 CDT Received: from rugr86 (rugr86.rug.nl) by HEARNVAX.nic.SURFnet.nl with PMDF#10216; Sat, 1 Aug 1992 18:00 MET Received: from RUGR86.RUG.NL by RUGR86.RUG.NL (PMDF #12427) id <01GN2Q8CQG6O8WWDP2@RUGR86.RUG.NL>; Sat, 1 Aug 1992 17:33 MET Date: Sat, 1 Aug 1992 17:33 MET From: CGL@RUGR86.RUG.NL Reply-To: LITPROG@SHSU.edu Subject: Re: LitProg: A "Tempest in a Teapot"? To: LITPROG@SHSU.edu Message-Id: <01GN2Q8CQG6O8WWDP2@RUGR86.RUG.NL> X-Envelope-To: LITPROG@SHSU.edu X-Vms-To: IN%"LITPROG@SHSU.edu" X-Vms-Cc: CGL I started with LaTeX and are now using TeX to my staisfaction. Because it is more orthogonal, more compact and stable. Of course I don't refrain from using any TeX especially when publishing houses support the author, by providing guidelines et cetera. TUG itself allows users/ authors to submit LaTeX or TeX copy, so not everybody is using LaTeX. With respect to literate programming the idea to write for humans is not new, to supply tools which more or less force a programmer to document what he is doing is something. But as far as I see it, and at the moment not much experience with WeB, is the relational structure as opposed to the hierarchical structure, the real break through. History in database programs demonstrated the usefulness of that approach. I hope to contribute more in future to this list or to the literature of literate programming by `programming pearls.' In the mean time I keep my ears open, ---Kees van der Laan--- From LP-Mgr@SHSU.edu Sat Aug 1 17:09:07 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA11497; Sat, 1 Aug 92 17:09:03 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: by SHSU.edu (MX V3.1B) id 27684; Sat, 01 Aug 1992 17:19:18 CDT Date: Sat, 01 Aug 1992 17:19:17 CDT From: "George D. Greenwade" Reply-To: LitProg@SHSU.edu To: litprog@SHSU.edu Message-Id: <0095E746.FB3577C0.27684@SHSU.edu> Subject: LitProg Routine Posting First, thanks to everyone for making the list successful, to date. 158 subscribers in 11 days making 84 postings on a list which was announced with no organizational backing or planning may very well be a network record for discussion lists!! This posting is largely a boilerplate construct which I am sure more than a few of you have seen elsewhere -- my apologies. Most of the information contained in this is pure administrivia; if anyone would like to use this as a basis for the beginnings of an FAQ, please feel free to do so. I had planned on putting together an FAQ for LitProg, but I fear my time constraints, combined with my relative ignorance compared to many of the subscribers, disqualifies me. If you are interested in becoming famous as the FAQ source, please contact me directly -- if more than one of you are interested, I will place you in contact with one another and let you hash out the work outline. --George *************************************************************************** This is a routine posting you will see from time to time on LitProg. While we appreciate your subscription to LitProg and welcome your input, there are a few things to remember. 1. If you should ever wish to have your name removed from the list of subscribers and no longer receive LitProg, please send a MAIL message to LISTSERV@SHSU.BITNET (LISTSERV@SHSU.edu) -- or -- LitProg-Request@SHSU.edu stating in the text of the MAIL: SIGNOFF LitProg %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Please do NOT send the SIGNOFF message to the list address, % % LitProg@SHSU.BITNET (LitProg@SHSU.edu), as this is the % % redistribution address for the list. All posting to LitProg % % are distributed to its worldwide list of subscribers. % % % % Please note that the LISTSERV which serves LitProg is MAIL % % oriented only and is not conventional interactive LISTSERV. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Please remember to SIGNOFF of LitProg should you have reason to lose or give up your account. 2. LISTSERV has a few other command items for your convenience. You may want to include the command: HELP in the body of a mail message to it to see what it can do. Briefly, there are now options for SET LitProg NOMAIL -and- SET LitProg MAIL to turn on and off mail distributions from the list without signing off. Additionally, support for [NO]CONCEAL and [NO]REPRO have recently been added. The command: QUERY LitProg to check your current [NO]MAIL, [NO]CONCEAL, and [NO]REPRO status, and: LIST to retrieve a listing of all lists supported by our site. 3. The use of a brief and descriptive subject header for your messages is encouraged. A subject such as "Help" is not very informative, while a subject such as "Non-ANSI applications of CWEB" or "Help: c-no-web, FWEB, or CWEB on PC?" is both informative and useful. 4. The Reply-to: address for LitProg is configured to the LitProg list of subscribers to encourage discussion. Thus, all replies not specifically addressed will be forwarded to the entire audience of subscribers. 5. If you have posed a question to LitProg and have received answers which address your problem, please post a summary of replies back to the list. Summary postings will be appreciated by the subscribers as they will be enabled to follow the thread of your problem and not wonder, "what about the post regarding ...?" Also, these postings often provide for further extensions of the original question. A suggested summary subject header is the original subject followed by the word "Summary", such as "Help: centering in tabular - Summary" 6. The archives of LitProg are maintained on the Sam Houston State University file server, FILESERV@SHSU.BITNET (FILESERV@SHSU.edu -- note that this is FILEserv and not LISTserv). To get a copy of any month's postings, send MAIL to FILESERV with the message: SENDME LitProg.yyyy-mm where "yyyy" is the year and "mm" is the numeric representation of the month. For example, the message SENDME LitProg.1992-07 will access the archives for July, 1992. 7. FILESERV@SHSU.BITNET (FILESERV@SHSU.edu) also supports a developing collection of WEB implementations. This service is being added, slowly but surely, for your use and convenience. Each implementation is included in its own package for FILESERV use and in its own directory for ftp use. To get a brief annotated listing of the current holdings and brief instructions on retrieving the files in the various WEB-related collections, send MAIL to FILESERV with the message: LIST *WEB* +--------------------------------------------------------+ | If you would like to assist in the development of this | | repository by contributing a file or implementation to | | the collection, please contact . | +--------------------------------------------------------+ FILESERV also has a number of other packages and files available. To get an annotated listing of all packages available, send the command SENDME FILELIST in a MAIL message to FILESERV. Further information about FILESERV can be obtained from a HELP message. 8. All files available from FILESERV (as well as quite a few others) are available for anonymous ftp retrieval from Niord.SHSU.edu [192.92.115.8]. The directory structure of Niord is [FILESERV.package_name]. For example, the CWEB archives exist in [FILESERV.CWEB] and the LitProg archives exist in [FILESERV.LITPROG]. The FILELIST discussed in item 7 above may be found in [FILESERV.FILELIST] and a complete directory listing of files available on Niord may be found in [FILESERV.ADDITIONS]FTP.FILELIST, which is updated automatically each morning. Finally, please feel free to post to the list. It is provided to assist you with Literate Programming problems. No question is "too simple"; questions which are "too hard" lead to doctoral dissertations and new products. This includes general issues of style and philosophy, such as "what is literate programming?" or "is literate programming compatible with writing portable programs?", as well as specific issues relating to particular literate programming systems, such as "is it possible to use CWEB with ANSI C?" Novices are welcome; it is intended that this group should be a place where newcomers can be welcomed into the fold as well as a place where seasoned literate programmers can discuss fine points of technique. If you have any questions, comments, or suggestions about LitProg, please contact the list owner at any of the addresses below. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% George D. Greenwade, Ph.D. Bitnet: BED_GDG@SHSU Department of Economics and Business Analysis THEnet: SHSU::BED_GDG College of Business Administration Voice: (409) 294-1266 P. O. Box 2118 FAX: (409) 294-3612 Sam Houston State University Internet: bed_gdg@SHSU.edu Huntsville, TX 77341 bed_gdg%SHSU.decnet@relay.the.net %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LitProg data: Announced -- July 20, 1992 Subscribers -- July 31, 1992: 158 Postings -- July, 1992: 84 From LP-Mgr@SHSU.edu Sun Aug 2 08:50:45 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA19623; Sun, 2 Aug 92 08:50:43 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from UCBEH.SAN.UC.EDU by Niord.SHSU.edu (MX V3.1B) with SMTP; Sun, 02 Aug 1992 09:03:51 CDT Received: from ucunix.san.uc.edu by UCBEH.SAN.UC.EDU (PMDF #2697 ) id <01GN3OTXOPXS8WW80N@UCBEH.SAN.UC.EDU>; Sun, 2 Aug 1992 10:04:15 EST Received: by ucunix.san.uc.edu (5.65/Ultrix3.0-C) id AA02647; Sun, 2 Aug 92 10:00:28 -0400 Date: 02 Aug 1992 10:00:27 -0400 (EDT) From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga) Subject: Re: Sorry! In-Reply-To: <9208020718.AA07656@uranus>; from "ath@linkoping.trab.se" at Aug 2, 92 9:18 am To: LitProg@SHSU.EDU Reply-To: LitProg@SHSU.edu Message-Id: <9208021400.AA02647@ucunix.san.uc.edu> X-Envelope-To: LitProg@SHSU.EDU Content-Transfer-Encoding: 7BIT X-Mailer: ELM [version 2.3 PL11] ath@linkoping.trab.se wrote: > Cameron Smith wrote: > >Equally of interest would be stories from people who tried LP > >and didn't like it (although maybe such people aren't on this > > programming. It doesn't appear to fit very well into real world > project structures: the information in a literate program is already > put on paper somewhere else - usually in the design or implementation > specification. So why write the information twice? Disclaimer. I've used FWEB to write two smallish C programs for my own personal use and I'm not completely pleased with the results. However, can't you just write the design specifications in (La)TeX and include them directly into the web modules? In effect, insert the code into the appropriate place in the design spec. My problem with literate programming is different, although it also fits into the "real world" vs. "university" category. Web programs look beautifull on paper, but are a mess in ascii. Can you really write web programs and share them with "regular" programmers? Do you ship them the web files, the code files or both? Do they object to having to read the gorey code produced by the tangled web (an appropriate description)? -- Humberto Ortiz-Zuazaga zuazaga@ucunix.san.uc.edu Dept. of Physiology & Biophysics University of Cincinnati From LP-Mgr@SHSU.edu Sun Aug 2 13:49:55 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA22199; Sun, 2 Aug 92 13:49:50 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from relay2.UU.NET by Niord.SHSU.edu (MX V3.1B) with SMTP; Sun, 02 Aug 1992 13:50:41 CDT Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA07469; Sun, 2 Aug 92 14:49:04 -0400 Received: from ravel.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 144842.9847; Sun, 2 Aug 1992 14:48:42 EDT Received: by ravel.sli.com (5.61/smail2.5/04-29-92) id AA29928; Sun, 2 Aug 92 14:18:38 -0400 Date: Sun, 2 Aug 92 14:18:38 -0400 From: mfy@sli.com (Mike Yoder) Reply-To: LitProg@SHSU.edu Message-Id: <9208021818.AA29928@ravel.sli.com> To: LitProg@SHSU.edu In-Reply-To: ath@linkoping.trab.se's message of Sun, 2 Aug 92 09:18:16 +0200 <9208020718.AA07656@uranus> Subject: not liking literate programming Anders Thulin gives reasons why he abandoned literate programming. I'd like to respond based on my own experiences. >Literate programming is a kind of added-value code, a type of code >that is more readable and more comprehensible than 'pure code' is. >Fine, so far. But coding is one of the last activitites in a project, >so a literate program won't be complete until the code is. This is >sometimes much too late to be of any use. This is true, but it doesn't matter. If your literate programming tool has conditionals (mine does, I understand WEB doesn't), there is a style that lets designing pass over smoothly into coding. The method (which I have used, in real-world projects, for not quite 10 years now) is as follows. First, you write your requirement specifications and functional specifications. I usually use the same literate programming tool to produce these, but that is merely because it is considerably easier to use than LaTeX (which is what it generates). However, if it were useful to make part of the requirement specifications or functional specifications be embedded in the design document, I would then be set up to do so. The next step is usually writing a design document. Once done, the code is added to this document at appropriate places (or entirely new ones), but under a conditional like "if code"... "end-if code". In general, code is placed near the parts of the design that it implements. The result is that you have a single source which can produce either a design document (if the switch "code" is off) or the full program documentation (with the design as a subset). The tool has an "include" command; this lets the source be split, so the usual methods of coordinating multiple (human) editors apply (MMS, sccs, etc.). >It's somewhere around here that I lose contact with literate >programming. It doesn't appear to fit very well into real world >project structures: the information in a literate program is already >put on paper somewhere else - usually in the design or implementation >specification. So why write the information twice? In the method I have been using, it isn't: the design document is a subset of the program documentation (which, to my mind, is a requirement for any program documentation actually meant to be used). >The project was large enough that I couldn't design and >code at the same time: a mistake in design could send me back undoing >weeks of literate programming, and often did. This remark puzzles me, and suggests that this problem was a fault either of your literate programming tool, your methods, or (perhaps, but unlikely) your programming language. If you are using a language like Modula or Ada that directly implements modularity, just applying that fact should make this problem go away; if not, it is possible to simulate modularity in most languages I know. My literate programming paradigm is usually to make one document per module; this "document" is actually two documents in that it can be produced either with or without the implementation. In general, the document without implementation is what you want if you are just interested in using the module, and the one with the implementation is what you want if you are interested in changing or fixing it. There are unlimited possibilities as to what can be done with such a setup; an obvious possibility is to make each module's document a chapter of a "book" describing a library, or a program. As far as time is concerned, my experience is that literate programming has a minimal impact on schedule (at a guess it adds at most 10% to coding time). It sometimes has a positive impact by forcing the programmers to think about the logical organization of the program before they charge off and write code. If the customer is willing to accept documentation in the form your tool produces, you save massively on labor costs because producing the document and producing the code overlap. This has been something of a stumbling block -- the customer may require that the documentation be written in DocGol or in some particular format your tool cannot conveniently create. I said before that my tool produces LaTeX; it can also produce an Interleaf ASCII file, or it can produce output for an LN03 printer. The LaTeX and Interleaf modes were add-ons to deal with problems like this; originally it produced the document directly. >Programming in a project involves all the tasks from specifying >requirements to testing; coding is only a small part. Yes, and yet another way to use literate programming to help maintenance is to put your unit tests adjacent to the modules they test, and have the testing documentation be a part of the program documentation. This works both for black-box testing (which can be put alongside the specification) or glass-box testing, which can be put alongside the implementation. This does require a tool that can produce more than one output file, which is different from the classic literate programming paradigm. But this is an obvious thing to do. >I can't see that it can made to work in large project tasks with >several project members, particularly not when soundness of design and >time schedules are important. This is, to me, a non sequitur; it sounds much like saying "I can't see that high-level languages can be made to work in large projects because...". It may well be that literate programming does nothing to solve certain problems with programming in the large; but neither does it hurt, and if it helps at the smaller scales it is a net gain to use it. For most large projects, high-level languages are better than assembly language, even if they do nothing to solve the problems due to bigness per se. Equally, literate programming is a win precisely because it is better at the small and medium scales, and the benefit doesn't go away when you scale up. At any rate, I have *never* had literate programming interfere with time schedules -- quite the opposite. And the effect on soundness of design is almost invariably positive, not negative: the program organization is the same as the documentation's, so thinking about the latter forces you to think about the former, and it strongly encourages modifying the program so as to be easier to describe in English (or, occasionally, mathematics). I have omitted some details here to save space, because laying out everything I've ever tried or learned about literate programming would make something much larger than an essay. If there are particular things of interest to particular people, please contact me via email. Michael F. Yoder [mfy%sli@uunet.uu.net] Not speaking officially for Software Leverage, Inc. From LP-Mgr@SHSU.edu Sun Aug 2 14:08:14 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA22255; Sun, 2 Aug 92 14:08:12 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from relay1.UU.NET by Niord.SHSU.edu (MX V3.1B) with SMTP; Sun, 02 Aug 1992 14:17:59 CDT Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA14223; Sun, 2 Aug 92 15:16:16 -0400 Received: from ravel.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 151600.12606; Sun, 2 Aug 1992 15:16:00 EDT Received: by ravel.sli.com (5.61/smail2.5/04-29-92) id AA29977; Sun, 2 Aug 92 14:51:00 -0400 Date: Sun, 2 Aug 92 14:51:00 -0400 From: mfy@sli.com (Mike Yoder) Reply-To: LitProg@SHSU.edu Message-Id: <9208021851.AA29977@ravel.sli.com> To: LITPROG@SHSU.edu In-Reply-To: Marcus Speh's message of Sat, 1 Aug 92 03:09:53 +0200 <9208010203.AA21544@relay1.UU.NET> Subject: "Veterans, rise up" I've been using literal programming for long enough to consider myself a veteran (about 9 years now, most of it for job-related work, not personal programs). It's pretty easy to explain the benefit I perceive; in fact Robert Duff and I designed the tool I am still using before we learned of Knuth's ideas, in order to solve the program documentation problem. The approach we came up with differs in details from WEB et al., but is (I think) targeted at the same difficulty. This problem is simply stated: program documentation is always false. Everywhere I had worked, documentation was next to useless because it did not describe its program: it described instead what somebody thought the program would be at a very early stage of the project that created it, and was never updated. Or, if it was written later, it described what the person writing it remembered about the program, or what their interpretation of what someone else had told them was; and it was written very rapidly by someone under severe time pressure (because they were wanted on another project as soon as possible). The failure rate was literally 100%; I am not exaggerating for rhetorical effect, I mean that *literally* one hundred per cent of the time the documentation I was presented with was factually false, and of minimal use in understanding the program. Since the tool was written, my experience is just the reverse: when we use literal programming, a correct document is produced 100% of the time; again, I mean this literally and am not exaggerating. Literal programming is one of those rare cases where the problem it addresses is, for all practical purposes, completely and totally solved by applying it correctly. It is likely that other people have had different experiences; and, of course, the approach itself does not guarantee that the document will be easily understandable or well organized. But it does seem to insure that a truthful program document will come out of the process of writing the program. Since, also on the basis of my experience, it adds virtually nothing to coding times, it is a large benefit achieved at very little cost. The reasons for this are unclear, and I have my own speculations as to the psychology of programmers using literal programming. But, empirically, on the basis of my experience, it works very well. Michael F. Yoder [mfy%sli@uunet.uu.net] From LP-Mgr@SHSU.edu Sun Aug 2 20:14:33 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA24721; Sun, 2 Aug 92 20:14:28 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from relay1.UU.NET by Niord.SHSU.edu (MX V3.1B) with SMTP; Sun, 02 Aug 1992 20:19:16 CDT Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA24416; Sun, 2 Aug 92 21:17:37 -0400 Received: from ravel.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 211615.17290; Sun, 2 Aug 1992 21:16:15 EDT Received: by ravel.sli.com (5.61/smail2.5/04-29-92) id AA02586; Sun, 2 Aug 92 21:00:38 -0400 Date: Sun, 2 Aug 92 21:00:38 -0400 From: mfy@sli.com (Mike Yoder) Reply-To: LitProg@SHSU.edu Message-Id: <9208030100.AA02586@ravel.sli.com> To: LitProg@SHSU.edu In-Reply-To: Humberto Ortiz-Zuazaga's message of 02 Aug 1992 10:00:27 -0400 (EDT) <9208021400.AA02647@ucunix.san.uc.edu> Subject: Sorry! Good day to all from Michael Yoder, responding to Humberto Ortiz-Zuazaga, who wrote: >My problem with literate programming is different, although it also fits >into the "real world" vs. "university" category. Web programs look >beautifull on paper, but are a mess in ascii. Can you really write web >programs and share them with "regular" programmers? Do you ship them the >web files, the code files or both? Do they object to having to read the >gorey code produced by the tangled web (an appropriate description)? This is a quite valid objection to literate programming as it stands now, but hopefully future tools can improve upon the present situation. I have this problem to a much lesser extent because the tool I use does not mangle the source; it rather leaves it mostly untouched. Those who have read Knuth's original paper may recall that he chose to have macros, but no conditionals, in WEB; when Robert Duff and I designed Inscribe, we made just the opposite choice, because conditionals were essential to what we were doing. (Almost) every feature of Inscribe that has been added since then has been out of necessity or extreme desirability, and while there have been occasions where it might have been nice to have macros, they were never really needed. In the (unusual) case where the customer has Inscribe, we just send the Inscribe source. Otherwise, we send code and LaTeX (or whatever) separately after producing them. In this case, we generally end up inserting some extra comments into the code portions of the Inscribe source so that some of the documentation does, in fact, end up being replicated. (It is not as bad as it sounds, because sometimes you can just move the comment into the code rather than replicating it.) If I were using WEB, I would probably prettyprint the code before sending it. A common objection to literate programming along similar lines is that error messages from your compiler are not related to the true source, but to the generated program; similarly, if you use a symbolic debugger, you are debugging what the tool produces and not the real source. If your language is C or C++, the best solution is to have your tool emit #line directives so that this problem goes away. (Assuming the debugger is smart enough to handle them...) In my case, I have largely solved this problem for Ada code by writing Emacs macros that read the error messages and find the correct original source locations. (This doesn't solve the debugger problem though.) This lets me use C-Z ` commands to put the cursor on the error locations in the *real* source one by one. A similar approach would work for most reasonable compilers, if you have Emacs. There is a way to get around this which is useful when you have both skeptics and advocates of literate programming around. This is to have a preprocessor which takes as parameters the comment delimiters for your source and which converts a language source with special comments into input for your tool. The method of producing documents using special embedded comments is old enough and standard enough that even conservative programmers do not generally object to it, and this lets you mix the two approaches. As usual, I am omitting some details for the sake of brevity, and am willing to discuss the subject in greater detail through private email. Michael F. Yoder [mfy%sli@uunet.uu.net] From LP-Mgr@SHSU.edu Mon Aug 3 01:27:08 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA26399; Mon, 3 Aug 92 01:27:06 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from malmo.trab.se by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 03 Aug 1992 01:13:50 CDT Received: from linkoping.trab.se by malmo.trab.se (5.65+bind 1.7+ida 1.4.2/TRM-1-NS); Mon, 3 Aug 92 08:11:59 +0200 (MET) Received: from uranus by linkoping.trab.se (4.1/SMI-4.0:2) id AA14927; Mon, 3 Aug 92 08:09:04 +0200 Received: by uranus (4.1/SMI-4.1) id AA09396; Mon, 3 Aug 92 08:09:04 +0200 Date: Mon, 3 Aug 92 08:09:04 +0200 From: ath@linkoping.trab.se Reply-To: LitProg@SHSU.edu Message-Id: <9208030609.AA09396@uranus> To: litprog@shsu.edu Subject: Other LP tools? I was agreeable surprised by Michael Yoders comments to my mail about my earlier negative experience with Pascal WEB, mainly because it indicated that there were other tools for literate programming. Perhaps I have been to focussed on WEB and its descendants - I wasn't aware that there were other tools. Are there still more non-WEB tools in use out there? If there is, I (and probably other readers of the list) would appreciate if you could write a short description of it, and perhaps also any useful experience with it and WEB. Anders Thulin ath@linkoping.trab.se Telia Research AB, Teknikringen 2B, S-583 30 Linkoping, Sweden From LP-Mgr@SHSU.edu Mon Aug 3 01:41:10 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA26434; Mon, 3 Aug 92 01:41:08 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from malmo.trab.se by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 03 Aug 1992 01:17:58 CDT Received: from linkoping.trab.se by malmo.trab.se (5.65+bind 1.7+ida 1.4.2/TRM-1-NS); Mon, 3 Aug 92 08:16:13 +0200 (MET) Received: from uranus by linkoping.trab.se (4.1/SMI-4.0:2) id AA14922; Mon, 3 Aug 92 08:00:58 +0200 Received: by uranus (4.1/SMI-4.1) id AA09388; Mon, 3 Aug 92 08:00:58 +0200 Date: Mon, 3 Aug 92 08:00:58 +0200 From: ath@linkoping.trab.se Reply-To: LitProg@SHSU.edu Message-Id: <9208030600.AA09388@uranus> To: LitProg@SHSU.edu Subject: Re: not liking literate programming Some comments to Mike Yoder's post: >If your literate programming tool has >conditionals (mine does, I understand WEB doesn't), there is a style that lets >designing pass over smoothly into coding. Quite. My experience is based only on Pascal WEB. >The result is that you have a single source which can produce either a design >document (if the switch "code" is off) or the full program documentation (with >the design as a subset). This extenstion of the simple code/document separation in WEB seems important. I wish I had had something like that :-) >>The project was large enough that I couldn't design and >>code at the same time: a mistake in design could send me back undoing >>weeks of literate programming, and often did. > >This remark puzzles me, and suggests that this problem was a fault either of >your literate programming tool, your methods, or (perhaps, but unlikely) your >programming language. Almost certainly my methods. As I said, I designed and coded at the same time, documenting the design in the LP (Pascal WEB). It sometimes happened I made a bad design decision which I had to revise. Since I had written code based on that design, I had to go back, changing that code to fit the new design. If I had designed first, and coded later, it would have been more unlikely that this would have happened. >If you are using a language like Modula or Ada that directly implements >modularity, just applying that fact should make this problem go away; >if not, it is possible to simulate modularity in most languages I know. Possible, but not easy. Pascal (ISO, level 0) does not give any support for modularity. And at that time (around 1982) there weren't any other WEBs around, as far as I remember. >This does require a tool that can produce more than one output file, which is >different from the classic literate programming paradigm. But this is an >obvious thing to do. :-) >>I can't see that it can made to work in large project tasks with >>several project members, particularly not when soundness of design and >>time schedules are important. > >This is, to me, a non sequitur; [ ... ] I was referring to my experience with Pascal WEB. Perhaps I should have said 'I can't see that LP using Pascal WEB ...' With a tool such as that you describe, I agree that few if any of my objections are valid. In particular, some kind of further conditional processing in WEB, beyond that of code/document, would probably be enough. Thanks for you comments! Anders Thulin ath@linkoping.trab.se Telia Research AB, Teknikringen 2B, S-583 30 Linkoping, Sweden From LP-Mgr@SHSU.edu Mon Aug 3 05:42:12 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA29769; Mon, 3 Aug 92 05:42:10 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from tuegate.tue.nl by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 03 Aug 1992 05:23:15 CDT Received: from gem.stack.urc.tue.nl by tuegate.tue.nl with SMTP id AA18742 (5.65c/IDA-1.4.4 for ); Mon, 3 Aug 1992 12:25:20 +0200 Received: from blade.stack.urc.tue.nl by gem.stack.urc.tue.nl (5.57/1.53) id AA15211; Mon, 3 Aug 92 12:23:37 MED Received: by blade.stack.urc.tue.nl (4.1/1.53) id AA01525; Mon, 3 Aug 92 12:17:18 MED From: stephan@stack.urc.tue.nl (Stephan Eggermont) Reply-To: LitProg@SHSU.edu Message-Id: <9208031017.AA01525@blade.stack.urc.tue.nl> Subject: Re: Other LP tools? To: LitProg@SHSU.edu Date: Mon, 3 Aug 92 12:17:17 MED In-Reply-To: <9208030609.AA09396@uranus>; from "ath@linkoping.trab.se" at Aug 3, 92 8:09 am X-Mailer: ELM [version 2.3 PL11] > Are there still more non-WEB tools in use out there? If there is, I > (and probably other readers of the list) would appreciate if you could > write a short description of it, and perhaps also any useful > experience with it and WEB. Ever heard of LIPED? It's a literate programming editor for MS-DOS machines. There was a review of it in `Structured Programming' some months ago. pro: - It has a wordstar-like command set (like turbo-pascal) :-). - It allows fast (push-button) switching between multiple views of the program: 1 Literate documentation. 2 Outline view with table of contents 3 Module view with: consists of + contained in 4 Source code. Put the cursor on a line in your source and hit F6 and the cursor moves to the spot in the literate document where the line was entered. (Wow, this is great, also solves some debugging problems). - It lets you highlight the keywords of the programming language. - one-button compile/make and printing. - support for the simultanuous use of six files (why six?). contra: - Memory management is buggy, the program freezes sometimes (=1/hour). - The screen layout is not great, one cannot change to 43/50 lines and the number of useful (programming text) lines on screen is too small (there are two i.m.h.o. unneccesary horizontal lines to distinguish between info and program text. - It can't handle compilers which are very large, because LIPED doesn't swap out to EMS/disk when running the (command-line) compiler. - The program/module you are editing cannot be very large because all views of the program are kept in memory and adapted on-the-fly. - No handling of inter-module relations. - No index generation. My opinion: The program shows great promise, but is really an alpha-test. Without the memory-management problems I would recommend it to anyone who has to make reasonably-sized programs. Stephan Eggermont stephan@blade.stack.urc.tue.nl From LP-Mgr@SHSU.edu Mon Aug 3 07:54:11 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA00675; Mon, 3 Aug 92 07:54:04 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: by SHSU.edu (MX V3.1B) id 30488; Mon, 03 Aug 1992 07:47:18 CDT Date: Mon, 03 Aug 1992 07:47:17 CDT From: "George D. Greenwade" Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Message-Id: <0095E889.67600F80.30488@SHSU.edu> Subject: RE: Other LP tools? On Mon, 3 Aug 92 08:09:04 +0200, Anders Thulin posted: > I was agreeable surprised by Michael Yoders comments to my mail about my > earlier negative experience with Pascal WEB, mainly because it indicated > that there were other tools for literate programming. > > Perhaps I have been to focussed on WEB and its descendants - I wasn't aware > that there were other tools. > > Are there still more non-WEB tools in use out there? If there is, I (and > probably other readers of the list) would appreciate if you could write a > short description of it, and perhaps also any useful experience with it and > WEB. I'll take you one step better. If you have other LP-related tools/packages which are freeware/shareware/pd in nature (i.e., legally ftp-able), note where the file(s) are (either in your post to LitProg or in a private message to me) and I'll retrieve them and place them on Niord. If you cannot place them in an ftp area on your host, you can upload them to pip.SHSU.edu [192.92.115.10] to a directory you make and name in the TeX-archive directory and I'll get them from there. If they are small enough (generally, <700k total) I will very likely make them available on FILESERV for the mail-bound, as well. As many of you already know, my arm can easily be twisted to allow larger packages than this on FILESERV. Regards, George %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% George D. Greenwade, Ph.D. Bitnet: BED_GDG@SHSU Department of Economics and Business Analysis THEnet: SHSU::BED_GDG College of Business Administration Voice: (409) 294-1266 P. O. Box 2118 FAX: (409) 294-3612 Sam Houston State University Internet: bed_gdg@SHSU.edu Huntsville, TX 77341 bed_gdg%SHSU.decnet@relay.the.net %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% From LP-Mgr@SHSU.edu Mon Aug 3 12:29:34 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA05338; Mon, 3 Aug 92 12:29:23 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from mira.math.uiuc.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 03 Aug 1992 12:12:37 CDT Received: by mira.math.uiuc.edu id AA06065 (5.65d/IDA-1.4.3 for LitProg@SHSU.edu); Mon, 3 Aug 1992 12:10:51 -0500 Date: Mon, 3 Aug 1992 12:10:51 -0500 From: Cameron Smith Reply-To: LitProg@SHSU.edu Message-Id: <199208031710.AA06065@mira.math.uiuc.edu> To: LitProg@SHSU.edu Subject: RE: Other LP tools? Since the question of non-WEB literate programming tools has arisen again, I'll add my two cents. I've plugged it before, in the early days (nearly two weeks ago! :-) ) of this list, but for those who've joined since then I'll mention it again: c-no-web is a literate programming tool for C that doesn't require any tangling or weaving. A c-no-web document is directly, without any extra preprocessing, suitable as input to both TeX and a C compiler. c-no-web is not nearly as full-featured as WEB variants, but its big advantage is that the TeX code is confined to comments -- the C source is ordinary C code. This may make it usable by would-be literate programmers who work in team environments in which the other members of the team will neither agree to learn WEB-like systems themselves nor accept tangled code. c-no-web of course can't do the rearrangement of code modules that the tangle processer does, of course, but I'm used to using procedures as modules and really don't miss that very much for most programs. Actually, it is surprising how much c-no-web does allow given the constraints it operates under: sections, subsections, and sub-subsections are supported, a title page with abstract and table of contents are produced, and within the comments you can do anything that plain TeX allows. For example, you could use the indexing macros from the TeXbook to index your code; the index entries would refer to the comments but by attaching indexing comments to lines of code you could index variables to their points of creation, etc. Of course this isn't nearly as nice as automatic indexing, but for short modules in which not ever variable needs to be indexed it is not to onerous to tag the most important points by hand. Finally it's worth mentioning that the c-no-web macros are fairly transparent (which can NOT be said of the code in webmac.tex or cwebmac.tex) and you don't have to redesign an LR grammar to change the typographic treatment of your code. Indeed, I have had no trouble modifying the c-no-web macros to use different fonts, to handle section heads differently, and in general making typographic tweaks to suit my taste. This is in stark contrast to WEB and CWEB, which have a great many assumptions hard-coded into the weave processors so that it is necessary to redesign parts of the processors if you want to change indentation strategies, the arrangement of an index, etc. Summary: c-no-web isn't perfect, but it has a much less steep learning curve than WEB systems (IMHO), its simplicity makes it more easily adaptable to individual tastes, and it is likelier to be usable in team environments where it isn't possible to get teammates to accept WEB. For people who aren't in a position to suddenly introduce a major new programming tool/philosophy (like Inscribe or WEB) into their working environments, or for people who want to get an easy first taste of literate programming, c-no-web is a good choice. It's available on Niord and through FILESERV; it comes with a sample program that illustrates all its features. There was an article on it in TUGboat ("Webless literate programming", Jim Fox, TUGboat vol. 4 no. 11, November, 1990, pp. 511-513), but essential was said there that isn't in the files you can get on-line. OK, twice in two weeks is enough; I promise not to plug c-no-web again -- for a while :-) . --Cameron Smith cameron@symcom.math.uiuc.edu From LP-Mgr@SHSU.edu Mon Aug 3 12:38:21 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA05397; Mon, 3 Aug 92 12:38:17 MDT Message-Id: <9208031838.AA05397@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from CSEARN (MAILER) by SHSU (MX V3.1B) with BSMTP; Mon, 03 Aug 1992 09:06:09 CDT Received: from CSEARN (WAGNER) by CSEARN (Mailer R2.07) with BSMTP id 2455; Mon, 03 Aug 92 16:04:06 MDT Date: Mon, 03 Aug 92 16:03:31 MDT From: Zdenek Wagner Reply-To: LitProg@SHSU.edu Subject: LP -- pros and contras To: Literate Progaramming list Hi programmers, I am novice both to TeX and LP. I am also novice to earning money by programming. Two weeks ago I found from the announcement of George D. Greenwade about LP. So I asked myself 3 questions: 1. What is literate programming? 2. Is it valuable for me? 3. Is my poor hardware capable of using it? First, I should write that I started with zero money so I have AT-286 with 1MB RAM and 44MB hard disk. I have just LaTeX, plain TeX (I don't write documents in plain but sometimes I receive something written in plain an I need to print it) and Turbo C++ (uff, I cannot upgrade to new version since it needs at least 2MB RAM and BC++ 3.0 consumes 40MB on the HD). Even now I often get "Disk C full" so it is impossible for me to install FWEB or CWEB or something like that. The second point is that I got used to Borland's integrated environment. I can easily write programs and debug them -- and if I don't get a more powerful tool, I won't change even though I know about some bugs in the compiler (well, if you find a bug, document it and send to Borland, you will receive free upgrade exactly as I did). After reading about problems with debugging WEB programs under Borland's TD, I am rather discouraged. However, I always have problems trying to remember how to use my own library routine developed one (two, three...) months ago. So I clearly see that keeping code and its description without LP requires a great effort. Another advantage can be seen from sharing programs or trying to understand somebody's program. Recently I have modified MakeIndex program to sort in the Czech language. The program is written in C and even though I know C, it took a long time to read the program and to find what has to be changed. In fact, only the third attempts seems to be successful. On the other hand, I use LaTeX without having any manuals (I have ordered them but it takes some time). However, I study style files documented with Frank Mittelbach's doc.sty, and learning almost solely from them, I successfully write my own macro packages. And I think that doc.sty is LP in LaTeX. LP seems to consume time and someone may think that the programmer loses money. I wouldn't say that. Some time ago I wrote a set of C routines for the purpose of one program. The routines, however, were general and could have been sold to other programmers provided they were documented. But they had (and still have) only brief comments. Writing the routines with LP would NOT take much more time but it is very painful to develop the documentation now. So --- I LOST MONEY BECAUSE I DIDN'T USE LP! Well, I know I should use LP but I cannot use CWEB, FWEB and similar tools for the reasons written above. There is c-no-web but it is for plain only and I am not satisfied with the appearance of the text. So I plan to develop in a short time a tool which will suit my needs. When it is finished, I will make it available on Niord.shsu.edu and cs.felk.cvut.cs (I hope the achivers will accept it). So, this was my contribution to the discussion about the advantages and disadvatages of LP. Zdenek Wagner Institute of Chemical Process Fundamentals E. Hala Laboratory of Thermodynamics Prague, Czechoslovakia From LP-Mgr@SHSU.edu Mon Aug 3 13:54:09 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA06780; Mon, 3 Aug 92 13:54:00 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from urmel.informatik.rwth-aachen.de by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 03 Aug 1992 12:58:09 CDT Received: from tabaqui (tabaqui.Informatik.RWTH-Aachen.DE) by urmel.informatik.rwth-aachen.de (4.1/urmel-MX.31) id AA26946; Mon, 3 Aug 92 19:57:01 +0200 Received: by tabaqui (4.1/POOL.3) id AA18717; Mon, 3 Aug 92 19:55:35 +0200 Date: Mon, 3 Aug 92 19:55:35 +0200 From: dak@POOL.informatik.rwth-aachen.de Reply-To: LitProg@SHSU.edu Message-Id: <9208031755.AA18717@tabaqui> To: LitProg@SHSU.edu Subject: Re: Sorry! >From LP-Mgr@SHSU.edu Sun Aug 2 22:15:28 1992 Return-Path: Received: from Niord.SHSU.edu ([192.92.115.8]) by messua.informatik.rwth-aachen.de (4.1/POOLMH.3) id AA09705; Sun, 2 Aug 92 22:15:24 +0200 Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from UCBEH.SAN.UC.EDU by Niord.SHSU.edu (MX V3.1B) with SMTP; Sun, 02 Aug 1992 09:03:51 CDT Received: from ucunix.san.uc.edu by UCBEH.SAN.UC.EDU (PMDF #2697 ) id <01GN3OTXOPXS8WW80N@UCBEH.SAN.UC.EDU>; Sun, 2 Aug 1992 10:04:15 EST Received: by ucunix.san.uc.edu (5.65/Ultrix3.0-C) id AA02647; Sun, 2 Aug 92 10:00:28 -0400 Date: 02 Aug 1992 10:00:27 -0400 (EDT) From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga) Subject: Re: Sorry! In-Reply-To: <9208020718.AA07656@uranus>; from "ath@linkoping.trab.se" at Aug 2, 92 9:18 am To: LitProg@SHSU.EDU Reply-To: LitProg@SHSU.edu Message-Id: <9208021400.AA02647@ucunix.san.uc.edu> X-Envelope-To: LitProg@SHSU.EDU Content-Transfer-Encoding: 7BIT X-Mailer: ELM [version 2.3 PL11] Status: R >ath@linkoping.trab.se wrote: >> Cameron Smith wrote: >> >Equally of interest would be stories from people who tried LP >> >and didn't like it (although maybe such people aren't on this >> >> programming. It doesn't appear to fit very well into real world >> project structures: the information in a literate program is already >> put on paper somewhere else - usually in the design or implementation >> specification. So why write the information twice? > >Disclaimer. I've used FWEB to write two smallish C programs for my own >personal use and I'm not completely pleased with the results. However, >can't you just write the design specifications in (La)TeX and include >them directly into the web modules? In effect, insert the code into the >appropriate place in the design spec. Hey, what's this? I used to start writing code by writing the include files with the data structures, and start by writing the comments. Then I would write the basic comments for the code, and start filling in. When I am using WEB now, I don't write something like a `no web, just plain LaTeX' or what documentation. This is the codes' documentation, of course, and must not be confused with the program's calling procedures. They are, of course, described in a technical way in the WEB as well. But end user specs tend to change much slower than real ones, because an explanation for end users will lack technical brevity, conciseness, etc, and will instead focus on making the thing foolproof understandable. I hate to have sth like that in technical listings, because it takes too much time to read. Sideeffect, of course: undocumented options and features. From LP-Mgr@SHSU.edu Mon Aug 3 16:07:21 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA09455; Mon, 3 Aug 92 16:07:18 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from UCBEH.SAN.UC.EDU by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 03 Aug 1992 15:54:42 CDT Received: from ucunix.san.uc.edu by UCBEH.SAN.UC.EDU (PMDF #2697 ) id <01GN5H7EI6TC8WWT8K@UCBEH.SAN.UC.EDU>; Mon, 3 Aug 1992 16:47:39 EST Received: by ucunix.san.uc.edu (5.65/Ultrix3.0-C) id AA05495; Mon, 3 Aug 92 16:43:43 -0400 Date: 03 Aug 1992 16:43:42 -0400 (EDT) From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga) Subject: Design specs and code. (Was: Re: Sorry!) In-Reply-To: <9208031755.AA18717@tabaqui>; from "dak@POOL.informatik.rwth-aachen.de" at Aug 3, 92 7:55 pm To: LitProg@SHSU.EDU Reply-To: LitProg@SHSU.edu Message-Id: <9208032043.AA05495@ucunix.san.uc.edu> X-Envelope-To: LitProg@SHSU.EDU Content-Transfer-Encoding: 7BIT X-Mailer: ELM [version 2.3 PL11] dak@POOL.informatik.rwth-aachen.de wrote: > From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga) > >can't you just write the design specifications in (La)TeX and include > >them directly into the web modules? In effect, insert the code into the > >appropriate place in the design spec. > > When I am using WEB now, I don't write something like a > `no web, just plain LaTeX' or what documentation. This is the codes' > documentation, of course, and must not be confused with the program's > calling procedures. They are, of course, described in a technical way > in the WEB as well. But end user specs tend to change much slower than Design specifications are not the same as the end user documentation. The former are usefull when viewing the code, I agree the latter may be less usefull, (although it might be convenient to extract some of the information about the design spec into the users manual?). -- Humberto Ortiz-Zuazaga zuazaga@ucunix.san.uc.edu Dept. of Physiology & Biophysics University of Cincinnati From LP-Mgr@SHSU.edu Mon Aug 3 17:13:49 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA09830; Mon, 3 Aug 92 17:13:44 MDT Message-Id: <9208032313.AA09830@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from DUKEFSB (RUMMEL) by SHSU.edu (MX V3.1B) with Jnet; Mon, 03 Aug 1992 17:24:39 CDT Date: Mon, 3 Aug 92 18:12 EST From: Jeff Rummel Reply-To: LitProg@SHSU.edu Subject: documenting changing code To: LITPROG@SHSU.edu I get involved in programming projects that start out with one aim and end with quite another. I use version control software with most projects so I can keep old versions around (when new bugs appear) and so I don't try the wrong approach more than once. My question for all the LPers (and I hope to be one someday) is how they incorporate such a system. I'd like to avoid multiple typing of histories etc. --jeff. From LP-Mgr@SHSU.edu Sat Aug 1 17:09:07 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA11497; Sat, 1 Aug 92 17:09:03 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: by SHSU.edu (MX V3.1B) id 27684; Sat, 01 Aug 1992 17:19:18 CDT Date: Sat, 01 Aug 1992 17:19:17 CDT From: "George D. Greenwade" Reply-To: LitProg@SHSU.edu To: litprog@SHSU.edu Message-Id: <0095E746.FB3577C0.27684@SHSU.edu> Subject: LitProg Routine Posting First, thanks to everyone for making the list successful, to date. 158 subscribers in 11 days making 84 postings on a list which was announced with no organizational backing or planning may very well be a network record for discussion lists!! This posting is largely a boilerplate construct which I am sure more than a few of you have seen elsewhere -- my apologies. Most of the information contained in this is pure administrivia; if anyone would like to use this as a basis for the beginnings of an FAQ, please feel free to do so. I had planned on putting together an FAQ for LitProg, but I fear my time constraints, combined with my relative ignorance compared to many of the subscribers, disqualifies me. If you are interested in becoming famous as the FAQ source, please contact me directly -- if more than one of you are interested, I will place you in contact with one another and let you hash out the work outline. --George *************************************************************************** This is a routine posting you will see from time to time on LitProg. While we appreciate your subscription to LitProg and welcome your input, there are a few things to remember. 1. If you should ever wish to have your name removed from the list of subscribers and no longer receive LitProg, please send a MAIL message to LISTSERV@SHSU.BITNET (LISTSERV@SHSU.edu) -- or -- LitProg-Request@SHSU.edu stating in the text of the MAIL: SIGNOFF LitProg %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Please do NOT send the SIGNOFF message to the list address, % % LitProg@SHSU.BITNET (LitProg@SHSU.edu), as this is the % % redistribution address for the list. All posting to LitProg % % are distributed to its worldwide list of subscribers. % % % % Please note that the LISTSERV which serves LitProg is MAIL % % oriented only and is not conventional interactive LISTSERV. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Please remember to SIGNOFF of LitProg should you have reason to lose or give up your account. 2. LISTSERV has a few other command items for your convenience. You may want to include the command: HELP in the body of a mail message to it to see what it can do. Briefly, there are now options for SET LitProg NOMAIL -and- SET LitProg MAIL to turn on and off mail distributions from the list without signing off. Additionally, support for [NO]CONCEAL and [NO]REPRO have recently been added. The command: QUERY LitProg to check your current [NO]MAIL, [NO]CONCEAL, and [NO]REPRO status, and: LIST to retrieve a listing of all lists supported by our site. 3. The use of a brief and descriptive subject header for your messages is encouraged. A subject such as "Help" is not very informative, while a subject such as "Non-ANSI applications of CWEB" or "Help: c-no-web, FWEB, or CWEB on PC?" is both informative and useful. 4. The Reply-to: address for LitProg is configured to the LitProg list of subscribers to encourage discussion. Thus, all replies not specifically addressed will be forwarded to the entire audience of subscribers. 5. If you have posed a question to LitProg and have received answers which address your problem, please post a summary of replies back to the list. Summary postings will be appreciated by the subscribers as they will be enabled to follow the thread of your problem and not wonder, "what about the post regarding ...?" Also, these postings often provide for further extensions of the original question. A suggested summary subject header is the original subject followed by the word "Summary", such as "Help: centering in tabular - Summary" 6. The archives of LitProg are maintained on the Sam Houston State University file server, FILESERV@SHSU.BITNET (FILESERV@SHSU.edu -- note that this is FILEserv and not LISTserv). To get a copy of any month's postings, send MAIL to FILESERV with the message: SENDME LitProg.yyyy-mm where "yyyy" is the year and "mm" is the numeric representation of the month. For example, the message SENDME LitProg.1992-07 will access the archives for July, 1992. 7. FILESERV@SHSU.BITNET (FILESERV@SHSU.edu) also supports a developing collection of WEB implementations. This service is being added, slowly but surely, for your use and convenience. Each implementation is included in its own package for FILESERV use and in its own directory for ftp use. To get a brief annotated listing of the current holdings and brief instructions on retrieving the files in the various WEB-related collections, send MAIL to FILESERV with the message: LIST *WEB* +--------------------------------------------------------+ | If you would like to assist in the development of this | | repository by contributing a file or implementation to | | the collection, please contact . | +--------------------------------------------------------+ FILESERV also has a number of other packages and files available. To get an annotated listing of all packages available, send the command SENDME FILELIST in a MAIL message to FILESERV. Further information about FILESERV can be obtained from a HELP message. 8. All files available from FILESERV (as well as quite a few others) are available for anonymous ftp retrieval from Niord.SHSU.edu [192.92.115.8]. The directory structure of Niord is [FILESERV.package_name]. For example, the CWEB archives exist in [FILESERV.CWEB] and the LitProg archives exist in [FILESERV.LITPROG]. The FILELIST discussed in item 7 above may be found in [FILESERV.FILELIST] and a complete directory listing of files available on Niord may be found in [FILESERV.ADDITIONS]FTP.FILELIST, which is updated automatically each morning. Finally, please feel free to post to the list. It is provided to assist you with Literate Programming problems. No question is "too simple"; questions which are "too hard" lead to doctoral dissertations and new products. This includes general issues of style and philosophy, such as "what is literate programming?" or "is literate programming compatible with writing portable programs?", as well as specific issues relating to particular literate programming systems, such as "is it possible to use CWEB with ANSI C?" Novices are welcome; it is intended that this group should be a place where newcomers can be welcomed into the fold as well as a place where seasoned literate programmers can discuss fine points of technique. If you have any questions, comments, or suggestions about LitProg, please contact the list owner at any of the addresses below. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% George D. Greenwade, Ph.D. Bitnet: BED_GDG@SHSU Department of Economics and Business Analysis THEnet: SHSU::BED_GDG College of Business Administration Voice: (409) 294-1266 P. O. Box 2118 FAX: (409) 294-3612 Sam Houston State University Internet: bed_gdg@SHSU.edu Huntsville, TX 77341 bed_gdg%SHSU.decnet@relay.the.net %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LitProg data: Announced -- July 20, 1992 Subscribers -- July 31, 1992: 158 Postings -- July, 1992: 84 From LP-Mgr@SHSU.edu Mon Aug 3 17:34:02 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA10017; Mon, 3 Aug 92 17:34:00 MDT Message-Id: <9208032334.AA10017@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ips102.desy.de (ips105.desy.de) by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 03 Aug 1992 17:47:02 CDT Received: by ips102.desy.de (16.7/16.2) id AA09731; Tue, 4 Aug 92 00:53:50 +0200 Date: Tue, 4 Aug 92 00:53:50 +0200 From: Thorsten Ohl Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Subject: documenting changing code In-Reply-To: <9208032234.AA10954@crunch> References: <9208032234.AA10954@crunch> >>>>> On Mon, 3 Aug 92 18:12 EST, Jeff Rummel said: Jeff> I get involved in programming projects that start out with one Jeff> aim and end with quite another. Sound familiar :-). Jeff> I use version control software with most projects so I can keep Jeff> old versions around (when new bugs appear) and so I don't try Jeff> the wrong approach more than once. My question for all the Jeff> LPers (and I hope to be one someday) is how they incorporate Jeff> such a system. I'd like to avoid multiple typing of histories Jeff> etc. Iff you're using the monolithic WEB approach, you will have only one file, so any version control system will work. On the other hand, if you are using a tool such as Norman Ramsey's NOWEB, which lends itself better to the UN*X style multi file approach, you should check out CVS (ftp'able from prep.ai.mit.edu, directory pub/gnu, file cvs-1.3.tar.Z). CVS is a front end to RCS and simplifies managing multi file source trees considerably. Since version control and literate programming do not interfere, there should (IMHO) be no need for specialized version control software. ////// Thorsten Ohl, DESY (-T-), Notkestr. 85, W-2000 Hamburg 52, F.R.G. ///////// net: ohl@crunch.ikp.physik.th-darmstadt.de, ohl@gnu.ai.mit.edu //////////////////////// voice: +49-40-8998-3699, fax: +49-40-8998-3282 From LP-Mgr@SHSU.edu Mon Aug 3 18:44:02 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA11842; Mon, 3 Aug 92 18:44:00 MDT Message-Id: <9208040044.AA11842@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ips102.desy.de (ips105.desy.de) by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 03 Aug 1992 18:37:30 CDT Received: by ips102.desy.de (16.7/16.2) id AA10362; Tue, 4 Aug 92 01:44:25 +0200 Date: Tue, 4 Aug 92 01:44:25 +0200 From: Thorsten Ohl Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Subject: RE: Other LP tools? In-Reply-To: <199208031710.AA06065@mira.math.uiuc.edu> References: <199208031710.AA06065@mira.math.uiuc.edu> >>>>> On Mon, 3 Aug 1992 12:10:51 -0500, Cameron Smith said: Cameron> Summary: c-no-web isn't perfect, but it has a much less steep Cameron> learning curve than WEB systems (IMHO), its simplicity makes Cameron> it more easily adaptable to individual tastes, and it is Cameron> likelier to be usable in team environments where it isn't Cameron> possible to get teammates to accept WEB. I'll add some more hype for another tool (which has already been advertised by Dave Love on this list): Check out Norman Ramsey's NOWEB (ftpable from princeton.edu, directory pub, file noweb.shar.Z). It depends on common UN*X tools, but is extremely well designed (simple but powerful). It works with LaTeX or plain TeX, is almost independent from the target language, can easily work with multiple files (one-to-one, one-to-many, many-to-one and many-to-many) and can be configured to produce readable tangled code. I haven't used it extensively yet, but it seems to be a very good choice if you can convince your fellow programmers of WEB's benefits. ////// Thorsten Ohl, DESY (-T-), Notkestr. 85, W-2000 Hamburg 52, F.R.G. ///////// net: ohl@crunch.ikp.physik.th-darmstadt.de, ohl@gnu.ai.mit.edu //////////////////////// voice: +49-40-8998-3699, fax: +49-40-8998-3282 From LP-Mgr@SHSU.edu Tue Aug 4 03:17:26 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA15478; Tue, 4 Aug 92 03:17:25 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from mcsun.EU.net by Niord.SHSU.edu (MX V3.1B) with SMTP; Tue, 04 Aug 1992 02:31:55 CDT Received: from dec4ie.ieunet.ie by mcsun.EU.net with SMTP id AA19783 (5.65b/CWI-2.173); Tue, 4 Aug 1992 01:11:28 +0200 Received: from swift.cs.tcd.ie by dec4ie.ieunet.ie SMTP (Ethernet) id aa00118; 4 Aug 92 0:07 BST Received: from ashe.cs.tcd.ie by cs.tcd.ie (PMDF #12050) id <01GN5WMV06XS8WYBR8@cs.tcd.ie>; Tue, 4 Aug 1992 00:09 GMT Received: by ashe.cs.tcd.ie (5.57/Ultrix3.0-C) id AA01943; Tue, 4 Aug 92 00:07:17 +0100 Date: Tue, 4 Aug 92 0:06:20 BST From: Timothy Murphy Reply-To: LitProg@SHSU.edu Subject: Re: documenting changing code In-Reply-To: Jeff Rummel's message of Mon, 3 Aug 92 18:12 EST Sender: tim@maths.tcd.ie To: LitProg@shsu.edu Message-Id: <9208040006.aa15938@salmon.maths.tcd.ie> X-Envelope-To: LitProg@shsu.edu > I get involved in programming projects that start out with one aim and > end with quite another. I use version control software with most projects > so I can keep old versions around (when new bugs appear) and so I don't > try the wrong approach more than once. My question for all the LPers > (and I hope to be one someday) is how they incorporate such a system. > I'd like to avoid multiple typing of histories etc. WEB and CWEB allow -- encourage -- the use of change files. Admittedly this is very unsophisticated compared with RCS or SCCS, but I suppose it goes a little way in the same direction. Timothy Murphy e-mail: tim@maths.tcd.ie tel: +353-1-2842366 (home/office) +353-1-7021507 (university) fax: +353-1-2842295 s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland From LP-Mgr@SHSU.edu Tue Aug 4 03:17:32 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA15483; Tue, 4 Aug 92 03:17:30 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from mcsun.EU.net by Niord.SHSU.edu (MX V3.1B) with SMTP; Tue, 04 Aug 1992 02:28:31 CDT Received: from dec4ie.ieunet.ie by mcsun.EU.net with SMTP id AA19476 (5.65b/CWI-2.173); Tue, 4 Aug 1992 01:01:23 +0200 Received: from swift.cs.tcd.ie by dec4ie.ieunet.ie SMTP (Ethernet) id aa29833; 3 Aug 92 23:59 BST Received: from ashe.cs.tcd.ie by cs.tcd.ie (PMDF #12050) id <01GN5WCLH8OW8WYE22@cs.tcd.ie>; Tue, 4 Aug 1992 00:00 GMT Received: by ashe.cs.tcd.ie (5.57/Ultrix3.0-C) id AA01763; Mon, 3 Aug 92 23:58:59 +0100 Date: Mon, 3 Aug 92 23:58:05 BST From: Timothy Murphy Reply-To: LitProg@SHSU.edu Subject: Re: LP -- pros and contras In-Reply-To: Zdenek Wagner's message of Mon, 03 Aug 92 16:03:31 MDT Sender: tim@maths.tcd.ie To: LitProg@shsu.edu Message-Id: <9208032358.aa15432@salmon.maths.tcd.ie> X-Envelope-To: LitProg@shsu.edu > Even now I often get "Disk C full" so it is impossible for me > to install FWEB or CWEB or something like that. I wonder if you have checked out CWEB, ie ctangle and cweave? They are really pretty small -- quite a lot smaller than the original WEB programs -- and much, much smaller than FWEB. As I recall, ctangle.exe is less than 50k. Timothy Murphy e-mail: tim@maths.tcd.ie tel: +353-1-2842366 (home/office) +353-1-7021507 (university) fax: +353-1-2842295 s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland From LP-Mgr@SHSU.edu Tue Aug 4 08:19:00 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA20235; Tue, 4 Aug 92 08:18:55 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: by SHSU.edu (MX V3.1B) id 760; Tue, 04 Aug 1992 07:54:38 CDT Date: Tue, 04 Aug 1992 07:54:25 CDT From: "George D. Greenwade" Reply-To: LitProg@SHSU.edu To: litprog@SHSU.edu Message-Id: <0095E953.913AE080.760@SHSU.edu> Subject: NOWEB (version 2.1) on FILESERV/Niord I had enough time before class to get this in place (finally) if you are interested. --George *************************************************************************** NOWEB ----- The NOWEB package includes version 2.1 (9 July 1992) of Norman Ramsey's literate programming tool, ``noweb''. When it was introduced, literate programming meant ``WEB''. Desire to use ``WEB'' with languages other than Pascal led to the implementation of many versions. Feature of ``noweb'' include: -- ``WEB'' is complex, and the difficulty of using ``WEB'' creates an artificial barrier to experimentation with literate programming. -- ``noweb'' provides much of the functionality of ``WEB'', with a fraction of the complexity. -- ``noweb'' is independent of the target programming language, and its formatter-dependent part is a 40-line shell script. -- ``noweb'' is extensible, because it uses two representations of programs: one easily manipulated by authors and one easily manipulated by tools. Examples of the use of ``noweb'' are provided and applications that have been written using {\tt noweb} with different programming languages are mentioned in the accompanying documentation. To retrieve the package of 50 files, include the command: SENDME NOWEB in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu). To retrieve a specific file, such as NOWEB.UNMARKUP, include: SENDME NOWEB.UNMARKUP in your mail to FILESERV. The files are available individually, as well as in compressed tar archive format and ZIP archive format, for anonymous ftp retrieval from Niord.SHSU.edu (192.92.115.8) in the directory [FILESERV.NOWEB]. Files in this package: (1 Block = 512 bytes) File Blocks Save file as: ------------------------------------------------------------------------------- NOWEB.COLUMNS_C 3 columns.c NOWEB.COLUMNS_H 2 columns.h NOWEB.COLUMNS_NW 4 columns.nw NOWEB.COPYRIGHT 2 COPYRIGHT NOWEB.ERRORS_C 2 errors.c NOWEB.ERRORS_H 2 errors.h NOWEB.ERRORS_NW 5 errors.nw NOWEB.GETLINE_C 4 getline.c NOWEB.GETLINE_H 2 getline.h NOWEB.GETLINE_NW 6 getline.nw NOWEB.IEEE_AUX 7 ieee.aux NOWEB.IEEE_BBL 10 ieee.bbl NOWEB.IEEE_TEX 46 ieee.tex NOWEB.MAIN_C 4 main.c NOWEB.MAIN_NW 5 main.nw NOWEB.MAKEFILE 8 Makefile NOWEB.MARKMAIN_C 12 markmain.c NOWEB.MARKMAIN_NW 17 markmain.nw NOWEB.MARKUP_C 7 markup.c NOWEB.MARKUP_H 3 markup.h NOWEB.MARKUP_NW 16 markup.nw NOWEB.MODTREES_C 5 modtrees.c NOWEB.MODTREES_H 2 modtrees.h NOWEB.MODTREES_NW 6 modtrees.nw NOWEB.MODULES_C 12 modules.c NOWEB.MODULES_H 3 modules.h NOWEB.MODULES_NW 19 modules.nw NOWEB.NOROOTS_SH 2 noroots.sh NOWEB.NOTANGLE_1 13 notangle.1 NOWEB.NOTANGLE_C 10 notangle.c NOWEB.NOTANGLE_H 1 notangle.h NOWEB.NOTANGLE_NW 13 notangle.nw NOWEB.NOTANGLE_SH 2 notangle.sh NOWEB.NOUNTANGLE_SH 4 nountangle.sh NOWEB.NOWEAVE_SH 5 noweave.sh NOWEB.NOWEB_STY 5 noweb.sty NOWEB.NOXREF 5 noxref NOWEB.NOXREF_ICN 5 noxref.icn NOWEB.NWKERNEL_TEX 4 nwkernel.tex NOWEB.NWMAC_TEX 10 nwmac.tex NOWEB.NW_ICN 4 nw.icn NOWEB.README 8 README NOWEB.README_NW 5 readme.nw NOWEB.REPRESENTATION_AUX 1 representation.aux NOWEB.REPRESENTATION_TEX 7 representation.tex NOWEB.STRSAVE_C 2 strsave.c NOWEB.STRSAVE_H 1 strsave.h NOWEB.STRSAVE_NW 2 strsave.nw NOWEB.TEST_NW 2 test.nw NOWEB.UNMARKUP 2 unmarkup Approximate total blocks in full NOWEB package = 327 From LP-Mgr@SHSU.edu Wed Aug 5 10:31:43 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA13943; Wed, 5 Aug 92 10:31:38 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from minster.york.ac.uk by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 09:58:28 CDT From: dan@minster.york.ac.uk Reply-To: LitProg@SHSU.edu Date: Wed, 5 Aug 92 15:44:47 Message-Id: To: LitProg@SHSU.edu Subject: Re: LP -- pros & contras Zdenek Wagner writes: > So I would conclude that CWEB is an invaluable tool for all programmers > and from the pedagogical point of view, it should be the first language > which the students learn. I have to agree with you. Today I finished writing my first LP in three different systems: C-no-web, NOWEB and CWEB and I have to admit that CWEB wins hands down. I don't understand why ppl say that it is difficult or complex. Apparently: "WEB is complex, and the difficulty of using WEB creates an artificial barrier to experimentation with literate programming." -- [Ram 91] Is this really so? I wrote a toy proglet in all three and I found CWEB almost as 'difficult' as noweb. c-no-web is MUCH simplier the either and I will be using it for smallest proglets while CWEB will be used for large ones. I am not saying that noweb is bad. Far from it. noweb is a very good tool for learning the concepts of LP. (the postcard is in the post...) In couple of days I will have to start a small-medium project involving documentation/modification of an experimental distributed Ada run-time system and I think that I'll try to WEB it. If CWEB handles this well ... I'll stick with LP. If not ... well... Has anyone had good/bad experiances with large programs in CWEB and if so are there things that we (novices) should know. -- Dan Daniel Kustrin Distributed Ada Project Univeristy of York York, England dan@minster.york.ac.uk From LP-Mgr@SHSU.edu Wed Aug 5 13:16:48 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA17955; Wed, 5 Aug 92 13:16:37 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from antares.math.uiuc.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 11:01:32 CDT Received: by antares.math.uiuc.edu id AA13965 (5.65d/IDA-1.4.3 for LitProg@SHSU.edu); Wed, 5 Aug 1992 10:59:38 -0500 Date: Wed, 5 Aug 1992 10:59:38 -0500 From: Cameron Smith Reply-To: LitProg@SHSU.edu Message-Id: <199208051559.AA13965@antares.math.uiuc.edu> To: LitProg@SHSU.edu Subject: Re: LP -- pros & contras > In couple of days I will have to start a small-medium project involving > documentation/modification of an experimental distributed Ada run-time system ^^^ > and I think that I'll try to WEB it. If CWEB handles this well ... I'll stick ^^^^ > with LP. If not ... well... I don't speak Ada; is it really so similar to C that you can expect CWEB to handle Ada code? If not, you might want to check out the Ada-specific WEB system that was built with Norman Ramsey's Spidery Web system (yes, the same NR who later created NOWEB). I haven't used it myself, but I've read about it. Ramsey's article in TUGboat a year or two ago, or Wayne Sewell's book on WEB programming, might be useful references. Hope this helps-- --Cameron Smith From LP-Mgr@SHSU.edu Wed Aug 5 13:16:48 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA17955; Wed, 5 Aug 92 13:16:37 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from antares.math.uiuc.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 11:01:32 CDT Received: by antares.math.uiuc.edu id AA13965 (5.65d/IDA-1.4.3 for LitProg@SHSU.edu); Wed, 5 Aug 1992 10:59:38 -0500 Date: Wed, 5 Aug 1992 10:59:38 -0500 From: Cameron Smith Reply-To: LitProg@SHSU.edu Message-Id: <199208051559.AA13965@antares.math.uiuc.edu> To: LitProg@SHSU.edu Subject: Re: LP -- pros & contras > In couple of days I will have to start a small-medium project involving > documentation/modification of an experimental distributed Ada run-time system ^^^ > and I think that I'll try to WEB it. If CWEB handles this well ... I'll stick ^^^^ > with LP. If not ... well... I don't speak Ada; is it really so similar to C that you can expect CWEB to handle Ada code? If not, you might want to check out the Ada-specific WEB system that was built with Norman Ramsey's Spidery Web system (yes, the same NR who later created NOWEB). I haven't used it myself, but I've read about it. Ramsey's article in TUGboat a year or two ago, or Wayne Sewell's book on WEB programming, might be useful references. Hope this helps-- --Cameron Smith From LP-Mgr@SHSU.edu Wed Aug 5 13:50:52 1992 Flags: 000000000001 Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA18307; Wed, 5 Aug 92 13:50:46 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from atc.boeing.com by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 13:27:32 CDT Received: by atc.boeing.com (5.57) id AA04650; Wed, 5 Aug 92 11:13:01 PDT Return-Path: crispen <@ada3.ca.boeing.com:crispen@efftoo> Received: from efftoo.boeing.com by ada3.ca.boeing.com; Wed, 5 Aug 92 11:17 PDT Received: by efftoo.boeing.com (4.1/SMI-4.1) id AA11096; Wed, 5 Aug 92 13:24:44 CDT Date: Wed, 5 Aug 92 13:24:44 CDT From: crispen <@ada3.ca.boeing.com:crispen@efftoo.boeing.com> Reply-To: LitProg@SHSU.edu Subject: Re: LP -- pros & contras To: LITPROG@ada3.ca.boeing.com Message-Id: <9208051824.AA11096@efftoo.boeing.com> X-Envelope-To: LITPROG@SHSU.edu Cameron Smith sez: >you might want to check out the Ada-specific >WEB system that was built with Norman Ramsey's Spidery Web system (yes, >the same NR who later created NOWEB). I haven't used it myself, but I've >read about it. Ramsey's article in TUGboat a year or two ago, or Wayne >Sewell's book on WEB programming, might be useful references. Now you're talking! Anybody got anything more specific on this? Bob Crispen crispen@foxy.boeing.com From LP-Mgr@SHSU.edu Wed Aug 5 15:16:39 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA19529; Wed, 5 Aug 92 15:16:36 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from math.utah.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 15:11:25 CDT Received: from plot79.math.utah.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA18471; Wed, 5 Aug 92 14:09:34 MDT Date: Wed, 5 Aug 92 14:09:34 MDT From: "Nelson H. F. Beebe" Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Cc: beebe@math.utah.edu X-Us-Mail: "Center for Scientific Computing, South Physics, University of Utah, Salt Lake City, UT 84112" X-Telephone: +1 801 581 5254 X-Fax: +1 801 581 4148 Subject: Bibliography of literate programming Message-Id: Just in case some of the people on this list are unaware of it, the TeX User Group bibliography project includes a bibliography on literate programming. You can find it via anonymous ftp to ftp.math.utah.edu in pub/tex/bib in the files litprog.bib and litprog.ltx: -rw-rw-r-- 1 beebe staff 24972 Aug 3 14:35 litprog.bib -rw-rw-r-- 1 beebe staff 2666 Aug 3 14:33 litprog.ltx If you lack Internet anonymous ftp access, then send an e-mail message to tuglib@math.utah.edu with the text help send index from tex/bib send litprog.bib from tex/bib send litprog.ltx from tex/bib I would very much appreciate receiving additions to this bibliography. However, updates will not happen before October, since I will be away >From Salt Lake City until then. ======================================================================== Nelson H.F. Beebe Center for Scientific Computing Department of Mathematics 220 South Physics Building University of Utah Salt Lake City, UT 84112 USA Tel: +1 801 581 5254 FAX: +1 801 581 4148 Internet: beebe@math.utah.edu ======================================================================== From LP-Mgr@SHSU.edu Wed Aug 5 16:35:35 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA23280; Wed, 5 Aug 92 16:35:29 MDT Message-Id: <9208052235.AA23280@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from curie (WSMR-EMH73.ARMY.MIL) by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 16:28:48 CDT Received: by curie (16.6/15.6) id AA14493; Wed, 5 Aug 92 15:28:34 -0600 From: Fiegel Robert AM-T 678-3756 Reply-To: LitProg@SHSU.edu Subject: FWEB on a HP9000 ?? To: LitProg@niord.shsu.edu Date: Wed, 5 Aug 92 15:28:32 MDT Mailer: Elm [revision: 66.25] Has anyone installed FWEB v1.23 on an HP machine? I'm not a C programmer so tried the ANSI C make, but ran into errors. The flags/options on the cc line are evidently not what HP C expects. Any suggestions or answers? bob -- _______________________________________________________________________________ Work address: Telephone: Commander/Director Commercial (505) 678-3756 US Army Atmospheric Sciences Laboratory DSN 258-3756 Attn: SLCAS-AM-T (Dr. Fiegel) White Sands Missile Range, NM 88002, USA FAX (505) 678-8366 Email: rfiegel@wsmr-emh73.army.mil or rfiegel@[192.67.8.5] _______________________________________________________________________________ From LP-Mgr@SHSU.edu Wed Aug 5 17:35:20 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA25125; Wed, 5 Aug 92 17:35:17 MDT Message-Id: <9208052335.AA25125@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ips102.desy.de (ips105.desy.de) by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 16:59:55 CDT Received: by ips102.desy.de (16.7/16.2) id AA28881; Thu, 6 Aug 92 00:06:54 +0200 Date: Thu, 6 Aug 92 00:06:54 +0200 From: Thorsten Ohl Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Subject: FWEB on a HP9000 ?? In-Reply-To: <9208052144.AA11533@crunch> References: <9208052144.AA11533@crunch> >>>>> On Wed, 5 Aug 92 15:28:32 MDT, Fiegel Robert AM-T 678-3756 said: bob> Has anyone installed FWEB v1.23 on an HP machine? Yes. bob> I'm not a C programmer so tried the ANSI C make, but ran into bob> errors. The flags/options on the cc line are evidently not what bob> HP C expects. Either get GCC (the GNU C Compiler), or use (if you have it) the unbundled HP ANSI C Compiler, which is invoked with `cc -Aa' (as cc(1) explains in detail :-). Then the make should proceed without any problems. ////// Thorsten Ohl, DESY (-T-), Notkestr. 85, W-2000 Hamburg 52, F.R.G. ///////// net: ohl@crunch.ikp.physik.th-darmstadt.de, ohl@gnu.ai.mit.edu //////////////////////// voice: +49-40-8998-3699, fax: +49-40-8998-3282 From LP-Mgr@SHSU.edu Wed Aug 5 17:53:59 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA25288; Wed, 5 Aug 92 17:53:56 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: by SHSU.edu (MX V3.1B) id 7456; Wed, 05 Aug 1992 17:47:40 CDT Date: Wed, 05 Aug 1992 17:45:25 CDT From: "George D. Greenwade" Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Cc: crispen@foxy.boeing.com Message-Id: <0095EA6F.4BD7EFC0.7456@SHSU.edu> Subject: Re: LP -- pros & contras On Wed, 5 Aug 92 13:24:44 CDT, Bob Crispen posted: > Cameron Smith sez: > > >you might want to check out the Ada-specific > >WEB system that was built with Norman Ramsey's Spidery Web system (yes, > >the same NR who later created NOWEB). I haven't used it myself, but I've > >read about it. Ramsey's article in TUGboat a year or two ago, or Wayne > >Sewell's book on WEB programming, might be useful references. > > Now you're talking! Anybody got anything more specific on this? The package is avaiable via anonymous ftp from Niord.SHSU.edu (192.92.115.8) in [FILESERV.SPIDERWEB] as SPIDERWEB-V1_0.ZIP and *.TAR_Z (a ZIP archive and a compressed tar archive, respectively). Also, since this post, I have UUENCODEd the ZIP file and made it available on FILESERV. Be forewarned -- this is a Unix-type file -- there are directory names and filenames, such as "c++" in it and if your system doesn't support such names, it very likely won't UNZIP properly. SENDME SPIDERWEB in a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu) will get the 13-part UUENCODEd ZIP file. The individual files (with somewhat bastardized names due to multiple directories in this package) are in [FILESERV.SPIDERWEB.SPIDERWEB_HOLD] (which I will properly package as individual files for FILESERV use eventually). Regards, George %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% George D. Greenwade, Ph.D. Bitnet: BED_GDG@SHSU Department of Economics and Business Analysis THEnet: SHSU::BED_GDG College of Business Administration Voice: (409) 294-1266 P. O. Box 2118 FAX: (409) 294-3612 Sam Houston State University Internet: bed_gdg@SHSU.edu Huntsville, TX 77341 bed_gdg%SHSU.decnet@relay.the.net %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% From LP-Mgr@SHSU.edu Sun Aug 2 02:20:02 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA15915; Sun, 2 Aug 92 02:20:00 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from malmo.trab.se by Niord.SHSU.edu (MX V3.1B) with SMTP; Sun, 02 Aug 1992 02:22:48 CDT Received: from linkoping.trab.se by malmo.trab.se (5.65+bind 1.7+ida 1.4.2/TRM-1-NS); Sun, 2 Aug 92 09:21:08 +0200 (MET) Received: from uranus by linkoping.trab.se (4.1/SMI-4.0:2) id AA11881; Sun, 2 Aug 92 09:18:17 +0200 Received: by uranus (4.1/SMI-4.1) id AA07656; Sun, 2 Aug 92 09:18:16 +0200 Date: Sun, 2 Aug 92 09:18:16 +0200 From: ath@linkoping.trab.se Reply-To: LitProg@SHSU.edu Message-Id: <9208020718.AA07656@uranus> To: LITPROG@SHSU.edu Subject: Re: Sorry! Cameron Smith wrote: >Equally of interest would be stories from people who tried LP >and didn't like it (although maybe such people aren't on this >list!). Anybody who tried WEB or CWEB or c-no-web or some such >and then abandoned it, would you care to say why? I suppose I'm at least partly in this category, so I'll try to describe why I am no longer entirely literate. Part of the reason is, of course, that I'm working in 'the real world'. Our customers demand some kind of documentation before coding starts, just to convince themselves that the project is on track, as well as safe-guards against projects gone entirely wrong. This documentation, as you already know, generally takes the form of requirement specifications, and functional specifications. Examples if internal documentation (that is, not primarily intended for the customer's eyes) are analysis and design documents. Literate programming is a kind of added-value code, a type of code that is more readable and more comprehensible than 'pure code' is. Fine, so far. But coding is one of the last activitites in a project, so a literate program won't be complete until the code is. This is sometimes much too late to be of any use. It's somewhere around here that I lose contact with literate programming. It doesn't appear to fit very well into real world project structures: the information in a literate program is already put on paper somewhere else - usually in the design or implementation specification. So why write the information twice? I've used LP (Pascal WEB) myself several years ago. I found it was a very good tool for releatively small projects, where I designed 'at the same time' as I wrote the code: essentially one-man tasks. In the largest solo project I did -- a compiler for a micro- programmable computer -- I tried to use LP, but it became rather cumbersome. The project was large enough that I couldn't design and code at the same time: a mistake in design could send me back undoing weeks of literate programming, and often did. This was not a major problem as long as the project was run by the university, but when it later became commercial all rules changed. It was now very important to get it ready on time, otherwise real money would be lost if the product couldn't be shipped as planned. I managed to get it fairly stable, but I certainly learned that some projects require that thinking and designing should be done before coding starts. So why am I not literate anymore? My perspective has shifted away from coding, mainly because I work with larger projects, Proogramming in a project involves all the tasks from specifying requirements to testing; coding is only a small part. Expressed more provocatively: literate programming is just a catchy buzzword for literate coding. I'm a programmer, not a coder. (I *said* 'provocatively', didn't I? Think again before you flame me :-) I'll try to make some kind of conclusion. My experience indicates that LP is good for small or medium large one-man project tasks, where design isn't a problem. I can't see that it can made to work in large project tasks with several project members, particularly not when soundness of design and time schedules are important. I'd like to hear of experiences to the contrary. Anders Thulin ath@linkoping.trab.se Telia Research AB, Teknikringen 2B, S-583 30 Linkoping, Sweden From beebe Wed Aug 5 14:10:02 1992 Flags: 000000000001 Return-Path: Received: from plot79.math.utah.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA18471; Wed, 5 Aug 92 14:09:34 MDT Date: Wed, 5 Aug 92 14:09:34 MDT From: "Nelson H. F. Beebe" To: LitProg@SHSU.edu Cc: beebe X-Us-Mail: "Center for Scientific Computing, South Physics, University of Utah, Salt Lake City, UT 84112" X-Telephone: +1 801 581 5254 X-Fax: +1 801 581 4148 Subject: Bibliography of literate programming Message-Id: Just in case some of the people on this list are unaware of it, the TeX User Group bibliography project includes a bibliography on literate programming. You can find it via anonymous ftp to ftp.math.utah.edu in pub/tex/bib in the files litprog.bib and litprog.ltx: -rw-rw-r-- 1 beebe staff 24972 Aug 3 14:35 litprog.bib -rw-rw-r-- 1 beebe staff 2666 Aug 3 14:33 litprog.ltx If you lack Internet anonymous ftp access, then send an e-mail message to tuglib@math.utah.edu with the text help send index from tex/bib send litprog.bib from tex/bib send litprog.ltx from tex/bib I would very much appreciate receiving additions to this bibliography. However, updates will not happen before October, since I will be away >From Salt Lake City until then. ======================================================================== Nelson H.F. Beebe Center for Scientific Computing Department of Mathematics 220 South Physics Building University of Utah Salt Lake City, UT 84112 USA Tel: +1 801 581 5254 FAX: +1 801 581 4148 Internet: beebe@math.utah.edu ======================================================================== From LP-Mgr@SHSU.edu Wed Aug 5 21:50:07 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA00498; Wed, 5 Aug 92 21:50:02 MDT Message-Id: <9208060350.AA00498@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from CSEARN (MAILER) by SHSU (MX V3.1B) with BSMTP; Wed, 05 Aug 1992 06:40:57 CDT Received: from CSEARN (WAGNER) by CSEARN (Mailer R2.07) with BSMTP id 9063; Wed, 05 Aug 92 13:30:33 MDT Date: Wed, 05 Aug 92 13:30:22 MDT From: Zdenek Wagner Reply-To: LitProg@SHSU.edu Subject: Re: LP -- pros & contras To: Literate Progaramming list Hi programmers, Timothy Murphy kindly wrote me about CWEB that it must fit into my small PC. I downloaded CWEBPC from Niord.shsu.edu and it is really small (so I am approaching to the moment when the last straw breaks the camel4s back). The CWEB is superior to what I wanted to design. Due to the structure, the programmer is forced to use a method described e.g. by N. Wirth in "Algorithms + Data Structures = Programs" The example, present in the package, compiled under Turbo C++ without problems. The debugger does not recognize the #line commands so I cannot trace it in the web file. However, the #line commands give me sufficient information that I can locate the code easily using "Go to line" function in the "Edit" menu. So I can make the corrections in the web file (the time needed to tangle is negligible comparing to compilation time) or I can make a small modification in the C file and then copy it to the web file. Then I can tangle it again and using a compare utility I can verify that all my modifications are correct. It may look cumbersome but the result is worth the trouble. So I would conclude that CWEB is an invaluable tool for all programmers and from the pedagogical point of view, it should be the first language which the students learn. This was the extension of my previous contribution. Regards Zdenek Wagner From LP-Mgr@SHSU.edu Wed Aug 5 22:20:35 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA00619; Wed, 5 Aug 92 22:20:33 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from neuron.cs.tamu.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 22:12:08 CDT Received: by neuron.cs.tamu.edu (AA07926); Wed, 5 Aug 92 22:09:19 CDT Date: Wed, 5 Aug 92 22:09:19 CDT From: bart@cs.tamu.edu (Bart Childs) Reply-To: LitProg@SHSU.edu Message-Id: <9208060309.AA07926@neuron.cs.tamu.edu> To: LitProg@shsu.edu Subject: Literate Programming is not necessarily monolithic A few points have been discussed that reflect some misunderstanding. I only hope that I do not further confuse them. 1. The reason that Knuth's original WEBs were monoliths is simple: he chose Pascal because it was everybody's second best language and it's style (more than) encouraged it. There is no reason to suggest that WEBs should remain in monolithic form. John Krommes' FWEB is an excellent example. Ftangle and Fweave are made from several different parts that are compiled separately (after Ftangling separately ...) 2. The use of tools such as RCS and configuration/revision management aids can be done with WEBs just as surely as they can with any C sources, awk sources, letters, poems, limmericks, ..., or other textual source. Indeed, they should. 3. The reason for the ``macros'' in the original WEB largely was to make up for deficiencies in Pascal's at that time. I find it useful to use some of them with command line arguments in FWEB to make different sources for 32-bit and 64-bit computers. 4. Knuth did not intend for the WEB philosophy to be fixed and unchanging. He has suggested several times that better interfaces between WEBs, debuggers, and other parts of the programmers' environment should be built. 5. Is there any proven merit to literate programming? A. The stability of TeX and quality of fonts created by METAFONT are excellent. The fact that TeX is used in a large number of languages ranging from simple English, French, German, Russian, ... with adaptions to their individual hyphenation requirements to the extremes of the oriental languages and finally to mixtures of ``left to right'' with ``right to left'' languages. B. Knuth's volumes B and D of the Computers and Typesetting series are the complete sources of the programs and documentation. The numbers of errors found in these sources are really minimal when you consider the nature of many of these errors and the number of people studying these volumes and the easy availability of the source for experiments. C. Marcus Brown was my PhD student and as part of an experimental interactive literate programming environment tested about 15 subjects on some maintenance tasks. These were students who had never (with one exception) seen the sources of TeX and tangle. Their tasks were to make some fairly significant changes and most were able to do that within an hour for each task. We will be submitting the details for publication shortly and soon thereafter making the paper available for wider circulation. Of course, the quality of TeX and METAFONT are not necessarily due to WEB, it could be that if Knuth had written them in his best style in the normal manner, they could have been quite good. I feel that I would not have understood a fraction of the internals of TeX that I do now had they been in a normal style. Literate programming can be thought of as being as simple as a means of keeping documentation and source in one place. It does require a slight learning, but I think it is slight. The benefits of encouraging modularity and making `stepwise refinement' easy are also significant. I will submit some more notes in the future that I hope convince some readers of this. These will include: a) a paper from the TeX Users Group conference of last week (after I secure proper permission). b) an analysis of the number of TeX and WEB commands used in some WEBs. c) announcement and distribution of a web-mode.el for gnu-emacs (it exists but we are in the debug mode of some significant extensions that make it much better.) d) announcement and distribution of some literate programming tools. From LP-Mgr@SHSU.edu Wed Aug 5 23:03:40 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA00873; Wed, 5 Aug 92 23:03:31 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from pilot.njin.net by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 05 Aug 1992 22:28:00 CDT Received: by pilot.njin.net (5.59/SMI4.0/RU1.4/3.08) id AA19549; Wed, 5 Aug 92 23:26:17 EDT Date: Wed, 5 Aug 92 23:26:16 EDT From: Lee Wittenberg Reply-To: LitProg@SHSU.edu To: LitProg@shsu.edu Subject: Re: LP -- pros & contras In-Reply-To: Your message of Wed, 5 Aug 92 13:24:44 CDT Message-Id: Spidery WEB is available via anonymous ftp at (I believe) princeton.edu. I have a version that works on a PC, if anyone needs it. Lee Wittenberg leew@pilot.njin.net P.S. I am currently in transit between NJ and TX, so I won't be able to respond to any requests quickly -- but I will get back to anyone who writes! From LP-Mgr@SHSU.edu Thu Aug 6 04:28:58 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA10942; Thu, 6 Aug 92 04:28:49 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from minster.york.ac.uk by Niord.SHSU.edu (MX V3.1B) with SMTP; Thu, 06 Aug 1992 04:02:14 CDT From: dan@minster.york.ac.uk Reply-To: LitProg@SHSU.edu Date: Thu, 6 Aug 92 09:56:57 Message-Id: To: LitProg@SHSU.edu Subject: Re: LP -- pros & contras > I don't speak Ada; is it really so similar to C that you can expect CWEB >to handle Ada code? No. Ada is Pascal like, but the run-time system (a part of the Ada compiler) is in C. > If not, you might want to check out the Ada-specific WEB system that was > built with Norman Ramsey's Spidery Web system (yes, the same NR who later > created NOWEB). I haven't used it myself, but I've read about it. Ramsey's > article in TUGboat a year or two ago, or Wayne Sewell's book on WEB > programming, might be useful references. I've heard about Spidery Web but I haven't used it. If our Ada users are interested, I am sure that they will have a look at it. Apparently someone in our department (an undergrad) will be doing as his final year project an ADA-WEB for troff (yuck). We also had a CWEB for troff in 1984. Hope this helps-- --Cameron Smith Ta. --Dan. From LP-Mgr@SHSU.edu Thu Aug 6 07:36:19 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA16260; Thu, 6 Aug 92 07:36:16 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: by SHSU.edu (MX V3.1B) id 9601; Thu, 06 Aug 1992 07:32:38 CDT Date: Thu, 06 Aug 1992 07:32:11 CDT From: "George D. Greenwade" Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Cc: bart@cs.tamu.edu Message-Id: <0095EAE2.CAD5B780.9601@SHSU.edu> Subject: RE: Literate Programming is not necessarily monolithic On Wed, 5 Aug 92 22:09:19 CDT, Bart Childs posted: > 1. The reason that Knuth's original WEBs were monoliths is simple: > he chose Pascal because it was everybody's second best language > and it's style (more than) encouraged it. There is no reason > to suggest that WEBs should remain in monolithic form. John > Krommes' FWEB is an excellent example. Ftangle and Fweave are > made from several different parts that are compiled separately > (after Ftangling separately ...) >..... > 4. Knuth did not intend for the WEB philosophy to be fixed and > unchanging. He has suggested several times that better > interfaces between WEBs, debuggers, and other parts of the > programmers' environment should be built. I am still admitting a HUGE ignorance of virtually all high-level languages, but I think it's worth noting that Knuth's name is now attached to Silvio Levy's CWEB (now Levy-Knuth CWEB). It is relatively clear that Knuth not only has suggested that better interfaces should be built -- as I understand it, he has already made enhancements and extensions to other conceptual applications of WEB in other non-Pascal languages. > I will submit some more notes in the future that I hope convince some > readers of this. Please pass them to me and I will make them available from SHSU. Regards, George %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% George D. Greenwade, Ph.D. Bitnet: BED_GDG@SHSU Department of Economics and Business Analysis THEnet: SHSU::BED_GDG College of Business Administration Voice: (409) 294-1266 P. O. Box 2118 FAX: (409) 294-3612 Sam Houston State University Internet: bed_gdg@SHSU.edu Huntsville, TX 77341 bed_gdg%SHSU.decnet@relay.the.net %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% From LP-Mgr@SHSU.edu Thu Aug 6 09:28:36 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA20249; Thu, 6 Aug 92 09:28:31 MDT Message-Id: <9208061528.AA20249@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from PSUVM.PSU.EDU (MAILER) by SHSU (MX V3.1B) with BSMTP; Thu, 06 Aug 1992 08:14:09 CDT Received: by PSUVM (Mailer R2.08) id 9254; Thu, 06 Aug 92 09:11:50 EDT Date: Thu, 6 Aug 92 09:11 EDT From: "Jack W. Sharer 814 863-4116" Reply-To: LitProg@SHSU.edu Subject: Ada WEBs To: LitProg@SHSU.edu I've collected the following information on Ada WEB versions over the past several years. I would recommend Ramsey's Spider WEB; and, if your using DOS, Neuwirth's adaptation. Jack W. Sharer Penn State University j0s@psuvm.psu.edu ===================================================================== -------- SIMTEL20 Ada Software Repository Prologue ------------ -- -- Unit name : AWEB release -- Version : 1.0 (based on Tangle 2.8) -- Author : U. Schweigert -- : Unknown, somewhere in Germany... -- : released in the states by Karl A. Nyberg, -- : Grebyn Corporation, PO 497, Vienna, VA -- : 22183-0497, 703-281-2194 -- DDN Address : karl@grebyn.com -- Copyright : public domain -- Date created : 7/14/89 - Bastille Day -- Release date : 5/31/89 -- Last update : 5/31/89 -- Machine/System Compiled/Run on : VAX/ULTRIX VADS 5.5c (kan) -- --------------------------------------------------------------- -- -- Keywords : documentation, formatting, development -- -- Abstract : -- -- This program converts an .AWEB file to an Ada file. It was written -- ---originally for conversion to PASCAL---by D. E. Knuth in September, -- 1981; a somewhat similar SAIL program had been developed in March, -- 1979. Since this program describes itself, a bootstrapping process -- involving hand-translation had to be used to get started. The -- conversion to Ada has been done by U. Schweigert in May 1988. -- -- The program consists of three parts : Ada code for atangle, aweave, -- and supporting files for Tex. Bootstrap versions of the .aweb files -- are included within the supporting files .src file. -- -- Thus there are three files: atangle.src, aweave.src, and texfiles.src. -- -- All files have maintained the original names as distributed by the -- original author. -- -- Additional support files include local modifications by PCS GMBH for -- their system by Horst Kern. -- ------------------ Revision history --------------------------- -- -- DATE VERSION AUTHOR HISTORY -- 7/14/89 1.0 U. Schweigert Initial submission to ASR -- by Karl A. Nyberg ... -------------------END-PROLOGUE-------------------------------- ===================================================================== Norman Ramsey, Department of Computer Science, Princeton University, 35 Olden Street, Princeton, New Jersey 08544, Internet: nr@princeton.edu, Telephone: (609)-258-55388 has developed Spider WEB. It appears to me to be a meta-WEB system. Using awk grammar files, he has generated Unix WEB's for Ada AWK, a string processing language Kernighan and Ritchie C C++, courtesy of Ed Kademan Edsger Dijkstra's language of guarded commands (flaky) The Larch Shared Language, used for specifying equational theories. Ada, extended with formal comments for verification The language of the Cornell Synthesizer Generator Spidery WEB is available by anonymous ftp from princeton.edu:~ftp/pub. See Ramsey. "Weaving A Language-Independent WEB," _CACM_, _32_, 9, September 1989. ===================================================================== Sylvester Fernandez, ngcr@planet8.planet8.sp.unisys.com [sic], has made corrections to the Ada Spider grammar. His corrections are supplied with Ramsey's standard distribution from princeton.edu. ===================================================================== Erich Neuwirth, a4422dab@awiuni11.bitnet, has adapted Ramsey's Unix code to MSDOS with the Microsoft "C" compiler. I found his work on host rusinfo.rus.uni-stuttgart.de, [129.69.1.12], in directory soft/tex/web/spiderweb. ===================================================================== An Ada WEB from Baker and Yu (Florida State University): ----------- Plain_WEB has the original WEB system with the webmac.tex file. You have to use the webmac.tex in order to get correct results. Ada_WEB has the compilable source file for Ada_WEB. Ada_WEB_Test has all Ada_WEB system test files, *.WEB. Tex_Files has all tex files. Y.C. Wu 1988 ----------- WARNING: These programs are known to have some bugs; be careful. There is one file in this directory that does not come from FSU. APE.macros -- Ada TeX macros from Stanford University (c). By the way another good way to handle Ada text in LaTeX is to use the verbatim environment and an auxiliarly program to extract the Ada code from the LaTeX file. I did this using a special macro (which ordinarily does nothing but expand to \begin{verbatim}) to include the name of the file I wanted the code to go onto. The typesetting quality is poor, but avoids problems with indentation since the font is fixed-width; it also insures agreement between Ada code and text in paper. --Ted Baker, 30 May 1989. Florida State University Tallahassee, FL 32306-4019 tpb@sei.cmu.edu (may be temporary) ===================================================================== From LP-Mgr@SHSU.edu Thu Aug 6 11:48:19 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA22494; Thu, 6 Aug 92 11:48:15 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from central.bldrdoc.gov by Niord.SHSU.edu (MX V3.1B) with SMTP; Thu, 06 Aug 1992 10:36:27 CDT Received: from lilac.csd.bldrdoc.gov by central.bldrdoc.gov (4.1/SMI-DDN) id AA10793; Thu, 6 Aug 92 09:34:11 MDT Received: by lilac.csd.bldrdoc.gov (5.64/SMI-3.2) id AA24541; Thu, 6 Aug 92 09:34:40 -0600 Date: Thu, 6 Aug 92 09:34:40 -0600 From: jongill@lilac.bldrdoc.gov (Jonathan M. Gilligan) Reply-To: LitProg@SHSU.edu Message-Id: <9208061534.AA24541@lilac.csd.bldrdoc.gov> To: LitProg@SHSU.edu In-Reply-To: "George D. Greenwade"'s message of Thu, 06 Aug 1992 07:32:11 CDT <0095EAE2.CAD5B780.9601@SHSU.edu> Subject: Knuth and CWEB (was: Literate Programming is not necessarily monolithic) George D Greenwade writes: I am still admitting a HUGE ignorance of virtually all high-level languages, but I think it's worth noting that Knuth's name is now attached to Silvio Levy's CWEB (now Levy-Knuth CWEB). It is relatively clear that Knuth not only has suggested that better interfaces should be built -- as I understand it, he has already made enhancements and extensions to other conceptual applications of WEB in other non-Pascal languages. I include an interesting article that Timothy Murphy of Trinity College in Dublin posted to the NTS mailing list a couple of months ago. ---Jon %%%%%%%%%%%%%%%%%%%%%%%%%% Begin included article %%%%%%%%%%%%%%%%%%%%%%%%% Return-Path: From: Timothy Murphy Subject: Re: Eradicating artificial limitations in NTS To: "Jonathan M. Gilligan" In-Reply-To: Jonathan M. Gilligan's message of Wed, 3 Jun 92 12:19:34 -0600 Date: Thu, 4 Jun 92 2:40:03 BST Sender: tim@maths.tcd.ie > First, I don't see the advantage of C over Pascal. Pascal supports > dynamic allocation, it has an ISO standard, and it is strongly typed, > which C is not. I think C is just great --- no language flame wars, > please --- but I don't believe that there is one best language in > which to write NTS. As well, I have spent enough time trying to port > abominable C code from UNIX to DOS to have been disabused forever of > the idea that C is automatically or easily portable. WEB could > presumably be extended rather simply to support dynamic allocation. I'm pretty sure that if Knuth were starting again he would use C rather than Pascal. We had the pleasure and honour of a long visit by him earlier this year, and he spent a great deal of his time hacking cweb. (This seemed the only part of TeX he was concerned with, at that time anyway.) He spoke strongly in favour of Literate Programming in C. He was absurdly modest about TeX, and complained that as he went round the world he found mathematicians everywhere crouched over their terminals typing in TeX when they should be in the library! When asked why he hadn't tried to make money out of TeX, he replied that he _had_ patented 1 algorithm (I wonder which one?) He was very interested and supportive of attempts to design an Irish font, and asked to see examples of old Irish printing. His own lectures, incidentally, were all handwritten in several colours on transparencies. Timothy Murphy e-mail: tim@maths.tcd.ie tel: +353-1-2842366 (home/office) +353-1-7021507 (university) fax: +353-1-2842295 s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland From LP-Mgr@SHSU.edu Fri Aug 7 20:57:21 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA29010; Fri, 7 Aug 92 20:57:18 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from relay2.UU.NET by Niord.SHSU.edu (MX V3.1B) with SMTP; Fri, 07 Aug 1992 20:48:42 CDT Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay2.UU.NET with SMTP (5.61/UUNET-internet-primary) id AA19396; Fri, 7 Aug 92 21:47:10 -0400 Received: from ravel.UUCP by uunet.uu.net with UUCP/RMAIL (queueing-rmail) id 214606.20293; Fri, 7 Aug 1992 21:46:06 EDT Received: by ravel.sli.com (5.61/smail2.5/04-29-92) id AA03083; Fri, 7 Aug 92 21:12:59 -0400 Date: Fri, 7 Aug 92 21:12:59 -0400 From: mfy@sli.com (Mike Yoder) Reply-To: LitProg@SHSU.edu Message-Id: <9208080112.AA03083@ravel.sli.com> To: LitProg@SHSU.edu In-Reply-To: dan@minster.york.ac.uk's message of Wed, 5 Aug 92 15:44:47 Subject: LP -- pros & contras Daniel Kustrin wrote: >Has anyone had good/bad experiences with large programs in CWEB and if so are >there things that we (novices) should know. There is a problem I encountered with LP which can be very serious in large programs and fairly minor in small ones. It can be described as the problem of incrementality; it can either be fixed in your LP tool or, possibly, in your make files and source control. Suppose you have a large program written using LP techniques, and now say that you want to edit its documentation WITHOUT changing anything in the code. You do so, and now your generated Ada or C or whatever looks out of date with respect to the LP source. So, the next time you do a "make" command, the LP program will run, generating a new program (which happens to be the same as the old one); its binaries now look out of date, so the compiler is invoked to recompile the source; any modules that depend on this one may also end up getting recompiled, and finally your linker will link the whole mess. The result can be a very long and time-consuming null operation. I solved this problem by having my LP tool compare all generated sources to their old versions (when such existed) and to simply delete the new source if it was the same as the old. This makes all the dates look the way you want, so a "make" will rebuild just what it would rebuild if you hadn't used LP techniques. Using this technique makes LP be an improvement over the technique of using special comments, because in the latter method make will still recompile your program if you edit only parts of the program that are inside comments. I think that this ability is essential to an LP system used with large programs (even with medium-sized programs, doing without it is painful). And yes, this does mean that I think the special comments method is inadequate for doing LP with large programs. Michael F. Yoder [mfy%sli@uunet.uu.net] From LP-Mgr@SHSU.edu Mon Aug 10 01:47:00 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA21789; Mon, 10 Aug 92 01:46:57 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from procyon.math.uiuc.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 10 Aug 1992 00:41:54 CDT Received: by procyon.math.uiuc.edu id AA03546 (5.65d/IDA-1.4.3 for litprog@shsu.edu); Mon, 10 Aug 1992 00:40:29 -0500 Date: Mon, 10 Aug 1992 00:40:29 -0500 From: Cameron Smith Reply-To: LitProg@SHSU.edu Message-Id: <199208100540.AA03546@procyon.math.uiuc.edu> To: litprog@shsu.edu Subject: K&R CWEB sample requires current software This posting explains some problems a couple of users have had with my sample CWEB program, and how to work around at least one of them. Two alert users of my CWEB sample program (based on the calculator program from Chapter 4 of the K&R C book) have reported problems TeX'ing the cweave output from "calc.w". Both of them reported the following behavior: * TeX prompts for input from the keyboard when it ought to be reading from the file "mod.lst" As far as I can tell from the feedback I've received, this happens *only* to people using pre-3.0 versions of TeX. Apparently the "\par" token that is supposed to be generated at end-of-file (which is what the code in "calc.w" uses to detect that it has read all of "mod.lst") isn't generated by older versions of TeX, at least not in this circumstance. Perhaps someone more familiar than I am with the recent evolution of TeX may recognize this as a bug in file-reading that was fixed in release 3.0 or later? At any rate, since the versions of TeX for which this failure has been reported are three or more years old now, I don't regard this as a critical defect, but I do advise anyone who is using so old a version to get an update ASAP (whether or not s/he wishes to try out my CWEB sample program). Meanwhile, for those for whom an upgrade is not an immediate possibility (because the TeX maintainers have other tasks in their queues), you can patch things to work by adding the line echo "\par" >> mod.lst to the Makefile in the actions for the "mod.lst" target (after the line that writes the module names to the file); this explicit \par token signals the loop that reads the module names from "mod.lst" that the end of the list has arrived. (For those not familiar with the "make" utility, please note that this line *must* begin with a tab character to be recognized properly; spaces will NOT do!) In addition, one of the respondents reported problems that turned out to be related to the use of an antique version (2.0) of CWEB. The macros in "cwebmac.tex" had changed sufficiently to be slightly incompatible with the (admittedly rather grungy) code in "calc.w". This can, of course, easily be fixed by obtaining the current version of CWEB (via FTP from labrea.stanford.edu or niord.shsu.edu, or via email from FILESERV@niord.shsu.edu). The CWEB utilities (ctangle and cweave) are easy to compile; they, and the "cwebmac.tex" file, are all you need in order to use CWEB, so this (unlike TeX) is something that shouldn't be too hard for individual users to set up without requiring the aid of system gurus (although of course if there are many CWEBsters at one site it's better to have a single shared copy of each tool than to have each user comiler his/her own). Finally, the same person also reported problems when using a Sun C++ compiler (the only ANSI-compatible C compiler available to him) to compile the output of ctangle. It seems that this compiler does not respect the "static" declaration; the effect in the calculator program is that hash is made of the routines that manipulate the operand stack. (Yes, folks, this poor soul had problems with TeX *and* CWEB *and* his compiler; it's amazing he got anything to work at all!) In summary, to make everything in the sample program work "as is", you need: * a reasonably current (at least 3.0) version of TeX, * a reasonably current version of CWEB, and * an ANSI-compatible, reasonably correct C compiler. And if you have these, it *does* work -- at least, as far as I've been able to tell from the feedback I've received so far. Just thought I'd point this out since these questions have popped up in the last couple of days; I'll add specific warnings to the README file if I release a new version. Thanks to all who have sent feedback! To others who have tried it, remember: Even if you have no bugs to report, or comments or suggestions for improvement, I'd still be interested in knowing what systems it has been successfully compiled with (and so, I'm sure, would other potential users, who would be encouraged to be able to see in the README file that it is indeed possible to get the program to work on their configurations!). Cheers-- --Cameron Smith From LP-Mgr@SHSU.edu Mon Aug 10 05:47:46 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA24945; Mon, 10 Aug 92 05:47:44 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from netcomsv.netcom.com by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 10 Aug 1992 05:39:06 CDT Received: from aix3.UUCP by netcomsv.netcom.com with UUCP (4.1/SMI-4.1) id AA14407; Mon, 10 Aug 92 03:37:44 PDT Received: by aix3.ema.com (AIX 3.2/UCB 5.64/4.03) id AA35920; Tue, 4 Aug 1992 14:13:53 -0400 Date: Tue, 4 Aug 1992 14:10:01 +22313801 (EDT) From: Joey Gibson Reply-To: LitProg@SHSU.edu Subject: Help with function pointers To: LitProg Mail-List Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII In a web i created, I had the following declaration: void far (*reset)(); to indicate a function pointer. When I tangle it, it works fine. COmpiles without error. When I weave it, however, weave thinks it is a function named far and typesets it like this: void far(*reset)(); I know the space between far and the '(' is not a lot, but it does help to explain the meaning of the code. If anyone knows how to fix this, let me know. BTW, I am using FWeb, v1.23 for the PC. Joey Gibson ===> Please address all E-mail to ===> The views expressed here are not necessarily those of EMA. From LP-Mgr@SHSU.edu Mon Aug 10 07:17:16 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA28097; Mon, 10 Aug 92 07:17:14 MDT Message-Id: <9208101317.AA28097@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from DOSUNI1.BITNET (MAILER) by SHSU (MX V3.1B) with BSMTP; Mon, 10 Aug 1992 07:14:44 CDT Received: from DOSUNI1 (HHBODE) by DOSUNI1.BITNET (Mailer R2.08) with BSMTP id 1601; Mon, 10 Aug 92 14:12:36 MEZ Date: Mon, 10 Aug 92 14:11:46 MEZ From: Hans-Hermann Bode Reply-To: LitProg@SHSU.edu Subject: Re: Help with function pointers To: litprog@SHSU.edu, wjg@aix3.ema.com Joey Gibson wrote: >In a web i created, I had the following declaration: > >void far (*reset)(); > >to indicate a function pointer. When I tangle it, it works fine. >COmpiles without error. When I weave it, however, weave thinks >it is a function named far and typesets it like this: > >void far(*reset)(); Say @f far int somewhere in your source. Weave does not by default recognize |far| as a reserved word (this is definitely true for CWEAVE, but I think it's true for FWEAVE, too). Hans-Hermann Bode Arbeitsgruppe Systemforschung, Universit\"at Osnabr\"uck Tel.: (49)-541-9692545 e-mail: HHBODE@DOSUNI1.BITNET From LP-Mgr@SHSU.edu Mon Aug 10 10:18:40 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA00657; Mon, 10 Aug 92 10:18:37 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from psuvax1.cs.psu.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 10 Aug 1992 10:10:46 CDT Received: from omega.theory.cs.psu.edu ([130.203.2.6]) by psuvax1.cs.psu.edu with SMTP id <291973>; Mon, 10 Aug 1992 11:09:37 -0400 Received: by omega.theory.cs.psu.edu (4.1/SMI-4.0) id AA21193; Mon, 10 Aug 92 10:59:48 EDT Date: Mon, 10 Aug 1992 10:59:48 -0400 From: sanjeev@theory.cs.psu.edu (Sanjeev Y. Dharap) Reply-To: LitProg@SHSU.edu Message-Id: <9208101459.AA21193@omega.theory.cs.psu.edu> To: LitProg@SHSU.edu In-Reply-To: Joey Gibson's message of Tue, 4 Aug 1992 14:10:01 +22313801 (EDT) Subject: Help with function pointers Recently you wrote: Joey> In a web i created, I had the following declaration: Joey> void far (*reset)(); Joey> to indicate a function pointer. When I tangle it, it works fine. Joey> COmpiles without error. When I weave it, however, weave thinks Joey> it is a function named far and typesets it like this: Joey> void far(*reset)(); Try making the foll. declaration @f far int hope that helps, sanjeev ---- sanjeev dharap | penn state university | sanjeev@cs.psu.edu 333 whitmore lab | university park, pa 16802 | From LP-Mgr@SHSU.edu Mon Aug 10 15:42:48 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA07415; Mon, 10 Aug 92 15:42:45 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from netcomsv.netcom.com by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 10 Aug 1992 15:02:22 CDT Received: from aix3.UUCP by netcomsv.netcom.com with UUCP (4.1/SMI-4.1) id AA08712; Mon, 10 Aug 92 13:00:53 PDT Received: by aix3.ema.com (AIX 3.2/UCB 5.64/4.03) id AA32300; Mon, 10 Aug 1992 15:18:04 -0400 Date: Mon, 10 Aug 1992 15:16:12 +22313801 (EDT From: Joey Gibson Reply-To: LitProg@SHSU.edu Subject: FWeb on the Mac? To: LitProg Mail-List Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Has anyone tried to compile FWeb v1.23 on a Macintosh? I was considering trying to make it an MPW tool, but if someone else has already done this I would like to know. Joey Gibson => "In the country of the blind, the one-eyed man is king." H.G. Wells <= ===> The views expressed here are not necessarily those of EMA. <== From LP-Mgr@SHSU.edu Tue Aug 11 12:39:36 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA09694; Tue, 11 Aug 92 12:39:33 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from minster.york.ac.uk by Niord.SHSU.edu (MX V3.1B) with SMTP; Tue, 11 Aug 1992 12:21:42 CDT From: dan@minster.york.ac.uk Reply-To: LitProg@SHSU.edu Date: Tue, 11 Aug 92 18:13:57 Message-Id: To: LitProg@SHSU.edu Subject: CWEB I am having a small (suite) of problem(s) with CWEB. One of the more irritating is that it does not type set the following correctly: typedef enum { SINIT, /* task initialised */ SRUN, /* ready to run */ STERM, /* task terminated */ SACCEPT, /* waiting for corresponding entry */ ENTRYQ, /* queued for corresponding accept */ /* and so on for a few more states */ } STATE; Now we all see that STATE is a type. CWEB belives that it is a variable. Although @f would work I don't want to have more @f statements then code... Also can I stop CWEB formating my C code. I am happy with the current layout of my code, and I am not happy with the way WEB attacked it and reformated it. Not nice. Can anyone help? --Dan From LP-Mgr@SHSU.edu Tue Aug 11 12:50:26 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA09766; Tue, 11 Aug 92 12:50:16 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from psuvax1.cs.psu.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Tue, 11 Aug 1992 12:14:32 CDT Received: from omega.theory.cs.psu.edu ([130.203.2.6]) by psuvax1.cs.psu.edu with SMTP id <293039>; Tue, 11 Aug 1992 13:13:16 -0400 Received: by omega.theory.cs.psu.edu (4.1/SMI-4.0) id AA01887; Tue, 11 Aug 92 13:11:32 EDT Date: Tue, 11 Aug 1992 13:11:32 -0400 From: sanjeev@theory.cs.psu.edu (Sanjeev Y. Dharap) Reply-To: LitProg@SHSU.edu Message-Id: <9208111711.AA01887@omega.theory.cs.psu.edu> To: LitProg@SHSU.edu Subject: Help with change file. Is this a bug? Hi, I am using CWEB Version 2.4. I wanted to make the following changes to common.w 1. Print an error message if .c file already exists. (So I dont overwrite it with what should have been a .h file). 2. If the change file name is 'null' or '/dev/null' make the change-file name /dev/null. (so I can give a command 'ctangle foo-h.w null foo.h) 3. Increase buf_size to 256. I copied common.w to common.w.modified, made the changes I wanted and created the change-file using a unified diff. (I have attached the perl script to do that at the bottom). The change file is also attached. Here's what happened. > ctangle common common-syd.ch This is CTANGLE (Version 2.4) *1*5*7 ! Hmm... 8 of the preceding lines failed to match. (l. 65 of change file) @y *27*46*54*63*67 Writing the output file (common.c):.....500.. Done. (Pardon me, but I think I spotted something wrong.) I noticed that the error occurs because there is a partial match between lines 1019 and 1035 of common.w (namely) 1019 if (s-*argv > max_file_name_length-5) 1035 if (s-*argv > max_file_name_length-4) If I make a small change near 1019 (like adding a space) then that line gets included in the change file and ctangle does not give any errors. I think there is sufficient context in the change file to make the chunk in question unique. Am I doing anything wrong? thanx sanjeev. ---- common-syd.ch ------- @x % permission notice identical to this one. \def\v{\char'174} % vertical (|) in typewriter font \def\title{Common code for CTANGLE and CWEAVE (Version 2.4)} \def\topofcontents{\null\vfill \centerline{\titlefont Common code for {\ttitlefont CTANGLE} and {\ttitlefont CWEAVE}} \vskip 15pt \centerline{(Version 2.4)} \vfill} \def\botofcontents{\vfill \noindent Copyright \copyright\ 1987,\thinspace1990 Silvio Levy and Donald E. Knuth @y % permission notice identical to this one. \def\v{\char'174} % vertical (|) in typewriter font \def\title{Common code for CTANGLE and CWEAVE (Version 2.41)} \def\topofcontents{\null\vfill \centerline{\titlefont Common code for {\ttitlefont CTANGLE} and {\ttitlefont CWEAVE}} \vskip 15pt \centerline{(Version 2.41)} \vfill} \def\botofcontents{\vfill \noindent Copyright \copyright\ 1987,\thinspace1990 Silvio Levy and Donald E. Knuth @z @x Since |buf_size| is strictly less than |long_buf_size|, some of \.{WEB}'s routines use the fact that it is safe to refer to |*(limit+2)| without overstepping the bounds of the array. @d buf_size 100 /* for \.{WEAVE} and \.{TANGLE} */ @d long_buf_size 500 /* for \.{WEAVE} */ @= char buffer[long_buf_size]; /* where each line of input goes */ char *buffer_end=buffer+buf_size-2; /* end of |buffer| */ @y Since |buf_size| is strictly less than |long_buf_size|, some of \.{WEB}'s routines use the fact that it is safe to refer to |*(limit+2)| without overstepping the bounds of the array. @d buf_size 256 /* for \.{WEAVE} and \.{TANGLE} */ @d long_buf_size 656 /* for \.{WEAVE} */ @= char buffer[long_buf_size]; /* where each line of input goes */ char *buffer_end=buffer+buf_size-2; /* end of |buffer| */ @z @x { if (s-*argv > max_file_name_length-4) @; if (dot_pos==NULL) sprintf(change_file_name,"%s.ch",*argv); else strcpy(change_file_name,*argv); found_change=1; } @y { if (s-*argv > max_file_name_length-4) @; if (dot_pos==NULL) if (strcmp(change_file_name, "null")) strcpy(change_file_name, "/dev/null"); else sprintf(change_file_name,"%s.ch",*argv); else strcpy(change_file_name,*argv); found_change=1; } @z @x @ @= scan_args(); if (program==tangle) { if ((C_file=fopen(C_file_name,"w"))==NULL) fatal("! Cannot open output file ", C_file_name); @.Cannot open output file@> } @y @ @= scan_args(); if (program==tangle) { if ( access(C_file_name, 0) == 0) { fprintf(stderr, "File %s exists!\n", C_file_name); exit(1); } if ((C_file=fopen(C_file_name,"w"))==NULL) fatal("! Cannot open output file ", C_file_name); @.Cannot open output file@> } @z ------------------------ Perl script to generate change-files --------- makechange------- #!/usr/bin/perl # Make .ch file from the diff of two files. # # usage : makech orig-file changed-file # $me = $0; $me =~ s/^.*\///; die "usage: $me orig-file changed-file\n" unless $#ARGV == 1; open (FOO, "gdiff +unified=4 $ARGV[0] $ARGV[1] |"); ; ; ; while ($line = ){ $k = substr($line, 0, 1); $line =~ s/.//; $first .= $line, $second .= $line if ($k eq ' '); $first .= $line if ($k eq '-'); $second .= $line if ($k eq '+'); if ($k eq '@'){ print STDOUT "@x\n$first@y\n$second@z\n"; $first = ''; $second = ''; } } print STDOUT "@x\n$first@y\n$second@z\n"; --------------------------- sanjeev ---- sanjeev dharap | penn state university | sanjeev@cs.psu.edu 333 whitmore lab | university park, pa 16802 | From LP-Mgr@SHSU.edu Tue Aug 11 14:15:38 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA11317; Tue, 11 Aug 92 14:15:31 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from mira.math.uiuc.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Tue, 11 Aug 1992 14:09:30 CDT Received: by mira.math.uiuc.edu id AA00919 (5.65d/IDA-1.4.3 for LitProg@SHSU.edu); Tue, 11 Aug 1992 14:08:20 -0500 Date: Tue, 11 Aug 1992 14:08:20 -0500 From: Cameron Smith Reply-To: LitProg@SHSU.edu Message-Id: <199208111908.AA00919@mira.math.uiuc.edu> To: LitProg@SHSU.edu Subject: Re: CWEB Dan (dan@minster.york.ac.uk) writes: > [complaint about CWEB not parsing a "typedef enum" correctly...] > Also can I stop CWEB formating my C code. I am happy with the current > layout of my code, and I am not happy with the way WEB attacked it and > reformated it. Not nice. This is my own main complaint with CWEB: it is at once too dumb and too clever in its formatting. The idea of being able to write little "scraps" of code in any order and poof! have ctangle magically assemble them into a coherent program is *really* *nice*, but I'm still not convinced that the convenience of this is worth putting up with the manhandling that my code suffers at the hands of cweave. After all, let's face it: until things reach the point where we can directly edit the beautifully typeset output of cweave and TeX, the major benefit of all this typographic niceness is in producing legible documentation for archival purposes and for the benefit of future programmers (including ourselves) who come in to work on our code. While we're still in the heat of creation, we look at the WEB source 10 times as often as the typeset listing. (This is my own experience; others should of course feel free to relate their own!) And that means that to get work done, we still must manually maintain a fairly sanely indented source file. To do this we each develop a layout style that makes sense to us. I for one find it MOST IRRITATING to have my code reformatted into someone else's style. When the reformatting actually introduces semantic confusion because the "clever" tool has misunderstood my code, it's downright infuriating. Perhaps this is petty, but it's so. Now, if it didn't involve actually rewriting the cweave program I'd consider fixing this, doing a little customizing to suit my taste, but I just don't have the *time* to tinker with someone else's massive and complicated monolithic program. Don't tell me that just tinkering with "prod.w" will fix this; it won't. *Far* *too* *much* of the typesetting "smarts" is hard-coded into cweave itself. For example, I wanted to change the way indenting is handled in short if/else constructs: instead of having if (a>b) x = y - 2; else t = 4; I wanted if (a>b) x = y - 2; else t = 4; Never mind whether this is better or worse; I wanted it. "OK," I said, "I'll just find the TeX macro that cweave emits after an if condition, and redefine it to make a line break and indentation." Not that hard to do by looking at the TeX file created by cweave and the macros from cwebmac.tex. Great. But the SAME TEX MACRO is used to do six other kinds of indentation (such as laying out type declarations of variables), so there's no way to change the if's without changing those too. Levy and Knuth just *knew* the "right" way to handle these things, so they "optimized" the code by collapsing two logically distinct operations into one, so I would have to re-write God knows how much of cweave to get this fixed. And of course it's not worth it, so I either grit my teeth and live with it, or I don't use CWEB. If CWEB is really going to fly, it needs to be redesigned so that a great deal of the formatting decision-making is decoupled from the compiled code. Ideally, it would be table-driven; CWEB would be distributed with a default set of formatting tables implementing the Levy/Knuth style, but there would be a fairly transparent configuration program that each user could run to generate his/her own private layout tables. Parser generator tools like lex and yacc, or tools for generating tables from precedence grammars, already exist and could perhaps be adapted to this purpose. Also, the TeX code would use separate names for each logical function, several of which could by default be equated via \let to the same action, but with the cweave output using the different names in different circumstances so you could redefine the format of "if (a>b) x=2" without also reformatting "int x,a,b". I will allow as how it's not reasonable to expect Knuth to have looked ahead and anticipated all of this when he designed the original WEB, and I know that Levy simply made the minimal set of changes to adapt WEB to C in making CWEB. I don't mean to disparage what they've done. But as Fred Brooks said in "The Mythical Man-Month": "Plan to throw one away; you will anyway." In "The Errors of TeX" Knuth confesses that he had qualms about letting the first TeX out for testing by others, because as long as he was the only user, if he found something about the language that he didn't like he could simply change the specification and rewrite the code. But he knew that he couldn't expect everyone who needed TeX to do a task that he hadn't anticipated to rewrite the program to make it work. But this is EXACTLY the situation we face with cweave. Now that we have some experience with WEB derivatives being used by many people other than their implementors, if we're still serious about this approach to Literate Programming, then we really need to think about designing a better LP tool. It must be more customizable, it must be better able to interact with make (no more re-compiling code because the comments changed!), etc. etc. I myself would LOVE to take off a year or two and work just on this, but I'm not a tenured fellow of anything and haven't been endowed or granted, so I'll have to decline. But I'd be very willing to contribute to a group effort on an as-time-permits basis. Is there a grad student out there looking for a thesis topic who'd be interested in spending a couple of years coordinating a distributed volunteer effort? Are there other LITPROG readers who'd be interested in working with a dozen or more people you've never met on a not-for-profit project? Am I simply dreaming? Meanwhile, I've promised to tone down my comments about c-no-web, so I'll just quietly mention that it NEVER rearranges line breaks, and then leave all of you to draw your own conclusions... ;-) Have a Literate Day-- --Cameron Smith cameron@symcom.math.uiuc.edu From LP-Mgr@SHSU.edu Tue Aug 11 20:25:11 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA16137; Tue, 11 Aug 92 20:25:08 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from dutepp13.et.tudelft.nl by Niord.SHSU.edu (MX V3.1B) with SMTP; Tue, 11 Aug 1992 15:28:19 CDT Received: by dutepp13.et.tudelft.nl id AA05025 (5.65c/IDA-1.4.4 for LitProg@SHSU.edu); Tue, 11 Aug 1992 22:27:08 +0200 Date: Tue, 11 Aug 1992 22:27:08 +0200 From: Richard Kooijman DNPAP Reply-To: LitProg@SHSU.edu Message-Id: <199208112027.AA05025@dutepp13.et.tudelft.nl> To: LitProg@SHSU.edu Subject: Re: CWEB I myself use NOWEB. It is simple and leaves all your code alone. You miss out on features likes @d and @f but the first is language specific and the latter not needed since NOWEB doesn't need hints on how to 'interpret' your code (it just copies it the way it is). It only understands @ to begin a chunk of documentation, <<...>>= to start or continue a named chunk of code and <<...>> to insert a chunk of code. Furthermore it comes with some utilities (that may have their equivalents in other implementations, but I don't know those enough) like noroots to display the code chunks that have no parents in the hierarchy, nountangle to tangle code but put the docu in comments. And of course there are equivalents of tangle and weave. It's simple and fast and language independent. Just my humble opinion, Richard. From LP-Mgr@SHSU.edu Tue Aug 11 20:27:36 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA16145; Tue, 11 Aug 92 20:27:31 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from conch.vast.unsw.edu.au by Niord.SHSU.edu (MX V3.1B) with SMTP; Tue, 11 Aug 1992 17:35:07 CDT Received: from mucket.vast.unsw.edu.au by conch.vast.unsw.edu.au with SMTP id AA15460 (5.65c/IDA-1.4.4 for ); Wed, 12 Aug 1992 08:33:50 +1000 Received: by mucket.vast.unsw.edu.au (5.65c/client-1.3) id AA00250; Wed, 12 Aug 1992 08:33:52 +1000 Message-Id: <199208112233.AA00250@mucket.vast.unsw.edu.au> To: LitProg@SHSU.edu Subject: Re: CWEB In-Reply-To: Your message of "Tue, 11 Aug 92 14:08:20 EST." <199208111908.AA00919@mira.math.uiuc.edu> Date: Wed, 12 Aug 92 08:33:51 +1000 From: stevea@vast.unsw.edu.au Reply-To: LitProg@SHSU.edu Hi all, Cameron sez: > This is my own main complaint with CWEB: it is at once too dumb and > too clever in its formatting... and goes on to say (after a bit of griping about cweave): > It must be more customizable, it must be better able to interact with > make (no more re-compiling code because the comments changed!), etc. > etc... I don't know exactly how customizable it is, but have you considered playing with something like Norman Ramsey's Spidery WEB? It allows you to specify the grammar and how you would like it formatted, which is a feature I like (I've already modified the way it handles keywords like "extern", and it only took me about half an hour, and thats starting from scratch). If you really wanted to rewrite the way weave treats your code, this is a good place to start, without having to rewrite the entire WEB code. cheers -steve From LP-Mgr@SHSU.edu Wed Aug 12 01:32:16 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA19409; Wed, 12 Aug 92 01:32:12 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from antares.math.uiuc.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 12 Aug 1992 01:25:25 CDT Received: by antares.math.uiuc.edu id AA06297 (5.65d/IDA-1.4.3 for LitProg@SHSU.edu); Wed, 12 Aug 1992 01:24:20 -0500 Date: Wed, 12 Aug 1992 01:24:20 -0500 From: Cameron Smith Reply-To: LitProg@SHSU.edu Message-Id: <199208120624.AA06297@antares.math.uiuc.edu> To: LitProg@SHSU.edu Subject: Re: CWEB Thanks for the pointers to Spider WEB and NOWEB (both of which are creations of Norman Ramsey, I believe). I (obviously) haven't tried either one; I will make an effort to do so in the near future. >From the brief descrioptions it sounds like NOWEB is easier to get working in a hurry but Spider WEB is closer to my own personal idea of what an LP tool should be (i.e. I don't mind having code reformatted for typesetting as long as I can control the nature and extent of the reformatting). At any rate, I've heard of both products before but never until now had a reason to try them. Thanks again-- --Cameron From LP-Mgr@SHSU.edu Wed Aug 12 11:54:49 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA28321; Wed, 12 Aug 92 11:54:46 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from neuron.cs.tamu.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 12 Aug 1992 09:52:56 CDT Received: from cs.tamu.edu (solar.cs.tamu.edu) by neuron.cs.tamu.edu (AA22046); Wed, 12 Aug 92 09:50:26 CDT Date: Wed, 12 Aug 92 09:50:26 CDT From: bart@cs.tamu.edu (Bart Childs) Reply-To: LitProg@SHSU.edu Message-Id: <9208121450.AA22046@neuron.cs.tamu.edu> To: LitProg@shsu.edu Subject: Re: CWEB Yes, they are both creations of Norman Ramsey. I am sympathetic to your views of what LP tools shoule be (rather I am in complete agreement) but I fear making them so complex that they will be harder to use. To achieve what you want may require a significant extension of the `webmac.tex' that must be more or less standard with Spider. I think that it would be a little more direct than trying to change an existing weave, except possibly fweave. John may have put enough of that into it. It probably also helps that fwebmac.sty is a web created from fwebmac.web. I am going to go ahead and submit the note to the list. Best regards Bart From LP-Mgr@SHSU.edu Wed Aug 12 15:31:48 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA02021; Wed, 12 Aug 92 15:31:39 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from UCBEH.SAN.UC.EDU by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 12 Aug 1992 08:17:46 CDT Received: from ucunix.san.uc.edu by UCBEH.SAN.UC.EDU (PMDF #2697 ) id <01GNHM5J7JXC8WX1Z0@UCBEH.SAN.UC.EDU>; Wed, 12 Aug 1992 09:18:25 EST Received: by ucunix.san.uc.edu (5.65/Ultrix3.0-C) id AA28919; Wed, 12 Aug 92 09:14:27 -0400 Date: 12 Aug 1992 09:14:26 -0400 (EDT) From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga) Subject: Re: K&R CWEB sample In-Reply-To: <199208100540.AA03546@procyon.math.uiuc.edu>; from "Cameron Smith" at Aug 10, 92 12:40 am To: LitProg@SHSU.EDU Reply-To: LitProg@SHSU.edu Message-Id: <9208121314.AA28919@ucunix.san.uc.edu> X-Envelope-To: LitProg@SHSU.EDU Content-Transfer-Encoding: 7BIT X-Mailer: ELM [version 2.3 PL11] Cameron Smith wrote: > remember: Even if you have no bugs to report, or comments or suggestions > for improvement, I'd still be interested in knowing what systems it has > been successfully compiled with (and so, I'm sure, would other potential > users, who would be encouraged to be able to see in the README file that > it is indeed possible to get the program to work on their configurations!). K&R CWEB sample programs, and CWEB 2.4 both run on linux 0.97-patch1 (and probably other versions too), with gcc 2.2.2 for linux. As a matter of fact, this is a very nice setup for trying out literate programming. I've also got fweb and noweb (and c-no-web) running, although fweave drops core with a SIGIOT when writing the index. Actually, noweb even works under DOS if you replace the slick shell scripts with dumb batch files and use the Icon versions of nw and noxref. I'm still not happy. I want a tool that lets me write LaTeX in the documentation section _and_ pipes my code through tgrind _and_ is easy to use and clean. I think noweb comes close, I just need to see if I can convice it to print my code out better. I think syntactical highlighting is an important part of what literate programming should be. -- Humberto Ortiz-Zuazaga zuazaga@ucunix.san.uc.edu Dept. of Physiology & Biophysics University of Cincinnati From LP-Mgr@SHSU.edu Wed Aug 12 18:12:25 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA04281; Wed, 12 Aug 92 18:12:18 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from neuron.cs.tamu.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 12 Aug 1992 17:29:13 CDT Received: from lanczos (lanczos.cs.tamu.edu) by neuron.cs.tamu.edu (AA07480); Wed, 12 Aug 92 17:26:46 CDT Message-Id: <9208122226.AA07480@neuron.cs.tamu.edu> Received: by lanczos (AIX 3.1/UCB 5.61/15.6) id AA12303; Wed, 12 Aug 92 17:24:01 -0500 Date: Wed, 12 Aug 92 17:24:01 -0500 From: bart@cs.tamu.edu Reply-To: LitProg@SHSU.edu To: litprog@shsu.edu Subject: Tailorable Literate Programming systems Cameron Smith's arguments are well stated. If you read the documentation that Krommes wrote in his FWEB (and it also does C and C++) you can see that he experienced some of the same pains that Dan and Cameron are talking about. I agree with them and have suggested many times that we need a ``tailorable'' LitPgm system. Norman Ramsey also used the argument that some languages need to keep the programmers `line breaks and indentation' in his design of NOWEB. One word of caution about `tailorable' LitPgm systems. One good CS philosopher noted (approximately) ``if you want to make a user interface unuseable, add functionality to it.'' The creation of a system to aid the ``ordinary literate programmer'' in maintaining or creating his/her own `preferred style' would be a monster. For example, in WEB/CWEB the @: format uses the \9 TeX control sequence (in FWEB it is @9). I have probably written more lines of WEB than most and have caused a large number of students to do so; none of us have ever defined the \9 to tailor anything. I apparently am a bit different from Cameron in that I rely on the weave/tex output extensively. I do that in spite of having a nice 1280/1024 Xterminal on my desk and the printer being at the other end of the building. Also, I AM CONVINCEd of the value of the nice formatting. I have no desire for a WYSIWYG system because WYSIWYG is a lie! What you see on the screen is at best a poor approximation of what even a low resolution device like a laser printer gives. (I don't even have convenient access to a 400dpi NeXT printer much less a high resolution device.) I usually study the code in the weave/tex output stage and when editing I want to see the escapes into code mode (|code_mode|). Too many programmers will not use long names with the underscore and italicized words are easily confused with variables. His `10 times as often' is overstated for me, but he still makes a good point. Although I am a tenured professor, I plan to put up with the indentation's ... until a willing graduate student comes along and is willing to do that work along with some tests that would help us understand its benefits, costs, ... Obviously, it does not infuriate me. I would use the word annoy. Incidentally, I also would not call it monolithic: weave.w, common.w, prod.w, ... Cameron gave a good example of a need for tailoring: if (a>b) x = y - 2; else t = 4; Although I also prefer his form, in textual matter it is quoted as common knowledge that the most readable information has 9 to 12 words per line. Counting each `word', delimiter, variable, and operator as a word, the first has 11 and the second has 4. It would not surprise me that a code beautifully typeset and using the `9 to 12' rule might be more comprehendable. The reason (IMHO) that we prefer these skinny presentations is that we have been trained to expect code in that fashion. I have trouble reading skinny Fortran codes, C codes with indentation based on 8-space tabs, C codes with aligned braces, and aligned right texts using monospace fonts. In the paragraph where he mentions: Levy and Knuth just *knew* the "right" way Don and Silvio are both great talents but I am sure they meant WEB and CWEB to be simply a first step at making systems available for the writing of better codes. I have not spent a lot of time studying Spider, but I thought that some of the `table-driven' part is there. It probably relys on a fairly small spidermac.tex/sty. That may be a place to start. I recall a lot of the earlier submissions being about WEB systems too big to work on PCs. Wouldn't making these `tailorable' also cause even more problems in the same line? We need to keep such users in mind, but not as the primary design criteria. I believe that OS/2 and MAC-Sys 7 are both virtual memory systems. Cameron's quotes of Brooks and Knuth are well chosen. Knuth has also said a number of times about how much he has learned from making codes available for the public to help him debug. Alas, we striving to do literate programming have lost him to volume 4 of ACP. I think that he would be pleased with these kinds of discussion and that he will leave the changes for us to design and implement. The questions Cameron asked in his last paragraph are good and the project(s) worthwhile. I believe the bigger contributions will be in the building of better user interfaces between things like RCS, imake, dbx, and non-monolithic webs. My compliments to the subscribers for some really good comments about literate programming ..., especially Cameron and Tim's note about Knuth's visit to Ireland. Bart Childs From LP-Mgr@SHSU.edu Wed Aug 12 19:33:43 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA04535; Wed, 12 Aug 92 19:33:41 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from salmon.maths.tcd.ie by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 12 Aug 1992 18:58:11 CDT From: Timothy Murphy Reply-To: LitProg@SHSU.edu Subject: Re: Help with change file. Is this a bug? To: LitProg@SHSU.edu In-Reply-To: Sanjeev Y. Dharap's message of Tue, 11 Aug 1992 13:11:32 -0400 Date: Thu, 13 Aug 92 0:57:05 BST Sender: tim@maths.tcd.ie Message-Id: <9208130057.aa00245@salmon.maths.tcd.ie> > I think there is sufficient context in the change file to make the > chunk in question unique. Am I doing anything wrong? I don't think WEB or CWEB look much at the context. They just try to match the first line of the change. So if your change starts with something like @ it is very likely to be mistaken for somewhere else. Timothy Murphy e-mail: tim@maths.tcd.ie tel: +353-1-2842366 (home/office) +353-1-7021507 (university) fax: +353-1-2842295 s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland From LP-Mgr@SHSU.edu Wed Aug 12 22:35:31 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA06717; Wed, 12 Aug 92 22:35:28 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from inet-gw-2.pa.dec.com by Niord.SHSU.edu (MX V3.1B) with SMTP; Wed, 12 Aug 1992 21:19:01 CDT Received: by inet-gw-2.pa.dec.com; id AA09114; Wed, 12 Aug 92 19:17:56 -0700 Received: from skanda.zko.dec.com by decuac.DEC.COM (5.65/Ultrix-fma)id AA01058; Tue, 11 Aug 92 16:45:44 -0400 XXX Received: by skanda.zko.dec.com (5.57/ULTRIX-fma-111690);id AA15330; Tue, 11 Aug 92 16:43:20 -0400 Date: Tue, 11 Aug 92 16:43:20 -0400 From: ras@skanda.zko.dec.com (Bob Surtees) Reply-To: LitProg@SHSU.edu Message-Id: <9208112043.AA15330@skanda.zko.dec.com> To: LitProg@SHSU.edu Subject: CWEB formatting One of the things I like about CWEB is that cweave *does* format the code fairly consistantly so I don't have to be concerned about the different ways different people prefer to pretty their code. Perhaps there should be an execution switch and possibly some sort of template file that would let both fweave and ftangle format their output for those people who don't like the default. My problem is that I can't get people too excited about Literate Programming so when I'm done I have to use indent to pretty up the C sources so they can support it. Amazing! Bob Surtees (ras@skanda.zko.dec.com) From LP-Mgr@SHSU.edu Thu Aug 13 02:15:13 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA09190; Thu, 13 Aug 92 02:15:10 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from dutepp6.et.tudelft.nl by Niord.SHSU.edu (MX V3.1B) with SMTP; Thu, 13 Aug 1992 00:59:18 CDT Received: by dutepp6.et.tudelft.nl id AA10180 (5.65c/IDA-1.4.4 for LitProg@SHSU.edu); Thu, 13 Aug 1992 07:57:42 +0200 Date: Thu, 13 Aug 1992 07:57:42 +0200 From: Richard Kooijman DNPAP Reply-To: LitProg@SHSU.edu Message-Id: <199208130557.AA10180@dutepp6.et.tudelft.nl> To: LitProg@SHSU.edu Subject: Re: K&R CWEB sample > Actually, noweb even works under DOS if you replace the slick shell > scripts with dumb batch files and use the Icon versions of nw and > noxref. > I have a working NOWEB under DOS using some PD sh. I had to hack up the awk programs in the scripts, though. I have taken them out of the scripts and put them in separate AWK files. The PD sh was complaining that the command line was too long in several awk initiations. Not really the fault of the DOS sh but of DOS limitations. Richard. From LP-Mgr@SHSU.edu Thu Aug 13 10:16:20 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA17327; Thu, 13 Aug 92 10:16:17 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from minster.york.ac.uk by Niord.SHSU.edu (MX V3.1B) with SMTP; Thu, 13 Aug 1992 10:16:05 CDT From: dan@minster.york.ac.uk Reply-To: LitProg@SHSU.edu Date: Thu, 13 Aug 92 16:06:30 Message-Id: To: LitProg@SHSU.edu Subject: cweb history Just a small query. When was CWEB designed? I keep finding 1987 as the year when Silvio Levy rewrote the WEB system into C. Is this correct, 'cos I just found a University of York paper written by Harold Thimbleby entitled "Experiences of 'Literate Programming' using CWEB [a variant of Knuth's WEB]" which was written in 1984. This is a part of his introduction: "... After hearing Donald Knuth extol his literate programming system, WEB [Knuth, 1982, 1984], I decided to implement a Unix version of it, which came to be called cweb. ..." The paper is dated August 31, 1984. And it's reference number is: YCS.74(1984) Interestingly enough in the section 8.1 he points out that "... in its current form cweb needs a table which specifies the programming language lexemes, quoting mechanisms, and comment conventions. These features can be expressed using regular expressions... Language independence of a more limited form is often required..." He then expands on how regular expressions can be used to write a "spidery"-like system. He also looks at formatter independent system. Interesting, isn't it. --dan From LP-Mgr@SHSU.edu Thu Aug 13 12:14:22 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA19129; Thu, 13 Aug 92 12:14:18 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from laphroaig.aoc.nrao.edu by Niord.SHSU.edu (MX V3.1B) with SMTP; Thu, 13 Aug 1992 12:09:57 CDT Received: by laphroaig.aoc.nrao.edu (4.1/1.3pmg) id AA03871; Thu, 13 Aug 92 11:08:48 MDT Message-Id: <9208131708.AA03871@laphroaig.aoc.nrao.edu> Date: Thu, 13 Aug 92 11:08:48 MDT From: Chris Flatters Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Subject: Re: cweb history dan@minster.york.ac.uk writes: > When was CWEB designed? > > I keep finding 1987 as the year when Silvio Levy rewrote > the WEB system into C. Is this correct, 'cos I just found > a University of York paper written by Harold Thimbleby > entitled > "Experiences of 'Literate Programming' using CWEB [a variant of Knuth's WEB]" > which was written in 1984. > > This is a part of his introduction: > > "... After hearing Donald Knuth extol his literate programming system, > WEB [Knuth, 1982, 1984], I decided to implement a Unix version of it, > which came to be called cweb. ..." > > The paper is dated August 31, 1984. And it's reference number is: > > YCS.74(1984) There is no connection between the two CWEBs. Levy's CWEB is the CWEB that is in common use today. Thimbleby's was notable in using the standard UNIX typesetting utility, troff, rather than TeX. Chris Flatters cflatter@nrao.edu From LP-Mgr@SHSU.edu Thu Aug 13 17:11:00 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA22925; Thu, 13 Aug 92 17:10:55 MDT Message-Id: <9208132310.AA22925@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from DUKEFSB (RUMMEL) by SHSU.edu (MX V3.1B) with Jnet; Thu, 13 Aug 1992 16:17:35 CDT Date: Thu, 13 Aug 92 17:03 EST From: Jeff Rummel Reply-To: LitProg@SHSU.edu Subject: Hacking at cnoweb To: LITPROG@SHSU.edu My coding work is such that c-no-web wins the bang for the buck analysis (at least at this point). I've made some changes to the file (to suit my taste), but there was one thing I wanted to do that is outside my TeXbility. I find on occasion that a page break occurs just after a line that has a { in it and I think it would look better to have the whole block together on a page (if page breaking allows). So I think I want a ăgoodbreak before the line, but is there some way to go back and insert such a beast when the { occurs after part of the line has been read? In this way TeX would see ăgoodbreak if (x) { Or could I throw a ănobreak after the line? TIA. --jeff. From LP-Mgr@SHSU.edu Mon Aug 17 06:26:38 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA12597; Mon, 17 Aug 92 06:26:36 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from minster.york.ac.uk by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 17 Aug 1992 06:42:50 CDT From: dan@minster.york.ac.uk Reply-To: LitProg@SHSU.edu Date: Mon, 17 Aug 92 12:39:26 Message-Id: To: LitProg@SHSU.edu Subject: C and WEB - Problems Does anyone know how can I get comments to appear on a separate line in CWEB? Something like: while (foo>baz) { /* a comment */ frobox; quux; } I tried @/ and similar, but I didn't get thie right indentation. (Oh, yes... SpiderWEB C environment changes would be fine too. I tried an failed :( I did manage to convince Spider-C that bit-field colon is not a case colon, but that was very easy). Any ideas? From LP-Mgr@SHSU.edu Mon Aug 17 09:27:55 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA14360; Mon, 17 Aug 92 09:27:53 MDT Message-Id: <9208171527.AA14360@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from DOSUNI1.BITNET (MAILER) by SHSU (MX V3.1B) with BSMTP; Mon, 17 Aug 1992 09:04:19 CDT Received: from DOSUNI1 (HHBODE) by DOSUNI1.BITNET (Mailer R2.08) with BSMTP id 8696; Mon, 17 Aug 92 15:55:28 MEZ Date: Mon, 17 Aug 92 15:54:03 MEZ From: Hans-Hermann Bode Reply-To: LitProg@SHSU.edu Subject: Re: C and WEB - Problems To: litprog@SHSU.edu dan@minster.york.ac.uk asked: >Does anyone know how can I get comments to appear on a separate line in >CWEB? Something like: > > while (foo>baz) { > /* a comment */ > frobox; > quux; > } Redefine the \C macro \def\C#1{\5\5\quad$/\ast\,$#1$\,\ast/$} in cwebmac.tex or in the limbo section of your source file in the following way: \def\C#1{\6\quad$/\ast\,$#1$\,\ast/$} The \6 implies a forced line break instead of the optional \5 break. In the example above, the comment will be aligned with |frobox|. If you prefer the form exactly as given, insert a \4 (backspace one notch) in the definition, i.e., \def\C#1{\6\4\quad$/\ast\,$#1$\,\ast/$} Hans-Hermann Bode Arbeitsgruppe Systemforschung, Universit\"at Osnabr\"uck Tel.: (49)-541-9692545 e-mail: HHBODE@DOSUNI1.BITNET From LP-Mgr@SHSU.edu Mon Aug 17 21:31:58 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA23031; Mon, 17 Aug 92 21:31:56 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from conch.vast.unsw.edu.au by Niord.SHSU.edu (MX V3.1B) with SMTP; Mon, 17 Aug 1992 21:45:12 CDT Received: from mucket.vast.unsw.edu.au by conch.vast.unsw.edu.au with SMTP id AA21627 (5.65c/IDA-1.4.4 for ); Tue, 18 Aug 1992 12:43:43 +1000 Received: by mucket.vast.unsw.edu.au (5.65c/client-1.3) id AA03864; Tue, 18 Aug 1992 12:43:43 +1000 Message-Id: <199208180243.AA03864@mucket.vast.unsw.edu.au> To: litprog@SHSU.edu Cc: stevea@vast.unsw.edu.au Subject: Minor annoyance in Spidery WEB... Date: Tue, 18 Aug 92 12:43:39 +1000 From: stevea@vast.unsw.edu.au Reply-To: LitProg@SHSU.edu Hi all, I've come across a minor annoyance in the Spidery ceeweave program, and I was wondering if anyone out there would know a quick solution. Its really a TeX problem, but I thought I'd try here before trying comp.text.tex. Anyhow, in Spidery ceeweave, if you have two consecutive modules which are greater than one page in length, it causes a page break between the two (it tries to start modules which won't fit on the remainder of the page on a new page). Now, when it hits a module, it redefines the headline using the \N command: \N107. 3Create Centre Mask. Here 107 is the module number, 3 is the relative depth of the module nesting, and "Create Centre Mask" is the module name. The command \N looks like: \outer\def\N#1.#2.{\MN#1.\headcheck#2\headcheck \message{*\modno} % progress report \edef\next{\write\cont{\thetocskip \Z{\theopen\relax \themodtitle}{\modno}{\noexpand\the\pageno}}}\next % to contents file \ifon\startsection{\bf\ignorespaces\themodtitle.\quad}\ignorespaces \edef\rhead{{\ignorespaces\lowercase\themodtitle}} % define running } Now, the problem occurs because the new headline is defined prior to the current page being shipped out. As a result, the page before the page on which the module begins, has that module name in the header. Does anyone know how I might cause the page to be shipped out if it is going to be, prior to redefining the header? Thanks... cheers -steve From LP-Mgr@SHSU.edu Tue Aug 18 10:05:04 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA02511; Tue, 18 Aug 92 10:05:02 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from pilot.njin.net by Niord.SHSU.edu (MX V3.1B) with SMTP; Tue, 18 Aug 1992 10:08:03 CDT Received: by pilot.njin.net (5.59/SMI4.0/RU1.4/3.08) id AA22277; Tue, 18 Aug 92 11:06:43 EDT Date: Tue, 18 Aug 92 11:06:42 EDT From: Lee Wittenberg Reply-To: LitProg@SHSU.edu To: LitProg@shsu.edu Subject: Re: Minor annoyance in Spidery WEB... In-Reply-To: Your message of Tue, 18 Aug 92 12:43:39 +1000 Message-Id: I found the same problem with headlines in Spidery WEB and worked out an imperfect (but better than what exists) fix to webkernel.tex. Unfortunately, all my Spidery stuff is still packed up (I'm in the process of moving). If anyone is interested in my fix when I get it unpacked (shouldn't be more than a week), you can write me direct at leew@pilot.njin.net (permanent account) or leew@cs.utexas.edu (current account while on sabbatical) Either one will work. -- Lee From LP-Mgr@SHSU.edu Fri Aug 21 06:28:12 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA12140; Fri, 21 Aug 92 06:28:10 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from shiva.jussieu.fr by Niord.SHSU.EDU (MX V3.1B) with SMTP; Fri, 21 Aug 1992 06:29:46 CDT Received: from ccr-p6.ccr.jussieu.fr by shiva.jussieu.fr (smj-1.0/jussieu-3.1) at Fri, 21 Aug 1992 13:30:31 +0200 Received: by ccr-p6.ccr.jussieu.fr (5.54/jn920717) at Fri, 21 Aug 92 13:32:16 +0200 Date: Fri, 21 Aug 92 13:32:16 +0200 From: jmu@ccr.jussieu.fr (Johannes MULLER p73413) Reply-To: LitProg@SHSU.edu Message-Id: <9208211132.AA15502@ccr-p6.ccr.jussieu.fr> To: LITPROG@shsu.edu Subject: FWEB Problem I tried to tangle and compile the example CWEB program given by Cameron Smith with my newly installed FWEB-System. I had to modify some notations and nearly all worked fine. Only in file "getop.w(eb) the command @o to open the file "getop.h" failed. Look the example below (which I have stripped as far as possible). What FWEB made is a bit strange: it added some non-ASCII characters to the filename "getop.h". All other examples succeeded with the same command structure. @z -----test.web----- cf.: %%% Save file as: getop.w Source: FILESERV@SHSU.BITNET %%% This is a file from a sample of the use of CWEB provided by %%% Cameron Smith @x -------------- @c @* Introduction. Here is the only unnamed code module in this file. @A @@; @ @= @; @ Export is done here: @a @o getop.h @@; @ @* The function |getop()|. @= int getop(char s[]) @ @= #define NUMBER '0' @* Index. ------------------cut here------------------------ What ftangle made: > ftangle test This is ScRaMbLeD FTANGLE [SunOS/UNIX version 1.23a (April 13, 1992)]. Reading test.web... *1 *4 *6 Writing the output file(s): (test.c)(getop.hQws) Done. CPU = 0.3 sec.; REAL = 0.8 sec. CPU/REAL = 45.0%. [FTANGLE: No errors were found.] ------------------------------------------------------ Note the strange extension to getop.hxxxxx! Who has an idea about this effect? Thank you very much Johannes Mueller Inst. des Neurosciences F-75005 Paris From LP-Mgr@SHSU.edu Fri Aug 21 08:55:04 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA13084; Fri, 21 Aug 92 08:55:01 MDT Message-Id: <9208211455.AA13084@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from DOSUNI1.BITNET (MAILER) by SHSU (MX V3.1B) with BSMTP; Fri, 21 Aug 1992 09:00:48 CDT Received: from DOSUNI1 (HHBODE) by DOSUNI1.BITNET (Mailer R2.08) with BSMTP id 3611; Fri, 21 Aug 92 15:58:21 MEZ Date: Fri, 21 Aug 92 15:57:53 MEZ From: Hans-Hermann Bode Reply-To: LitProg@SHSU.edu Subject: CWEB-p -- a portable WEB for ANSI C and C++ To: litprog@SHSU.edu Due to Klaus Guntermann CWEBPC, a CWEB adaptation supporting ANSI-C and C++ typesetting features (announced on this list a few weeks ago), evolved from a somewhat portable PC application to a really portable one. After some extensive exchange of diff files we got a system that now without changes is compilable at least with the following compilers: - Turbo C++, Version 1.01, under PC-/MS-DOS, - c89 under HP-UX 8.0 on a HP 9000/400, - c89 under AIX 3.2 on a IBM RS/6000, - gcc, Version 1.40, with option -ansi, for a MC680x0 processor. On the face of it two things changed: first, I renamed the package in CWEB-p (``p'' as ``portable''); second, with respect to the archive formats common on the various systems, in addition to the usual zip file I compiled a tar.Z archive (both with identical contents, but with appropriate line feeds, respectively). You can find cweb-p.zip und cweb-p.tar.Z on dione.rz.uni-osnabrueck.de (in pub/msdos/tex/web and pub/unix/TeX/WEB, resp.) and on ftp.uni-stuttgart.de (in soft/tex/web/cweb). There are no functional changes compared to CWEBPC, Version p5. Thus, if you have this version running already, you don't need to upgrade. Hans-Hermann Bode Arbeitsgruppe Systemforschung, Universit\"at Osnabr\"uck Tel.: (49)-541-9692545 e-mail: HHBODE@DOSUNI1.BITNET From LP-Mgr@SHSU.edu Fri Aug 21 10:51:29 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA15661; Fri, 21 Aug 92 10:51:25 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from UPS.EDU by Niord.SHSU.EDU (MX V3.1B) with SMTP; Fri, 21 Aug 1992 11:03:22 CDT Date: Fri, 21 Aug 1992 9:03:06 -0700 (PDT) From: BEEZER@UPS.EDU (Rob Beezer) Reply-To: LitProg@SHSU.edu Message-Id: <920821090306.9a6d@UPS.EDU> Subject: Problems with @o in FWEB To: litprog@shsu.edu X-Vmsmail-To: SMTP%"litprog@shsu.edu" Johannes Mueller posted an question recently about using the @o command in FWEB. The following is taken directly from the read_me file distributed with FWEB: ############################################################################### ------------------------ v1.23b (not released to public) --------------------- FTANGLE: * Trouble with @o (still!) on some machines; spurious characters in file names. Fixed. ################################################################################ ............................................................................ : Robert Beezer : Internet: beezer@ups.edu : : Dept. of Mathematics and CS : Voice: 206.756.3564 : : University of Puget Sound : Fax: 206.756.3500 : : Tacoma, WA 98416 : : ............................................................................ From LP-Mgr@SHSU.edu Fri Aug 21 16:26:50 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA27669; Fri, 21 Aug 92 16:26:48 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ns.PacBell.COM by Niord.SHSU.EDU (MX V3.1B) with SMTP; Fri, 21 Aug 1992 16:49:39 CDT Received: from pacbell.UUCP by ns.PacBell.COM (4.1/PacBell-07/31/92) id AA21879; Fri, 21 Aug 92 14:48:30 PDT Received: by sactoh0.SAC.CA.US (smail2.5) id AA13022; 21 Aug 92 14:35:54 PDT (Fri) Received: from localhost by sacpms.domain (4.0/SMI-4.0) id AA19489; Fri, 21 Aug 92 13:45:59 PDT Message-Id: <9208212046.AA19489@sacpms.domain> To: litprog@SHSU.edu Subject: CWEB Date: Fri, 21 Aug 92 13:45:59 +1000 From: Dave Carlton Reply-To: LitProg@SHSU.edu I have been reading this list for some time now and have trying to glean exactly what is Literate Programming, WEB, CWEB, and such. I was hoping for a FAQ to come along but have not seen one. So, could someone please explain what is this all about, why is it good/bad. How can I try it out (on Unix BSD4.3 and Mac), and etc. Perhaps the responses could be gathered for a FAQ list. From LP-Mgr@SHSU.edu Sat Aug 22 08:29:29 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA17794; Sat, 22 Aug 92 08:29:27 MDT Message-Id: <9208221429.AA17794@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ips102.desy.de (ips104.desy.de) by Niord.SHSU.EDU (MX V3.1B) with SMTP; Sat, 22 Aug 1992 09:04:40 CDT Received: by ips102.desy.de (16.7/16.2) id AA03525; Sat, 22 Aug 92 16:04:36 +0200 Date: Sat, 22 Aug 92 16:04:36 +0200 From: Marcus Speh Reply-To: LitProg@SHSU.edu To: Literate Programmers Subject: Query: FWEB release v1.23b? I am referring to a recent posting by Rob Beezer concerning the @o command in FWEB. Later, Rob said: > the read_me file > that I quoted from was included in Hans-Hermann Bode's distribution of > the compiled versions of FWEB for the PC. Now, does anyone on the list know more about FWEB's version 1.23b - the "official" release which can be obtained from lyman.pppl.gov or >From Niord.shsu.edu, is version 1.23a ? Using FWEB quite a lot for a couple of months now, I have not encountered any bug (yet) - maybe because I am cautious not to use too many of its features (of which there a too many, I am afraid - I'd like it a bit more minimalistic). An important point, esp for beginners, is the User's manual which contains a hell of a lot of information - on more than 200 pages. The problem is that it is quite a jungle to get lost in - written along the evolution of FWEB. That would be a substantial improvement even if now new code would have been written. BTW, it puzzles me that neither John Krommes, nor Norman Ramsey nor... whoever belongs to the elite club of original programmers of parts of the WEB variants, are subscribed to this list (acc to a REVIEW from August 20) ...did someone bother to tell them about its existence? M. Speh =================================================================== Marcus Speh INTERnet II. Institut f. Theor. Physik BITnet Luruper Chaussee 149 DECnet <13313::SPEH> 2000 Hamburg 50/Germany Tel.(040)8998-2260 FAX:(040)8998-2267 From LP-Mgr@SHSU.edu Sat Aug 22 12:33:31 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA18932; Sat, 22 Aug 92 12:33:28 MDT Message-Id: <9208221833.AA18932@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ips102.desy.de (ips104.desy.de) by Niord.SHSU.EDU (MX V3.1B) with SMTP; Sat, 22 Aug 1992 13:08:22 CDT Received: by ips102.desy.de (16.7/16.2) id AA05132; Sat, 22 Aug 92 20:08:12 +0200 Date: Sat, 22 Aug 92 20:08:12 +0200 From: Marcus Speh Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Subject: LP-FAQ outline In-Reply-To: <9208212046.AA19489@sacpms.domain> References: <9208212046.AA19489@sacpms.domain> >>>>> On Fri, 21 Aug 92 13:45:59 +1000, Dave Carlton said: > I have been reading this list for some time now and have trying > to glean exactly what is Literate Programming, WEB, CWEB, and such. > I was hoping for a FAQ to come along but have not seen one. I second Dave Carlton's hope for a FAQ, and I have been volunteering today to participate in a FAQ for this list - we'll see how George Greenwade thinks about it... CAVEAT: since I consider myself ignorant on many LP related questions, I am afraid I will not have to offer too much besides enthusiasm and some FWEB experience, as well as a bunch of sample written in ratfor(1) (- no doubt FORTRAN is the secret love of the majority of experts on this list ;-) so I urge the *real* experts so come together and satisfy the novice's embryonic needs. Now, before anything else is being done, I'd like to open a discussion on what the LP FAQ should contain - the people interested should express their wishes. Below I have given a vague description of how I think the FAQ could look. I should confess that the FAQ image I have in mind is Joe Wells' FAQ for GNU Emacs (from the gnu. newsgroups) - but I haven't seen many examples yet. I have converted it into a Texinfo file (for both online info and a printed TeX-documentation - even without Emacs as an editor) here at DESY, and it was exceptionally well received by many novices. Since LP is very much a philosophy, too, spanning a vast number of possible applications and implementations, I think it would be nice to let the finished FAQ be "refereed" by some real experts, who should give comments and correct errors. I'd like to propose [for discussion!] an outline for the FAQ. ---------------------------------------------------------------------- FAQ file forms: text (.ps ? .texinfo ? .info ? .tex ?) @* CONTENTS. @= Notation, How to get this, What is planned etc. @= { Philosophy; /* What I like most about LP... Implementations; /* CWEB, FWEB, NOWEB, SPIDERWEB ...etc. Code Examples; /* mainly FILESERV Developpers; /* WEB variants, pointers to Addresses... Bibliography; /* started on this list, see also Beebe/FILESERV Addresses; /* Who's Who in LP... } @ Sections = Questions and longer paragraphs - later, for more intricate questions one may ask an expert to write a couple of lines; this is also the place for people's experiences with LP. ---------------------------------------------------------------------- M. Speh =================================================================== Marcus Speh INTERnet II. Institut f. Theor. Physik BITnet Luruper Chaussee 149 DECnet <13313::SPEH> 2000 Hamburg 50/Germany Tel.(040)8998-2260 FAX:(040)8998-2267 From LP-Mgr@SHSU.edu Sat Aug 22 13:01:13 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA19163; Sat, 22 Aug 92 13:01:11 MDT Message-Id: <9208221901.AA19163@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ips102.desy.de (ips104.desy.de) by Niord.SHSU.EDU (MX V3.1B) with SMTP; Sat, 22 Aug 1992 13:09:47 CDT Received: by ips102.desy.de (16.7/16.2) id AA05136; Sat, 22 Aug 92 20:09:43 +0200 Date: Sat, 22 Aug 92 20:09:43 +0200 From: Marcus Speh Reply-To: LitProg@SHSU.edu To: Literate Programmers Subject: Pointer to LITPROG for NOVICES As a very pointer to several questions of implementation and WEB variants, this is an edited copy from my Mail header list - in his regular posting, George Greenwade says how to get the postings this list is pointing at: " The archives of LitProg are maintained on the Sam Houston State University file server, FILESERV@SHSU.BITNET (FILESERV@SHSU.edu -- note that this is FILEserv and not LISTserv). To get a copy of any month's postings, send MAIL to FILESERV with the message: SENDME LitProg.yyyy-mm where "yyyy" is the year and "mm" is the numeric representation of the month. For example, the message SENDME LitProg.1992-07 will access the archives for July, 1992." [You can also get the via anonymous FTP from niord.shsu.edu, in directory FILESERV/LITPROG] The following lists contains some selected messages - no technicalities, no(t very much philosophy) - just a cocktail of 25 out of > 130 contributions which might be helpful for novices. I do not know yet whether such a selection is an allowed or a good thing at all...I did not scan *everything*, so don't be upset if you contributed and do not find yours scintillating comment here! The following categories are marked in the first column (some articles contain more than one - e.g. an Implementation is often accompanied by a definition): I = Implementation (eg. "I installed CWEB on the MAC!") E = Experiences (eg. "Why I am happy with NOWEB!") D = Definition (eg. "What is FWEB, dammit?") W = Where-from (eg. "Where can I get WEB for the MAC?") ------------------------------------------------------------------------------ I Thorsten Ohl Jul 21 46/2263 "FWEB for the PC?" E Cameron Smith Jul 21 71/3885 "WEB-less literate programming" I,E Cameron Smith Jul 22 35/1952 "New version of CWEB sample program" D Dave Love Jul 22 19/929 "noweb [was Re: FWEB for the PC?]" I Timothy Murphy Jul 22 79/2980 "Re: WEB for Macintosh, Turbo C++" D,E "Donald N. Petche Jul 22 15/747 "Re: WEB for Macintosh, Turbo C++" W Jonathan M. Gilli Jul 22 35/1648 "Literate Programming in the Real..." D,E Thorsten Ohl Jul 23 51/2272 "ANSI CWEB (was: Re: WEB for Maci..." I Hans-Hermann Bode Jul 23 51/2727 "CWEB for ANSI C, C++, Turbo C++" W "George D. Greenw Jul 23 78/4276 "CWEB, v 2.4, on FILESERV/Niord" E Don Hosek Jul 23 42/1644 "Re: Literate Programming in the ..." W "George D. Greenw Jul 27 56/3047 "Re: Web for Macintosh" E Mike Yoder Aug 2 118/6703 "not liking literate programming" E Mike Yoder Aug 2 41/2393 ""Veterans, rise up"" E Mike Yoder Aug 2 59/3398 "Sorry!" D,I Stephan Eggermont Aug 3 41/1937 "Re: Other LP tools?" D,I Cameron Smith Aug 3 59/3421 "RE: Other LP tools?" E Thorsten Ohl Aug 4 29/1359 "documenting changing code" E,W Thorsten Ohl Aug 4 24/1295 "RE: Other LP tools?" W "George D. Greenw Aug 04 92/4814 "NOWEB (version 2.1) on FILESERV/Niord" W "Nelson H. F. Bee Aug 5 34/1147 "Bibliography of literate programming" E Bart Childs Aug 5 73/3814 "LP is not necessarily monolithic" W Lee Wittenberg Aug 5 8/319 "Spidery WEB for PC" E,W "Jack W. Sharer 8 Aug 6 134/5318 "Ada WEBs" I,W Hans-Hermann Bode Aug 21 27/1343 "CWEB-p/portable WEB for ANSI-C/C++" ------------------------------------------------------------------------------ Hope that helps, M. Speh =================================================================== Marcus Speh INTERnet II. Institut f. Theor. Physik BITnet Luruper Chaussee 149 DECnet <13313::SPEH> 2000 Hamburg 50/Germany Tel.(040)8998-2260 FAX:(040)8998-2267 From LP-Mgr@SHSU.edu Mon Aug 24 06:55:08 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA19079; Mon, 24 Aug 92 06:55:06 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from NET.WAU.NL by Niord.SHSU.EDU (MX V3.1B) with SMTP; Mon, 24 Aug 1992 06:53:34 CDT Received: from RVC.WAU.NL by NET.WAU.NL (PMDF #2539 ) id <01GNYMVHC0V4000VBO@NET.WAU.NL>; Mon, 24 Aug 1992 13:42:50 GMT +0100 Received: from RCL.WAU.NL by RCL.WAU.NL (PMDF #12413) id <01GNYMQ1WHJK9D8L62@RCL.WAU.NL>; Mon, 24 Aug 1992 13:38 GMT +01:00 Date: 24 Aug 1992 13:38 +0000 (GMT) From: "Eric W. van Ammers, LUW, tel: (+31)8370-83356" Reply-To: LitProg@SHSU.edu Subject: Suggestion for a FAQ on LP To: LITPROG@shsu.edu Message-Id: <01GNYMQ1WHJK9D8L62@RCL.WAU.NL> X-Envelope-To: LITPROG@shsu.edu X-Vms-To: IN%"LITPROG@shsu.edu" X-Vms-Cc: AMMERS Content-Transfer-Encoding: 7BIT Comments: Sent with PMDF V4.0, routing done by Net.WAU.NL The LITPROG discussion list is a good initiative. It was very sad when Van Wyk decided to stop the literate programming column in CACM. He observed that all contributions to his column came from people who had written their own LP-system and this made him wonder how widespread LP would ever become. However, he promised to continue the column as soon as people start writing literate programs using tools made by others. No doubt the LITPROG discussion list can be quite valuable in this respect. Therefore I propose that the list of Frequently Asked Questions (FAQ) on LP maintains an overview of tools for literate programming, together with their particular strong and weak points. In parallel we should compile a list of desirable properties users feel a LP-system should possess in general. I expect that from this information rather soon an LP-tool will evolve that suits a wide audience. Eric W. van Ammers From LP-Mgr@SHSU.edu Mon Aug 24 07:11:57 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA19133; Mon, 24 Aug 92 07:11:55 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from salmon.maths.tcd.ie by Niord.SHSU.EDU (MX V3.1B) with SMTP; Mon, 24 Aug 1992 07:37:43 CDT From: Timothy Murphy Reply-To: LitProg@SHSU.edu Subject: Re: Suggestion for a FAQ on LP To: LitProg@SHSU.edu In-Reply-To: +31's message of 24 Aug 1992 13:38 +0000 (GMT) Date: Mon, 24 Aug 92 13:36:27 BST Sender: tim@maths.tcd.ie Message-Id: <9208241336.aa05593@salmon.maths.tcd.ie> A tiny point. Could the abbreviation LP please {\em not} be used for LitProg. Traditionally it stands for LinePrinter, and its use in another sense will only cause confusion. Timothy Murphy e-mail: tim@maths.tcd.ie tel: +353-1-2842366 (home/office) +353-1-7021507 (university) fax: +353-1-2842295 s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland From LP-Mgr@SHSU.edu Mon Aug 24 08:30:08 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA20722; Mon, 24 Aug 92 08:30:06 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from neuron.cs.tamu.edu by Niord.SHSU.EDU (MX V3.1B) with SMTP; Mon, 24 Aug 1992 08:59:46 CDT Received: from cs.tamu.edu (solar.cs.tamu.edu) by neuron.cs.tamu.edu (AA28329); Mon, 24 Aug 92 08:57:10 CDT Date: Mon, 24 Aug 92 08:57:10 CDT From: bart@cs.tamu.edu (Bart Childs) Reply-To: LitProg@SHSU.edu Message-Id: <9208241357.AA28329@neuron.cs.tamu.edu> To: LitProg@shsu.edu Subject: Acronym Mnemonic ... Tim brought up a good point. Many of us are also used to LP meaning Linear Programming. Gee, I wish there way to get a clean vote and we agree to use LitPgm, LitProg, LPR (which is what I think of a Line printer), or ??? Bart Childs From LP-Mgr@SHSU.edu Mon Aug 24 09:24:37 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA21529; Mon, 24 Aug 92 09:24:34 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from mira.math.uiuc.edu by Niord.SHSU.EDU (MX V3.1B) with SMTP; Mon, 24 Aug 1992 09:51:48 CDT Received: by mira.math.uiuc.edu id AA07535 (5.65d/IDA-1.4.3 for LitProg@SHSU.edu); Mon, 24 Aug 1992 09:50:32 -0500 Date: Mon, 24 Aug 1992 09:50:32 -0500 From: Cameron Smith Reply-To: LitProg@SHSU.edu Message-Id: <199208241450.AA07535@mira.math.uiuc.edu> To: LitProg@SHSU.edu Subject: Re: Acronym Mnemonic ... Bart Childs writes: > ... Many of us are also used to LP meaning Linear Programming. > Gee, I wish there way to get a clean vote and we agree to use > LitPgm, LitProg, LPR (which is what I think of a Line printer), or ??? Well, my opinion is that it's appropriate to use the shortest, handiest abbreviation and let context disambiguate it -- after all, "LP" also refers to a certain type of phonograph record, but I don't think that's caused any confusion in this forum! If it becomes common to print Literate Programs on Line Printers by means of Linear Programming algorithms, while listening to music recorded on Long Playing records, then maybe we'll have to face this problem... but until an actual conflict of usage appears I'd favor using the short abbreviation. In fact, since this is a Literate Programming forum, if a conflict *did* arise I'd be inclined to say that it's the other terms that should acquire new shorthand (for use within this forum): how about keeping LPR for line printer, and using LinProg for Linear Programming? But if we *do* adopt something other than "LP" as the standard abbreviation for Literate Programming, then *please* let it be something as easily pronounceable as "LP" is. "LitProg" is OK with me (after all, I picked that name for this list in the first place), but "LitPgm" is right out -- how am I supposed to pronounce that, "litpiggem"? :-) --Cameron Smith cameron@symcom.math.uiuc.edu P.S. I was away for a week; I'm back for 4 days, then gone for another week. If email doesn't get a prompt response, please don't think I'm ignoring you! From LP-Mgr@SHSU.edu Mon Aug 24 21:05:22 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA14619; Mon, 24 Aug 92 21:05:20 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from netcomsv.netcom.com by Niord.SHSU.EDU (MX V3.1B) with SMTP; Mon, 24 Aug 1992 21:14:59 CDT Received: from aix3.UUCP by netcomsv.netcom.com with UUCP (4.1/SMI-4.1) id AA25802; Mon, 24 Aug 92 19:11:58 PDT Received: by aix3.ema.com (AIX 3.2/UCB 5.64/4.03) id AA31376; Mon, 24 Aug 1992 16:46:20 -0400 Date: Mon, 24 Aug 1992 16:34:37 +22313801 (EDT From: Joey Gibson Reply-To: LitProg@SHSU.edu Subject: Sections references in FWeb? To: LitProg Mail-List Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I may have missed this in the FWeb docs, but is it possible to reference a section in a web, from another section? For example, can I have: ``For info on porting, see section 5'' and have it kept current for me automagically? Joey Gibson => "In the country of the blind, the one-eyed man is king." H.G. Wells <= ===> The views expressed here are not necessarily those of EMA. <== From LP-Mgr@SHSU.edu Mon Aug 24 22:39:23 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA15466; Mon, 24 Aug 92 22:39:20 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from conch.vast.unsw.edu.au by Niord.SHSU.EDU (MX V3.1B) with SMTP; Mon, 24 Aug 1992 22:53:25 CDT Received: from mucket.vast.unsw.edu.au by conch.vast.unsw.edu.au with SMTP id AA14393 (5.65c/IDA-1.4.4); Tue, 25 Aug 1992 13:33:05 +1000 Received: by mucket.vast.unsw.edu.au (5.65c/client-1.3) id AA09828; Tue, 25 Aug 1992 13:33:06 +1000 Message-Id: <199208250333.AA09828@mucket.vast.unsw.edu.au> To: LitProg@SHSU.edu Cc: LitProg Mail-List Subject: Re: Sections references in FWeb? In-Reply-To: Your message of "Mon, 24 Aug 92 16:34:37." Date: Tue, 25 Aug 92 13:33:05 +1000 From: stevea@vast.unsw.edu.au Reply-To: LitProg@SHSU.edu Joey Gibson sez: joey> I may have missed this in the FWeb docs, but is it possible to joey> reference a section in a web, from another section? For example, joey> can I have: joey> ``For info on porting, see section 5'' joey> and have it kept current for me automagically? You can always cheat, and do what I do for spidery web. Somewhere after you start the module, just throw in something like \let\refporting=\modno and then reference it by "see section~\refporting". Works for me. cheers -steve From LP-Mgr@SHSU.edu Tue Aug 25 02:12:19 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA18967; Tue, 25 Aug 92 02:12:17 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from NET.WAU.NL by Niord.SHSU.EDU (MX V3.1B) with SMTP; Tue, 25 Aug 1992 02:32:49 CDT Received: from RVC.WAU.NL by NET.WAU.NL (PMDF #2539 ) id <01GNZSIIREGG00102J@NET.WAU.NL>; Tue, 25 Aug 1992 09:34:56 GMT +0100 Received: from RCL.WAU.NL by RCL.WAU.NL (PMDF #12413) id <01GNZSBGMSJK9D8WBJ@RCL.WAU.NL>; Tue, 25 Aug 1992 09:29 GMT +01:00 Date: 25 Aug 1992 09:29 +0000 (GMT) From: "Eric W. van Ammers, LUW, tel: (+31)8370-83356" Reply-To: LitProg@SHSU.edu Subject: Re: Acronym Mnemonic ... To: LitProg@SHSU.edu Message-Id: <01GNZSBGMSJK9D8WBJ@RCL.WAU.NL> X-Envelope-To: LitProg@SHSU.edu X-Vms-To: IN%"LitProg@SHSU.edu" Content-Transfer-Encoding: 7BIT Comments: Sent with PMDF V4.0, routing done by Net.WAU.NL I fully agree with Cameron Smith's ideas on acronyms for literate programming. My prefrence is definitely "LP", but I'm willing to live with "litprog". Eric W. van Ammers From LP-Mgr@SHSU.edu Tue Aug 25 03:45:56 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA19604; Tue, 25 Aug 92 03:45:52 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from minster.york.ac.uk by Niord.SHSU.EDU (MX V3.1B) with SMTP; Tue, 25 Aug 1992 03:42:05 CDT From: dan@minster.york.ac.uk Reply-To: LitProg@SHSU.edu Date: Tue, 25 Aug 92 09:38:33 Message-Id: To: LitProg@SHSU.edu Subject: Re: Acronym Mnemonic ... Eric W. van Ammers writes: > I fully agree with Cameron Smith's ideas on acronyms for literate programming. > My prefrence is definitely "LP", but I'm willing to live with "litprog". I agree with the above. LP is fine; litprog 2nd best choice. Let's have a vote... -dan From LP-Mgr@SHSU.edu Tue Aug 25 04:33:42 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA20498; Tue, 25 Aug 92 04:33:37 MDT Message-Id: <9208251033.AA20498@math.utah.edu> Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from ips102.desy.de by Niord.SHSU.EDU (MX V3.1B) with SMTP; Tue, 25 Aug 1992 04:40:14 CDT Received: by ips102.desy.de (16.7/16.2) id AA20754; Tue, 25 Aug 92 11:15:22 +0200 Date: Tue, 25 Aug 92 11:15:22 +0200 From: Marcus Speh Reply-To: LitProg@SHSU.edu To: LitProg@SHSU.edu Subject: Re: Sections references in FWeb? In-Reply-To: References: >>>>> On Mon, 24 Aug 1992 Joey Gibson said: > I may have missed this in the FWeb docs, but is it possible to reference a > section in a web, from another section? For example, can I have: > ``For info on porting, see section 5'' In FWEB, this would be done by the following construct: ----------------------------------------------------------- @ Porting. \modlabel{PORTING} ... more ... @ ANOTHER SECTION. For info on Porting, see \WEBsection{PORTING}. ----------------------------------------------------------- I.e. "section" is inserted automagically. [Explained in the FWEB v1.23a User's Manual, page 128, sec. 19.7.18 - more details are given there] -marcus =================================================================== Marcus Speh INTERnet II. Institut f. Theor. Physik BITnet Luruper Chaussee 149 DECnet <13313::SPEH> 2000 Hamburg 50/Germany Tel.(040)8998-2260 FAX:(040)8998-2267 From LP-Mgr@SHSU.edu Wed Aug 26 13:21:36 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA03322; Wed, 26 Aug 92 13:21:30 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from sgi6.york.ac.uk by Niord.SHSU.EDU (MX V3.1B) with SMTP; Wed, 26 Aug 1992 13:22:06 CDT Received: by sgi6.york.ac.uk (910711.SGI/911001.SGI) for litprog@shsu.edu id AA01719; Wed, 26 Aug 92 19:21:40 +0100 From: jw24@sgi6.york.ac.uk (J Waldmann) Reply-To: LitProg@SHSU.edu Message-Id: <9208261821.AA01719@sgi6.york.ac.uk> Subject: TANGLE: Identifiers, Numbers To: litprog@shsu.edu (literate programming mailing list) Date: Wed, 26 Aug 92 19:21:40 BST X-Mailer: ELM [version 2.3 PL11] As I see from the archives, this list is mostly on philosophy. :-) For a change, here's some technicalities: 1) Is there a way to get 32 bit numerical values during macro expansions and arithmetics in tangle? Lots of pascal compilers could easily handle such numbers. It shouldn't be too hard to modify tangle.web or better tangle.ch to achieve this, but maybe someone has done so already. Or is it a sacrifice to do so? 2) Normally, in between alpha characters, underscores are removed from names. But if an identifier *starts* with an underscore, tangle treats this character like an unary plus and thus copies it into the .pas file. Is this considered useful or, as I do, irritating? Again, a slight modification to tangle's central character reading loop would fix the problem by just declaring the underscore as an ordinary character. -- Regards --- Johannes Waldmann currently: jw24@tower.york.ac.uk / from oct 92 on: mwj@mathematik.uni-jena.de From LP-Mgr@SHSU.edu Wed Aug 26 17:18:33 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA07122; Wed, 26 Aug 92 17:18:31 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from salmon.maths.tcd.ie by Niord.SHSU.EDU (MX V3.1B) with SMTP; Wed, 26 Aug 1992 17:18:07 CDT From: Timothy Murphy Reply-To: LitProg@SHSU.edu Subject: Re: TANGLE: Identifiers, Numbers To: LitProg@shsu.edu In-Reply-To: J Waldmann's message of Wed, 26 Aug 92 19:21:40 BST Date: Wed, 26 Aug 92 23:16:32 BST Sender: tim@maths.tcd.ie Message-Id: <9208262316.aa28810@salmon.maths.tcd.ie> > 1) Is there a way to get 32 bit numerical values during macro expansions > and arithmetics in tangle? Lots of pascal compilers could easily handle > such numbers. Note that you can write @d x==1234567 (using == rather than =). Most compilers nowadays would do the arithmetic that tangle does at compile-time rather than run-time, so it hardly seems worth worrying about. I'd have thought there would be a stronger argument for simplifying tangle by removing this facility (for internal arithmetic) altogether. I think Cweb has done this. Timothy Murphy e-mail: tim@maths.tcd.ie tel: +353-1-2842366 (home/office) +353-1-7021507 (university) fax: +353-1-2842295 s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland From LP-Mgr@SHSU.edu Wed Aug 26 17:50:18 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA07255; Wed, 26 Aug 92 17:50:16 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from neuron.cs.tamu.edu by Niord.SHSU.EDU (MX V3.1B) with SMTP; Wed, 26 Aug 1992 18:23:34 CDT Received: from cs.tamu.edu (solar.cs.tamu.edu) by neuron.cs.tamu.edu (AA22208); Wed, 26 Aug 92 18:20:56 CDT Date: Wed, 26 Aug 92 18:20:56 CDT From: bart@cs.tamu.edu (Bart Childs) Reply-To: LitProg@SHSU.edu Message-Id: <9208262320.AA22208@neuron.cs.tamu.edu> To: litprog@shsu.edu Subject: Fixed up Tangle.ch I have mailed one to `yw24' that I think fixes his requests. I agree that the fixes should have been done. When Don Knuth did his original WEB the world was quite different. He intended the pascal to be `unfit for human comsumption.' The change file has several other little fixes of the same type and is approximately twice the length of the one at labrea. A part of that is because the changes always address complete modules. Bart Childs From LP-Mgr@SHSU.edu Wed Aug 26 18:09:31 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA07414; Wed, 26 Aug 92 18:09:29 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from salmon.maths.tcd.ie by Niord.SHSU.EDU (MX V3.1B) with SMTP; Wed, 26 Aug 1992 18:39:51 CDT From: Timothy Murphy Reply-To: LitProg@SHSU.edu Subject: Re: Fixed up Tangle.ch To: LitProg@shsu.edu In-Reply-To: Bart Childs's message of Wed, 26 Aug 92 18:20:56 CDT Date: Thu, 27 Aug 92 0:38:36 BST Sender: tim@maths.tcd.ie Message-Id: <9208270038.aa29968@salmon.maths.tcd.ie> > I agree that the fixes should have been done. When Don Knuth > did his original WEB the world was quite different. He intended > the pascal to be `unfit for human comsumption.' Does this mean you feed yourself on tangled code? IMHO, tangle ain't broken, so there's no need to mend it. Doesn't everyone use web2c anyway? Timothy Murphy e-mail: tim@maths.tcd.ie tel: +353-1-2842366 (home/office) +353-1-7021507 (university) fax: +353-1-2842295 s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland From LP-Mgr@SHSU.edu Thu Aug 27 03:48:19 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA11944; Thu, 27 Aug 92 03:48:14 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from rs2.hrz.th-darmstadt.de by Niord.SHSU.EDU (MX V3.1B) with SMTP; Thu, 27 Aug 1992 04:11:49 CDT Received: from hp5.iti.informatik.th-darmstadt.de by rs2.hrz.th-darmstadt.de with SMTP id AA10313 (5.65c/IDA-1.4.4 for ); Thu, 27 Aug 1992 11:10:28 +0200 Received: by hp5.iti.informatik.th-darmstadt.de (16.6/Server-1.2/HRZ-THD) id AA08530; Thu, 27 Aug 92 11:10:27 +0200 From: Joachim Schrod Reply-To: LitProg@SHSU.edu Message-Id: <9208270910.AA08530@hp5.iti.informatik.th-darmstadt.de> Subject: Re: TANGLE: Identifiers, Numbers To: LitProg@SHSU.edu Date: Thu, 27 Aug 92 11:10:26 MESZ In-Reply-To: <9208261821.AA01719@sgi6.york.ac.uk>; from "J Waldmann" at Aug 26, 92 7:21 pm X-Mailer: ELM [version 2.3 PL11] If you have the fixes (at best in form of a changefile ;-) ready, it would be very nice if you would redistribute them again. E.g., you might put them via anonymous ftp on ftp.th-darmstadt.de, directory pub/incoming and send me a mail. I will forward them to all larger archives. Thank you in advance. -- Joachim =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Joachim Schrod Email: schrod@iti.informatik.th-darmstadt.de Computer Science Department Technical University of Darmstadt, Germany ``How do we persuade new users that spreading fonts across the page like peanut butter across hot toast is not necessarily the route to typographic excellence? -- Peter Flynn From LP-Mgr@SHSU.edu Thu Aug 27 04:25:37 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA12018; Thu, 27 Aug 92 04:25:34 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from rs2.hrz.th-darmstadt.de by Niord.SHSU.EDU (MX V3.1B) with SMTP; Thu, 27 Aug 1992 04:32:35 CDT Received: from hp5.iti.informatik.th-darmstadt.de by rs2.hrz.th-darmstadt.de with SMTP id AA44975 (5.65c/IDA-1.4.4 for ); Thu, 27 Aug 1992 11:31:14 +0200 Received: by hp5.iti.informatik.th-darmstadt.de (16.6/Server-1.2/HRZ-THD) id AA08554; Thu, 27 Aug 92 11:31:13 +0200 From: Joachim Schrod Reply-To: LitProg@SHSU.edu Message-Id: <9208270931.AA08554@hp5.iti.informatik.th-darmstadt.de> Subject: Re: TANGLE: Identifiers, Numbers To: LitProg@SHSU.edu Date: Thu, 27 Aug 92 11:31:12 MESZ In-Reply-To: <9208262316.aa28810@salmon.maths.tcd.ie>; from "Timothy Murphy" at Aug 26, 92 11:16 pm X-Mailer: ELM [version 2.3 PL11] You wrote: > > Note that you can write > > @d x==1234567 > > (using == rather than =). > Most compilers nowadays would do the arithmetic that tangle does > at compile-time rather than run-time, > so it hardly seems worth worrying about. > > I'd have thought there would be a stronger argument > for simplifying tangle by removing this facility > (for internal arithmetic) altogether. > > I think Cweb has done this. In C it is defined that constant expressions may be used in declarations. This is not the case for ISO Pascal. I.e., assuming a defined type identifier `T' and a constant `size', T field[size+1]; is a valid C declaration, while var field: array [size+1] of T; is illegal Pascal code. That many compilers do support it, does not change this fact. Since this code is useful, and since a WEB system should support the standard definition of a language, a Pascal WEB should make available the substitution of constant expressions with a constant. The comparison to Cweb is not relevant here. -- Joachim =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Joachim Schrod Email: schrod@iti.informatik.th-darmstadt.de Computer Science Department Technical University of Darmstadt, Germany ``How do we persuade new users that spreading fonts across the page like peanut butter across hot toast is not necessarily the route to typographic excellence? -- Peter Flynn From LP-Mgr@SHSU.edu Thu Aug 27 04:27:48 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA12028; Thu, 27 Aug 92 04:27:45 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from rs2.hrz.th-darmstadt.de by Niord.SHSU.EDU (MX V3.1B) with SMTP; Thu, 27 Aug 1992 04:35:58 CDT Received: from hp5.iti.informatik.th-darmstadt.de by rs2.hrz.th-darmstadt.de with SMTP id AA06003 (5.65c/IDA-1.4.4 for ); Thu, 27 Aug 1992 11:34:30 +0200 Received: by hp5.iti.informatik.th-darmstadt.de (16.6/Server-1.2/HRZ-THD) id AA08573; Thu, 27 Aug 92 11:34:29 +0200 From: Joachim Schrod Reply-To: LitProg@SHSU.edu Message-Id: <9208270934.AA08573@hp5.iti.informatik.th-darmstadt.de> Subject: Re: Fixed up Tangle.ch To: LitProg@SHSU.edu Date: Thu, 27 Aug 92 11:34:28 MESZ In-Reply-To: <9208270038.aa29968@salmon.maths.tcd.ie>; from "Timothy Murphy" at Aug 27, 92 12:38 am X-Mailer: ELM [version 2.3 PL11] You wrote: > > Doesn't everyone use web2c anyway? It seems hard to believe to some folks, but the answer is no: Not everyone is working on a system with a UNIX API. -- Joachim =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Joachim Schrod Email: schrod@iti.informatik.th-darmstadt.de Computer Science Department Technical University of Darmstadt, Germany ``How do we persuade new users that spreading fonts across the page like peanut butter across hot toast is not necessarily the route to typographic excellence? -- Peter Flynn From LP-Mgr@SHSU.edu Thu Aug 27 11:54:01 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA26003; Thu, 27 Aug 92 11:53:57 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from sgi11.york.ac.uk by Niord.SHSU.EDU (MX V3.1B) with SMTP; Thu, 27 Aug 1992 11:48:59 CDT Received: by sgi11.york.ac.uk (910711.SGI/911001.SGI) for litprog@shsu.edu id AA02067; Thu, 27 Aug 92 17:48:36 +0100 From: jw24@sgi11.york.ac.uk (J Waldmann) Reply-To: LitProg@SHSU.edu Message-Id: <9208271648.AA02067@sgi11.york.ac.uk> Subject: Ada formatter To: litprog@shsu.edu (literate programming mailing list) Date: Thu, 27 Aug 92 17:48:35 BST X-Mailer: ELM [version 2.3 PL11] Is there a program that takes a plain Ada source and produces a nice .tex from it? I know that's not very `literate' but I only want - (often used) reserved words in boldface, - linebreaks and indentation exactly as in the source and possibly - Ada comments interpreted as TeX or LaTeX BTW, thanks for replies on the tangle questions. -- Regards --- Johannes Waldmann currently: jw24@tower.york.ac.uk / from oct 92 on: mwj@mathematik.uni-jena.de From LP-Mgr@SHSU.edu Thu Aug 27 19:35:33 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA02759; Thu, 27 Aug 92 19:35:26 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from conch.vast.unsw.edu.au by Niord.SHSU.EDU (MX V3.1B) with SMTP; Thu, 27 Aug 1992 19:56:29 CDT Received: from mucket.vast.unsw.edu.au by conch.vast.unsw.edu.au with SMTP id AA28084 (5.65c/IDA-1.4.4 for ); Fri, 28 Aug 1992 09:56:25 +1000 Received: by mucket.vast.unsw.edu.au (5.65c/client-1.3) id AA11538; Fri, 28 Aug 1992 09:56:29 +1000 Message-Id: <199208272356.AA11538@mucket.vast.unsw.edu.au> To: LitProg@SHSU.edu Subject: Re: Ada formatter In-Reply-To: Your message of "Thu, 27 Aug 92 17:48:35 BST." <9208271648.AA02067@sgi11.york.ac.uk> Date: Fri, 28 Aug 92 09:56:27 +1000 From: stevea@vast.unsw.edu.au Reply-To: LitProg@SHSU.edu Johannes sez: johannes> Is there a program that takes a plain Ada source and johannes> produces a nice .tex from it? I know that's not very johannes> `literate' but I only want johannes> - (often used) reserved words in boldface, johannes> - linebreaks and indentation exactly as in the source johannes> and possibly johannes> - Ada comments interpreted as TeX or LaTeX Ummm, probably tgrind is your best bet. Its available, I would think, from the usual places (ymir, etc). You may have to write your own vgrindefs for Ada, but it isn't very hard to do (I've done it for an HDL we run here, and it takes only an hour or so). It only produces TeX, so you may have to hack it a bit to get LaTeX. ObLP: You should consider using Spidery Ada WEB from now on :-) cheers -steve From LP-Mgr@SHSU.edu Sat Aug 29 08:01:21 1992 Flags: 000000000001 Return-Path: Received: from Niord.SHSU.EDU by math.utah.edu (4.1/SMI-4.1-utah-csc-server) id AA29154; Sat, 29 Aug 92 08:01:19 MDT Errors-To: LP-Mgr@SHSU.edu Errors-To: LP-Mgr@SHSU.edu X-Listname: Literate Programming Discussion List Received: from VAX01.AMS.COM by Niord.SHSU.EDU (MX V3.1B) with SMTP; Sat, 29 Aug 1992 08:29:31 CDT Received: from MATH.AMS.ORG by MATH.AMS.ORG (PMDF #2306 ) id <01GO5CORHRCWAXB6XC@MATH.AMS.ORG>; Sat, 29 Aug 1992 09:27:38 EST Date: 29 Aug 1992 09:27:38 -0400 (EDT) From: bbeeton Reply-To: LitProg@SHSU.edu Subject: message about cweb and web from don knuth To: litprog@shsu.edu Message-Id: <715094858.316689.BNB@MATH.AMS.ORG> Content-Transfer-Encoding: 7BIT Mail-System-Version: recently, i forwarded to don knuth a message about cweb, and received the attached reply. i think it's of general interest to this group. (silvio is silvio levy.) as background, i must explain that for several years, i've been acting as a semi-official agent, forwarding bug reports about tex and friends; ordinarily knuth prefers to receive such reports on paper, but he allows me to send them electronically to his secretary. anyone who has a well-documented report of a real bug can forward it through me, or send it by regular post to knuth at the address shown in the tug membership list. bug reports sent to me for forwarding will be vetted before they go to knuth; anything that is found to be spurious, or in the nature of a suggestion rather than a bug will be politely returned to the sender. -- bb -------------------- Date: 28 Aug 1992 22:26:13 -0700 To: bnb@MATH.AMS.ORG Subject: note from Don You asked about the status of CWEB: Yes, it has indeed taken on a life of its own. I expect it will be my programming language for the rest\ of my life, and I'm actively maintaining it (with Silvio), currently trying to make it better for systems programming (since it will greatly improve all existing systems!!) and more portable to varieties of C compilers. The CWEB master sources are now in their own directory at labrea; the previous cweb subdirectory of the tex sources now contains just a pointer to the main cweb directory. WEB, on the other hand, is part of TeX and no longer being maintained except for catastrophic errors; maybe even catastrophic errors will be regarded as features, in fact, because I think WEB has evolved to a desirable stable state. Those who wish to change it have made their change files; any changes to WEB itself will screw up those numerous change files.