Archive-Date: Sat, 02 Sep 1995 19:59:06 CDT Sender: owner-litprog@SHSU.edu From: schrod@iti.informatik.th-darmstadt.de (Joachim Schrod) Reply-To: LitProg@SHSU.edu, schrod@ITI.INFORMATIK.TH-DARMSTADT.DE Subject: Re: C++ PROGRAMMING LANGUAGE DISCUSSIONS Date: 28 Aug 1995 13:55:27 GMT Message-ID: <41shsf$ahe@rs18.hrz.th-darmstadt.de> To: LitProg@SHSU.EDU In article , br806@freenet.buffalo.edu (David D. w. Downey) writes: > > In a previous article, weiqigao@crl.com (Weiqi Gao) says: > > >In article <354272926wnr@starwolf.demon.co.uk>, Yvonne@starwolf.demon.co.uk > >says... > >> > >>To Whom it may concern, > >> > >>I would like to know the C++ programming language better, as I > >>wish to develop my expertise and boost my confidence in it. > >> > >>If you have familiarity with the C++ programming language and > >>would like to discuss it with me, please do not hesitate to > >>contact me, by Email, at: Yvonne@starwolf.demon.co.uk. > >> > >>Thank you in advance. > >> > >>Crystal > > > >Good! Let's do it here. Nothing else happens anyway. :) > > > > > Yeah, include me in if you won't mind! Please stop it. Go to comp.lang.c++ if you want to have a C vs. C++ discussion/flamewar. comp.programming.literate is for discussion on the topic of the Literate Programming method, not on literature about programming. Joachim -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Joachim Schrod Email: schrod@iti.informatik.th-darmstadt.de Computer Science Department Technical University of Darmstadt, Germany ================================================================================ Archive-Date: Sun, 03 Sep 1995 12:07:18 CDT Sender: owner-litprog@SHSU.edu From: Stephen Lowe Reply-To: LitProg@SHSU.edu, slowe@HIS.COM Subject: SEVERAL COMPUTER PROFESSIONALS NEEDED Date: 28 Aug 1995 21:53:40 GMT Message-ID: <41tdt4$cog@news2.his.com> MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit To: LitProg@SHSU.EDU Threshold Communications Group is a marketing and management consultant to technology companies such as telecommunications providers, defense contractors, and engineering consultants. Occasionally, as part of a deliverable, we are asked to find qualified candidates for permanent or contracting positions. Below are several current requirements. If you or anyone you know is interested, resumes can be faxed to (202) 723-8023 or e-mailed to slowe@his.com. POSITION REQUIREMENT Wireless Communications Programmers - GSM Protocol There is an immediate need for systems programmers with 3 or more years of experience in programming within a network/wireless communications environment. Specifically: * Software/systems specialist in networking, systems & software development * Skilled in programming in C or C++ * Knowledgeable in GSM (European std. for PCO cellular systems) * Skilled in Asynchronous Transfer Mode (ATM) networking * Knowledgeable in the ISDN arena overall Positions will be within the U.S., either on a full-time, salaried basis or on a long-term contracting arrangement. ----------------------------------------------------------------------------- POSITION REQUIREMENT Relational Database Specialists - UNIX/C/Oracle There is an immediate need for relational database specialists with extensive experience. Specifically, candidates should meet the following qualifications: * Strong relational database background * 5+ years of experience * Skilled in UNIX, C, and the Oracle environment * Very strong communications skills (will be working with clients directly) The positions will be within the U.S., either on a full-time, salaried basis or on a long-term contracting arrangement. _____________________________________________________________________________ POSITION REQUIREMENT Networking Expert - Novell/GroupWise There is an immediate need for a networking expert skilled in Novell/ WordPerfect & GroupWise software to participate in a 3-4 person team coordinating with ECNE and WorldTalk professionals. Specifically, candidates should meet the following qualifications: * 2-5 years hands-on experience working with Novell & GroupWise * Strong background in networking e-mail systems. The position will be within the U.S. on a contracting arrangement. _____________________________________________________________________________ POSITION REQUIREMENT Programmer - TCP/IP & NetBios Experience There is an immediate need for a programmer with TCP/IP experience needed for a 2-month project. Specifically, candidates should meet the following qualifications: * 3 or more years' experience in TCP/IP and NetBios * Strong background in software programming The position will be within the U.S. on a contracting arrangement. _____________________________________________________________________________ POSITION REQUIREMENT C++ Programmer - Novell NetWare Experience There is an immediate need for a C++ programmer with Novell NetWare experience needed to help on a consulting basis. Specifically, candidates should meet the following qualifications: * 5-7 years' hands-on experience * Strong background in C++ programming * Strong familiarity with the Novell NetWare 4.1 environment The position will be within the U.S. on a contracting arrangement. _____________________________________________________________________________ POSITION REQUIREMENT Document Conversion & Reformatting (SCRIPT SML/Bookmaster) There is an immediate need for documentation experts to convert two Software Design Documents, Interface Requirements Documentation, Software Requirements Specifications, and Test Documentation from SCRIPT SML (Standard Markup Language) and BOOKMASTER to Interleaf 6.0. The conversion will entail using developed tools to perform the initial conversion, followed by organizational and format revisions. The task encompasses both 21B64 and BSY-1 Trainer design and test documentation. Overtime and shift work may be required to complete the work by October, 1995. A SECRET level clearance is required. ================================================================================ Archive-Date: Sun, 03 Sep 1995 17:16:11 CDT Sender: owner-litprog@SHSU.edu From: cbruno@woodstock.inria.fr (Bruno Conductier) Subject: need help for FWEB... Date: 31 Aug 1995 13:13:27 GMT Message-ID: <424chn$6i0@news-sop.inria.fr> Reply-To: LitProg@SHSU.edu, cbruno@lynus.inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Keywords: fweb fwebmac tex To: LitProg@SHSU.EDU Hello, i try to use FWEB version 1.30. For the moment the installation seems succesfull (FWEAVE and FTANGLE do their jobs) but since i'm also a novice with TEX, i can't create the final documentation : happy% tex This is TeX, Version 3.1415 (C version 6.1) ** Please type the name of your input file. **basicTest_cc.tex (basicTest_cc.tex ! I can't find file `fwebmac.sty'. l.3 \input fwebmac.sty i look for the file `fwebmac.sty' in the FWEB distribution but got nothing ... please, could somebody explain me where to look for this file ... ================================================================================ Archive-Date: Mon, 04 Sep 1995 11:56:34 CDT Sender: owner-litprog@SHSU.edu From: cbruno@woodstock.inria.fr (Bruno Conductier) Subject: Could we mix WEB mode and C++ mode ? Date: 4 Sep 1995 15:26:23 GMT Message-ID: <42f5qv$6iq@news-sop.inria.fr> Reply-To: LitProg@SHSU.edu, cbruno@lynus.inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Keywords: EMACS FWEB WEB-mode C++ Hello, To: LitProg@SHSU.EDU I'm using FWEB and according to an advice i got the WEB-MODE package for EMACS like editors. Although, the web-mode please me, i wonder how to edit my C++ code without the classical C++ mode. Indeed, without good pretty-printing facilities i can't edit easily the code. So could somebody point me the manner to mix the two mode, or give me the name of another web-mode compatible with FWEB. Thanks. ================================================================================ Archive-Date: Mon, 04 Sep 1995 16:32:11 CDT Sender: owner-litprog@SHSU.edu From: gilbert@login.iaf.nl (Gilbert van den Dobbelsteen) Subject: C++ and web stuff Message-ID: <810212150.31snx@login.iaf.nl> Date: Mon, 04 Sep 95 10:55:50 GMT Reply-To: LitProg@SHSU.edu, gilbert@login.iaf.nl To: LitProg@SHSU.EDU Hi there, I am new to this newsgroup and I have a question which is probably simple to answer. Is it possible to code in C(++) and after the coding process is complete, converting the created code to WEB. I know c2cweb does this but I want something more complicated. Demonstration follows below: /* This is a simple C++ program that should be translated into a multiple section web. */ //@= main() { //@= printf("Hello world\n"); //@End } //@End This should be translated into a web and result into 2 sections: The main stuff and Print'm. Is there a tools which can do this, or must I write one of my own? Greetings, [+ilbert (gilbert@login.iaf.nl) ================================================================================ Archive-Date: Mon, 04 Sep 1995 18:00:04 CDT Sender: owner-litprog@SHSU.edu Date: Mon, 4 Sep 95 19:00:27 EDT From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@PILOT.NJIN.NET To: LitProg@SHSU.edu, gilbert@login.iaf.nl Subject: Re: C++ and web stuff Message-ID: gilbert@login.iaf.nl asks: > Is it possible to code in C(++) and after the coding process is > complete, converting the created code to WEB. I know c2cweb does this > but I want something more complicated. Demonstration follows below: > > [Demonstration omitted] > > This should be translated into a web and result into 2 sections: The > main stuff and Print'm. Is there a tools which can do this, or must I > write one of my own? I think you'll have to write your own tool, but if the comments you indicated are already in the code, a fairly straightforward Awk script should do the job. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Usually, when a man shoots a woman, he Computer Science Department | attempts his own life. When a woman Kean College of New Jersey | shoots a man, she seems to think that's Union, NJ 07083 | enough for one day. | -- Nellise Child leew@pilot.njin.net | "Chicago Murders" (c.1948) ------------------------------------------------------------------------ ================================================================================ Archive-Date: Mon, 04 Sep 1995 18:53:12 CDT Sender: owner-litprog@SHSU.edu From: bakicale@cps.msu.edu (Aleksandar Bakic) Reply-To: LitProg@SHSU.edu, bakicale@CPS.MSU.EDU Subject: Re: Could we mix WEB mode and C++ mode ? Date: 4 Sep 1995 20:42:44 GMT Message-ID: <42foc4$dak@msunews.cl.msu.edu> To: LitProg@SHSU.EDU Bruno Conductier (cbruno@woodstock.inria.fr) wrote: > ... > So could somebody point me the manner to mix the > two mode, or give me the name of another web-mode > compatible with FWEB. > Thanks. Have you tried with cweb mode? It is a minor mode such that (La)TeX and C mode formattings separated (which one is turned on depends on where the cursor is). Also, it is possible to use languages different from C/C++ and it is (should be...) compatible with FWEB. I don't know the exact URL, but such thing exists. Aleks -- Aleksandar Bakic CS graduate student at Michigan State University e-mail: bakicale@cps.msu.edu ================================================================================ Archive-Date: Tue, 05 Sep 1995 13:21:29 CDT Sender: owner-litprog@SHSU.edu From: st93q7ya@dunx1.ocs.drexel.edu (Jaime Seoane) Reply-To: LitProg@SHSU.edu, st93q7ya@DUNX1.OCS.DREXEL.EDU Subject: Devices Architecture Date: 28 Aug 1995 10:50:03 -0400 Message-ID: <41sl2r$bjd@dunx1.ocs.drexel.edu> To: LitProg@SHSU.EDU Hello There.- I have a question that I read in a systems architecture book that I can think of a solution. If somebody has a suggestion pleases e-mail to the address given below: Question: Consider a computer in which several devices are connected to a common interrupt request line, as shown in the figure below. Assume that each device has a separeate interrupt vector that points to an appropriate interrupt-service routine. Explain how you would arrange for interrupts from device j to be accepted before the execution of the interrupt-service routine for device i is completed. Comment in particular on the times at which interrupts must be enabled and disabled at various points in the system. Figure: --------- INTR line | |<--------------------------------------------------- | CPU | | | | | | ----------- ----------- ------------ | | ------->| Device i|-->| Device j| - - - - - >| Device n | | | INTAck ----------- ----------- ------------ --------- Note: Device j has a relative lower priority than device i. Figure above shows a daisy chain arrangement of devices with an interrupt acknowledge line sending signals from on device to another until a pending routine is found and the int acknowledge signal is blocked. E-mail suggestions to: Jaime Seoane at ujseoane@mcs.drexel.edu Thank You !!!!!! ================================================================================ Archive-Date: Tue, 05 Sep 1995 13:34:52 CDT Sender: owner-litprog@SHSU.edu Date: Tue, 5 Sep 1995 10:48:47 -0700 Message-ID: <9509051748.AA00822@plight.> From: kendall shaw Reply-To: LitProg@SHSU.edu, kshaw@PLIGHT To: LitProg@SHSU.edu Subject: cweb questions Hello, I'm sure these are FAQs but I've been wishing to see more literate programming content in this group, so I hope it is okay. 1. Can I make cross references to sections in the text, e.g.: @*\label{token}The Gobbledy Gook section. <@Lots of neat stuff@>= 1==1; @*The Other Section. This the other section (but you should really look at \ref{token} where other things are discussed). where \ref would resolve to the section number and name? 2. How do I get C code to be formatted more or less verbatim, as far as tabs and spaces. I could use a tabular environment in TeX, but I can't do that right, since it needs to be code for ctangle? thanks ================================================================================ Archive-Date: Tue, 05 Sep 1995 19:32:13 CDT Sender: owner-litprog@SHSU.edu From: maavl@cwi.nl (Marc van Leeuwen) Reply-To: LitProg@SHSU.edu, maavl@CWI.NL Subject: Re: C++ and web stuff Message-ID: Date: Tue, 5 Sep 1995 08:40:16 GMT To: LitProg@SHSU.EDU In article <810212150.31snx@login.iaf.nl>, gilbert@login.iaf.nl (Gilbert van den Dobbelsteen) writes: |> Is it possible to code in C(++) and after the coding process is |> complete, converting the created code to WEB. I know c2cweb does this |> but I want something more complicated. Demonstration follows below: |> |> /* This is a simple C++ program that should be translated into a |> multiple section web. |> */ |> |> //@= |> main() |> { |> //@= |> printf("Hello world\n"); |> //@End |> } |> //@End |> |> This should be translated into a web and result into 2 sections: The |> main stuff and Print'm. Is there a tools which can do this, or must I |> write one of my own? I don't know of the existence of any such tool, but then I also don't understand why exactly you would wish to have it. If you intend that the `//@' comments are already added in the coding process, then I think this is more tedious than writing the thing directly in the WEB format; if on the other hand you have to insert them after the coding stage, then again this seems more work than reshaping the code directly into WEB format by hand (I have a lot of practice with this first stage of LP-ifying plain code, and with an editor with good cut-paste, move and change-indentation facilities, it is an easy, albeit somewhat boring chore). The advantage of WEB format that makes it preferable in both these cases is that by moving the sub-module out of the way, it is much easier to percieve the structure of the surrounding code. (For this reason you are sometimes even forced to work bottom-up in locating candidates for sub-modules, even when top-down would make it much easier to find the right descriptions for the sub-modules; this is simply because the global structure cannot be discerned initially.) Whatever approach you take, it is of course important to realise that isolating sub-modules is only a first step towards making a literate program from an illiterate one; it is vital that commentary is added to the sub-modules (except in some cases where an elaborate module name already says it all), so that the understanding of the code you needed in order to break things up properly will not be lost before you come round to look at the code a next time. Marc van Leeuwen ================================================================================ Archive-Date: Tue, 05 Sep 1995 21:31:47 CDT Sender: owner-litprog@SHSU.edu From: tom87ta@aol.com (Tom87TA) Subject: need some help Date: 5 Sep 1995 17:27:27 -0400 Message-ID: <42ifbv$at8@newsbf02.news.aol.com> Reply-To: LitProg@SHSU.edu, tom87ta@aol.com (Tom87TA) To: LitProg@SHSU.EDU I am developing a program and a file, even after I compress it, will not fit on a 3 1/2 floppy, does anyone know where i can get a copy of a program that will put a file on more then one floppy. thanks Tom87TA@aol.com ================================================================================ Archive-Date: Wed, 06 Sep 1995 07:12:19 CDT Sender: owner-litprog@SHSU.edu From: cwhizard@aol.com (Cwhizard) Reply-To: LitProg@SHSU.edu, cwhizard@AOL.COM Subject: Re: C++ PROGRAMMING LANGUAGE DISCUSSIONS Date: 30 Aug 1995 00:59:45 -0400 Message-ID: <420r81$gd1@newsbf02.news.aol.com> To: LitProg@SHSU.EDU I too would like to discuss assembler. I will write a discussion. ================================================================================ Archive-Date: Wed, 06 Sep 1995 08:16:39 CDT Sender: owner-litprog@SHSU.edu Date: Wed, 6 Sep 95 9:17:14 EDT From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@PILOT.NJIN.NET To: LitProg@SHSU.edu, kshaw@PLIGHT Subject: Re: cweb questions Message-ID: Kendall Shaw asks: > 1. Can I make cross references to sections in the text, e.g.: > > @*\label{token}The Gobbledy Gook section. > <@Lots of neat stuff@>= > 1==1; > > @*The Other Section. > This the other section (but you should really look at \ref{token} > where other things are discussed). > > where \ref would resolve to the section number and name? In plain TeX CWEB, you can use \secno for backward references (this is simple): @*The Gobbledy Gook section. \edef\tokenlabel{\secno} <@Lots of neat stuff@>= 1==1; @*The Other Section. This the other section (but you should really look at \tokenlabel where other things are discussed). For forward references, however, you'll have to "roll your own" LaTeX-like .aux file mechanism. CWEB.STY, on the other hand, probably allows you to use LaTeX \labels and \refs, just as in your example. I haven't tried it myself, so I couldn't say for sure. > 2. How do I get C code to be formatted more or less verbatim, as far > as tabs and spaces. I could use a tabular environment in TeX, > but I can't do that right, since it needs to be code for ctangle? You can use @= ... @> for small bits of verbatim code, redefining \vb if you don't like the frame, but if you want all the code set in a typewriter font exactly as you typed it, you probably want to use a tool like noweb, which doesn't do any prettyprinting. One of the main features of CWEB is its prettyprinting, so it's really a losing battle trying to turn it off. If that's what you want, you'll probably be happier with another tool. -- Lee > ------------------------------------------------------------------------ Lee Wittenberg | Usually, when a man shoots a woman, he Computer Science Department | attempts his own life. When a woman Kean College of New Jersey | shoots a man, she seems to think that's Union, NJ 07083 | enough for one day. | -- Nellise Child leew@pilot.njin.net | "Chicago Murders" (c.1948) ------------------------------------------------------------------------ ================================================================================ Archive-Date: Wed, 06 Sep 1995 12:46:51 CDT Sender: owner-litprog@SHSU.edu Date: Wed, 6 Sep 1995 10:31:47 -0700 Message-ID: <9509061731.AA02471@plight.> From: kendall shaw Reply-To: LitProg@SHSU.edu, kshaw@PLIGHT To: LitProg@SHSU.edu, cwhizard@AOL.COM CC: LitProg@SHSU.EDU Subject: Re: C++ PROGRAMMING LANGUAGE DISCUSSIONS Sheesh! How about not doing it on the Literate Programming discussion list which is about a certain method of programming and various tools. ================================================================================ Archive-Date: Wed, 06 Sep 1995 12:46:52 CDT Sender: owner-litprog@SHSU.edu Date: Wed, 6 Sep 1995 10:31:47 -0700 Message-ID: <9509061731.AA02471@plight.> From: kendall shaw Reply-To: LitProg@SHSU.edu, kshaw@PLIGHT To: LitProg@SHSU.edu, cwhizard@AOL.COM CC: LitProg@SHSU.EDU Subject: Re: C++ PROGRAMMING LANGUAGE DISCUSSIONS Sheesh! How about not doing it on the Literate Programming discussion list which is about a certain method of programming and various tools. ================================================================================ Archive-Date: Wed, 06 Sep 1995 15:55:26 CDT Sender: owner-litprog@SHSU.edu From: vector@magicnet.net (Victor I. Pirie) Reply-To: LitProg@SHSU.edu, vector@MAGICNET.NET Subject: Symantic C,C++ v7 (Mac) Date: Tue, 05 Sep 1995 12:13:53 -0400 Message-ID: To: LitProg@SHSU.EDU Recently I purchused Symantic C++ programming package, and also a few nessesery books, with hopes of being able to learn C++ programming. Well, the bottom fell out from under me, and left me in a spot where I am now unable to pay for schooling, and no time to go if I could pay for school. So now, I am left with a very expensive software programming package, and a few tutorial books on the subject, including the Programmers Ref. Manual. Symantic said that I couldn't sell the software, but that I could Transfer it to another individual, and that the other Individual could reimburse me for some or all of my purches price ($385)not counting the other books I bought. If some one wants this software package, they can get in touch with me by E-Mail at ( vector@mailhost.magicnet.net ) Oh, and if I could get reimbursed for most of my cost, lets say around $300, I would be real happy. I would settle for less, not much less thoe. The software is for MAC 68k, Power Mac, ANSII, C++ I/O stream, and a few others. All books and papers go with it. I am in Orlando Fla. Thanks -- Victor I.Pirie ================================================================================ Archive-Date: Wed, 06 Sep 1995 18:12:48 CDT Sender: owner-litprog@SHSU.edu Date: Wed, 6 Sep 95 16:13:24 PDT From: bos@mdd.comm.mot.com (Mary Bos) Reply-To: LitProg@SHSU.edu, bos@MDD.COMM.MOT.COM Message-ID: <9509062313.AA00932@fh01c.mdd.comm.mot.com> To: litprog@shsu.edu Subject: Legacy Code wars CC: bos@mdd.comm.mot.com Hello all, Some time ago, some one asked about who or where is literate programming used in industry. We are still trying to get literate programming introduced into our work group. We maintain several diverging code streams (each stream has about 260 KAELOC of c code, we also have assembly code, shell scripts, configuration files, release notes, and other bits of documentation to work with). This code is very intertwined, so splitting this code into "clean" partitions at first is not feasible (and still meet our deadlines). The base code has been in existence for over 10 years, hosted onto several platforms. Our code is used in real-time systems, so this 260 KAELOC of code ends up into one large executable file. This is not like some of the IS systems, where the system is 250 KAELOC, but there are individual executable files built to make the system. Three of us, Joseph Brothers, Gary Young, and myself (Mary Bos) are trying to bend noweb into working on this large segment of code. We conservatively estimate of about 3 lines of documentation (including x-refs, indicies) per line of c code. We figured if we just put our code into noweb, we'd overrun the chunk indicies and main index as well as use about 50 reams+ of paper. Anybody have rule of thumb they use for estimating the documentation size? Especially the ratio between lines of moderately dense 'c' code to documentation? I haven't seen any discussion of measuring the effectiveness of documenting the code (such as fog indicies). I know real software engineers are trying to make the process work and produce products on time, on budget, and on quality. But how will we know when we get there? Unfortunately managers like numbers (especially if the numbers look like productivity numbers). Is anybody trying to introduce literate programming into legacy code or has done so? I have been out exploring on the WWW and found software maintenance and legacy code have a dearth of citations. mary bos email bos@seattleu.edu "I don't speak for my employer and my employer doesn't speak for me" ================================================================================ Archive-Date: Thu, 07 Sep 1995 14:24:49 CDT Sender: owner-litprog@SHSU.edu From: thompson@sun1.coe.ttu.edu Subject: comp.programming.literate FAQ Date: 7 Sep 1995 13:26:23 GMT Message-ID: Reply-To: LitProg@SHSU.edu, thompson@sun1.coe.ttu.edu To: LitProg@SHSU.EDU Archive-name: literate-programming-faq Last-modified: 1995/06/22 Version: 1.1.16 Welcome to the Literate Programming Frequently Asked Questions List ------------------------------------------------------------------- This version was created Thursday, 22 June 1995, and should considered stale after 90 days. Information contained in this document is the best available at preparation. The original file was dated October 15, 1993 (just for historical purposes). Disclaimer: "This FAQ is presented with no warranties or guarantees of ANY KIND including correctness or fitness for any particular purpose. The author of this document has attempted to verify correctness of the data contained herein; however, slip-ups can and do happen. If you use this data, you do so at your own risk." Copyright 1993, 1994, 1995 by David B. Thompson. All rights reserved worldwide. Permission is granted to copy this document for free distribution so long as it remains intact and unmodified. For other arrangements, contact the author/maintainer via email: thompson@sun1.coe.ttu.edu. What's New? ----------- + Updated cwebx3.0. + Updated fweb entry (notices added). + Added FunnelWeb3.0AC entry. = ====================================================================== * Introduction or "What's this all about?" ------------------------------------------ This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. The Literate Programming (LitProg) Frequently Asked Questions (FAQ) list is maintained by Dave Thompson, who can be reached at: thompson@sun1.coe.ttu.edu * Preferred mailing address for FAQ related comments/questions. wqdbt@ttacs1.ttu.edu * Forwarded to my pc. Comment and constructive criticism is welcome. Direct flames to /dev/null (or > nul if you're a msdos user! ;-) If you find an error, please report it. I'm particularly interested in establishing the locations of generally available literate programming tools. If you are the author of such a tool and wish to have it included in this list, please send email. Please note this is a work-in-progress. It is *not* complete, and probably will not be complete for some months. Nevertheless, the information contained herein may be useful to some. Use it as it is intended. - ---------------------------------------------------------------------- - Typography ------------ Major sections of the FAQ are divided by double lines (====). Minor sections and other divisions are separated by single lines (----). Major topics use a "* " as a leader. Minor topics use a "- " as a leader. This should simplify searching for topics. = ====================================================================== Table of Contents: ------------------ * Introduction, or "What's this all about?" - Typography * How do I get the FAQ? - Literate Programming FAQ - FWEB FAQ * Is there a newsgroup? (The comp.programming.literate newsgroup) * What internet nodes are of interest to literate programmers? * What is literate programming? * How do I begin literate programming? * What literate programming tools are available and where are they? - APLWEB - AWEB - CLiP - CWEB - CWEBx3.0 - FunnelWeb - FunnelWeb3.0AC - FWEB - IMPACT - lit2x - Literate Programmer's Workshop (LPW) - MapleWEB - MWEB (Schrod/Detig) - MWEB (Sewell) - noweb - nuweb - ProTeX - RWEB - SchemeWEB - Spidery WEB - WEB - WinWordWEB * Are there other tools I should know about? - C2LaTeX - c2cweb - c2man - cnoweb - Fold2web - FunnelWeb mode - noweb.el - nuweb.el - TIE - Web mode * What other resources are available? - World Wide Web - TeX Resources - Virtual Coursework * Are there any code examples? - Examples included with developer's tools - Cameron Smith's KR-CWEB - Stanford GraphBase * Bibliographies. * How to anonymously ftp. * Acknowledgements. * End notes. = ====================================================================== * How do I get the FAQ? ----------------------- - Literate Programming FAQ -------------------------- You have many ways to get a current copy of this FAQ. One is to use anonymous ftp (if you don't know how, see a later section in this FAQ) to connect to one of the Comprehensive TeX Arvchive Network (CTAN) sites or the Literate Programming Archive and retrieve a copy of the file. Open an ftp connection to one of the CTAN sites and retrieve the file: help/LitProg-FAQ (For more information on CTAN and the literate programming archive, see the section below entitled "Internet Nodes of Interest to Literate Programmers.") An alternative is to use the fileserver at Sam Houston State University (SHSU). Send a message to FILESERV@SHSU.EDU and include in your message: SENDME LITPROG.FAQ The file server will forward a copy of the file to you via email. - ---------------------------------------------------------------------- - FWEB FAQ ---------- David Coker now maintains the FWEB FAQ. (We all owe Marcus Speh a big THANK YOU for maintaining the FWEB FAQ for so long!) The current version number is 1.30a. It can be retrieved in the same way as this FAQ; either by anonymous ftp or through the SHSU file server. On the SHSU server, the file name is FAQ.FWEB. Invoke your ftp software, open a connection to NIORD.SHSU.EDU [192.92.115.8], attach to the directory FAQ, and transfer the file FAQ.FWEB. Alternatively, send a message to the file server, FILESERV@SHSU.EDU, and include the following text in a one line message: SENDME FAQ.FWEB The file server will send the current version of the file via email. The FWEB FAQ exists in various formats, including HyperText (see other resources below). In Europe, the complete distribution can also be obtained from ftp.desy.de [131.169.10.115] in directory /pub/faq/web/fweb/. It is also available from the literate programming archive (LPA) in the directory LPA/Documentation/faq/fweb (see the references to LPA below for more information). = ====================================================================== * Is there a newsgroup? ----------------------- One of the most important resources is the literate programming newsgroup, comp.programming.literate. You can read this newsgroup using your standard reader. Altenatively, the newsgroup is gated to a mailing list hosted by George Greenwade and Sam Houston State University. You can subscribe by sending mail to the list-server, LISTSERV@SHSU.EDU, and include in the message one line of text: SUBSCRIBE LITPROG "your name in quotes" The list is unmoderated; messages sent to litprog@shsu.edu are automatically distributed to all subscribers and cross-posted to comp.programming.literate. Archives of the mailing list and newsgroup are maintained on niord.shsu.edu [192.92.115.8] in the directory litprog. = ====================================================================== * What internet nodes are of interest to literate programmers? -------------------------------------------------------------- The principal nodes of interest to literate programmers are the Literate Programming Archive (LPA hereafter) and the CTAN (Comprehensive TeX Archive Network). The Literate Programming Archive (LPA) is: Node: ftp.th-darmstadt.de [130.83.55.75] Directory: programming/literate-programming Notes: Fastest response during off-U.S. [yep] business hours. Participating hosts in the Comprehensive TeX Archive Network are: ftp.dante.de (Deutschland) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node sun.dante.de -- e-mail via ftpmail@dante.de -- Administrator: ftp.shsu.edu (Texas, USA) -- anonymous ftp and gopher /tex-archive (/pub/tex /pub/archive) -- NFS mountable from ftp.SHSU.edu:/pub/ftp/tex-archive -- e-mail via ftpmail@ftp.SHSU.edu -- World Wide Web access on www.SHSU.edu -- Administrator: ftp.tex.ac.uk (England) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node gopher.tex.ac.uk -- NFS mountable from nfs.tex.ac.uk:/public/ctan/tex-archive -- World Wide Web access on www.tex.ac.uk -- Administrator: A list of CTAN archive sites and their mirrors can be found on: ftp.dante.de: /tex-archive/CTAN.sites I presume that the other CTAN sites mirror this file, but have not checked. As of my last check (September 1994), it contains: "In order to reduce network load, it is recommended that you use the Comprehensive TeX Archive Network (CTAN) host which is located in the closest network proximity to your site." Known partial mirrors of the CTAN reside on (alphabetically): dongpo.math.ncu.edu.tw (Taiwan) /tex-archive ftp.adfa.oz.au (Australia) /pub/tex/ctan ftp.muni.cz (The Czech Republic) /pub/tex/CTAN ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive ftp.uu.net (Virginia, USA) /pub/text-processing/TeX nic.switch.ch (Switzerland) /mirror/tex Known mirrors of the CTAN reside on (alphabetically): ftp.center.osaka-u.ac.jp (Japan) /CTAN ftp.ccu.edu.tw (Taiwan) /pub/tex ftp.cs.rmit.edu.au (Australia) /tex-archive ftp.duke.edu (North Carolina, USA) /tex-archive ftp.germany.eu.net (Deutschland) /pub/packages/TeX ftp.gwdg.de (Deutschland) /pub/dante ftp.jussieu.fr (France) /pub4/TeX/CTAN ftp.loria.fr (France) /pub/unix/tex/ctan ftp.mpi-sb.mpg.de (Deutschland) /pub4/tex/mirror/ftp.dante.de ftp.uni-bielefeld.de (Deutschland) /pub/tex ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex) ftpserver.nus.sg (Singapore) /pub/zi/TeX src.doc.ic.ac.uk (England) /packages/tex/uk-tex sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX wuarchive.wustl.edu (Missouri, USA) /packages/TeX Other nodes and directories of interest include: Node: niord.shsu.edu [192.92.115.8] Directory: various (do some snooping!) Notes: Has a gopher server. Node: ftp.desy.de [131.169.10.115] Directory: pub/web. Various documents, samples, and the FWEB FAQ. Notes: Has a www server, http://info.desy.de:80/ = ====================================================================== * What is Literate Programming? ------------------------------- Literate programming is the combination of documentation and source together in a fashion suited for reading by human beings. In fact, literate programs should be enjoyable reading, even inviting! (Sorry Bob, I couldn't resist!) In general, literate programs combine source and documentation in a single file. Literate programming tools then parse the file to produce either readable documentation or compilable source. The WEB style of literate programming was created by D.E. Knuth during the development of his TeX typsetting software. All the original work revolves around a particular literate programming tool called WEB. Knuth says: The philosophy behind WEB is that an experienced system programmer, who wants to provide the best possible documentation of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately. The structure of a software program may be thought of as a web that is made up of many interconnected pieces. To document such a program we want to explain each individual part of the web and how it relates to its neighbours. The typographic tools provided by TeX give us an opportunity to explain the local structure of each part by making that structure visible, and the programming tools provided by languages such as C or Fortran make it possible for us to specify the algorithms formally and unambigously. By combining the two, we can develop a style of programming that maximizes our ability to perceive the structure of a complex piece of software, and at the same time the documented programs can be mechanically translated into a working software system that matches the documentation. Another author (Eric W. van Ammers) wrote me a short article treating his opinions on literate programming. The text follows: First observation on LP About 90% of the disussion on this list is about problems with applying some WEB-family member to a particular programming language or a special documentation situation. This is ridiculous, I think. Let me explain shortly why... Lemma 1: I have proposed for many years that programming has nothing to do with programming langauges, i.e. a good programmer makes good programs in any language (given some time to learn the syntax) and a bad programmer will never make a good program, no matter the language he uses (today many people share this view, fortunately). Lemma 2: Literate Programming has (in a certain way not yet completely understood) to do with essential aspects of programming. Conclusion 1: A LP-tool should be independent of programming language. Lemma 3: It seems likely that the so called BOOK FORMAT PARADIGM [ref. 1] plays an important role in making literate programs work. Lemma 4: There are very many documentation systems currently being used to produce documents in the BOOK FORMAT. Conclusion 2: A LP-tool should be independent of the documentation system that the program author whishes to use. My remark some time ago that we should discuss the generic properties of an LP-tool was based on the above observation. References: [1] Paul W. Oman and Curtus Cook. Typographical style is more than cosmetic. CACM 33, 5, 506-520 (May 1990) Second observation on LP The idea of a literate program as a text book should be extendend even further. I would like to see a literate program as an (in)formal argument of the correctness of the program. Thus a literate program should be like a textbook on mathematicics. A mathematical textbook explains a theory in terms of lemma and theorems. But the proofs are never formal in the sense that they are obtaind by symbol manipulation of a proof checker. Rather the proofs are by so called "informal rigour", i.e. by very precise and unambiguous sentences in a natural language. Eric W. van Ammers Department of Computer Science Wageningen Agricultural University Dreijenplein 2 E-mail: ammers@rcl.wau.nl 6703 HB Wageningen voice: +31 (0)8370 83356/84154 The Netherlands fax: +31 (0)8370 84731 Another author (Norman Ramsey) wrote me and asked that his opinions be included in the FAQ. What follows are Norman's comments verbatim. I see it's time for the ``how is literate programming different from verbose commenting'' question. Perhaps David Thompson will get this into the FAQ. Alert! What follows are my opinions. In no way do I claim to speak for the (fractious) literate-programming community. How is literate programming different from verbose commenting? There are three distinguishing characteristics. In order of importance, they are: - flexible order of elaboration - automatic support for browsing - typeset documentation, especially diagrams and mathematics Flexible order of elaboration means being able to divide your source program into chunks and write the chunks in any order, independent of the order required by the compiler. In principle, you can choose the order best suited to explaining what you are doing. More subtly, this discipline encourages the author of a literate program to take the time to consider each fragment of the program in its proper sphere, e.g., not to rush past the error checking to get to the ``good parts.'' In its time and season, each part of the program is a good part. (This is the party line; your mileage may vary.) I find the reordering most useful for encapsulating tasks like input validation, error checking, and printing output fit for humans --- all tasks that tend to obscure ``real work'' when left inline. Reordering is less important when using languages like Modula-3, which has exceptions and permits declarations in any order, than when using languages like C, which has no exceptions and requires declaration before use. Automatic support for browsing means getting a table of contents, index, and cross-reference of your program. Cross-reference might be printed, so that you could consult an index to look up the definition of an identifier `foo'. With good tools, you might get a printed mini-index on every page if you wanted. Or if you can use a hypertext technology, cross-reference might be as simple as clicking on an identifier to reach its definition. Indexing is typically done automatically or `semi-automatically', the latter meaning that identifier definitions are marked by hand. Diligently done semi-automatic indexes seem to be best, because the author can mark only the identifiers he or she considers important, but automatic indexing can be almost as good and requires no work. Some tools allow a mix of the two strategies. Some people have applied literate-programming tools to large batches of legacy code just to get the table of contents, index, and cross-reference. I don't use diagrams and mathematics very often, but I wouldn't want to have to live without them. I have worked on one or two projects where the ability to use mathematical formulae to document the program was indispensible. I also wouldn't like to explain some of my concurrent programs without diagrams. Actually I write almost all of my literate programs using only sections headers, lists, and the occasional table. >Wouldn't it be easier to do one's literate programming using a wysiwyg >word processor (e.g. Word for Windows) and indicate what is source >code by putting it in a different font? The data formats used in wysiwyg products are proprietary, and they tend to be documented badly if at all. They are subject to change at the whim of the manufacturer. (I'll go out on a limb and say there are no significant wysiwyg tools in the public domain. I hope the Andrew people will forgive me.) These conditions make it nearly impossible to write tools, especially tools that provide automatic indexing and cross-reference support. The CLiP people have a partial solution that works for tools that can export text --- they plant tags and delimiters throughout the document that enable the reordering transformation (``tangling''). People use TeX, roff, and HTML because free implementations of these tools are widely available on a variety of platforms. TeX and HTML are well documented, and TeX and roff are stable. TeX is the most portable. I think I have just answered the FAQ ``how come all these tools use TeX, anyway?'' :-) Norman Ramsey = ====================================================================== * How do I begin literate programming? -------------------------------------- A recommended book is D.E. Knuth's collection of articles (1992) "Literate Programming," Center for the Study of Language and Information, Stanford University, ISBN 0-937073-80-6 (pbk). This book gives insight into Knuth's thoughts as he developed the web system of literate programming (and TeX for typesetting). It does not document methods for literate programming. A recommended book is Wayne Sewell's (1989) "Weaving a Program: Literate Programming in WEB," Van Nostrand Reinhold, ISBN 0-442-31946-0 (pbk). This book focuses on using Knuth's web system. Some talk exists in the newsgroup/mailing list for a Usenet University course in literate programming. I'm sure discussion of this topic will be welcomed. If you are interested, please participate. = ====================================================================== * What literate programming tools are available and where are they? ------------------------------------------------------------------- A significant number of tools for literate programming are available. Most have been ported from their original systems, so support multiple computer platforms. If you are the developer of such a tool, and would like to make the software freely available, please send me email and I'll reply with a form (like those below) for you to fill in. (Or short-circuit the process and kludge a form from below. :-) - ---------------------------------------------------------------------- - APLWEB -------- Developer: Christoph von Basum Version: Unknown Hardware: MSDOS Languages: IBM APL2 and STSC APL Formatter: Plain TeX Availability: Anonymous ftp from: LPA:/apl watserv1.uwaterloo.ca:/languages/apl/aplweb Readme: Unknown Description: None available. Support: Unknown Note: The status of this particular package is unknown. - ---------------------------------------------------------------------- - AWEB ------ Developer: Unknown Version: Unknown Hardware: Unknown Languages: Ada Formatter: Unknown Availability: Anonymous ftp from: LPA:/ada/web Readme: Unknown Description: None available Support: Not supported. - ---------------------------------------------------------------------- - CLiP ------ Developer: E.W. van Ammers and M.R. Kramer Version: Unknown Hardware: Vax/VMS, Unix, and MS-DOS Languages: Any programming language. Formatter: Any formatter (TeX, LaTeX, Troff, Runoff, etc) or any wordprocessor including WYSIWYG systems (Word Perfect, Win Word, Ami Pro, Word, etc.) Availability: Anonymous ftp from: sun01.info.wau.nl:/CLIP/ms_dos MS-DOS version sun01.info.wau.nl:/CLIP/vax_vms VAX/VMS version CTAN:/web/clip LPA:/machines/ms-dos LPA:/machines/vax Readme: With bundle above Description: CLiP does not use explicite commands to perform the extraction process. Rather it recognizes pseudostatemens written as comments in the programming language in question. CLiP distinguishes pseudostatments from ordinary comments because the former comply with a a particular style. This style can be adjusted to suit virtually any programming language. The CLiP approach to LP makes the system extremely versatile. It is independent of programming language and text processing environment. We designed CLiP to be compatible with hypertext systems as well but we have not yet experimented with this form of documentation. Features: + CLiP imposes virtually no limitations on the text-processing system used to produce the documentation. If the text-processor supports these items you can + structure the documentation according to your own taste. + include drawings, pictures, tables etc. + disclose your documentatio my means of X-ref tables, Indexes, Table of contents, Table of tables, Table of figures, etc. + typeset the documented code. + Extracts any number of modules from a maximum of 64 source files. + No pretty-printing. Code from the source files is copied "as is" to the module. + Appearance of code segments in the documentation matches those of the modules to ease the identification of code segements. + Supports partially specified data types. + Comprehensive user manual (preliminary version) and technical description. - No automatic generation of a X-ref table for program identifiers. Support: Bugs, problems and assistance by e-mail: ammers@rcl.wau.nl - ---------------------------------------------------------------------- - CWEB ------ Developer: Silvio Levy and D.E. Knuth Version: 3.0 Hardware: Unix systems (dos and amiga ports available) Languages: C and C++ Formatter: Plain TeX and LaTeX. Availability: Anonymous ftp from: labrea.stanford.edu:/pub/cweb LPA:/c.c++ CTAN:/web/c_cpp/cweb DOS version in CTAN:/web/c_cpp/cwb30p8c DOS version in LPA:/machines/ms-dos Amiga version CTAN:/web/c_cpp/AmigaCWEB Mac port of CTANGLE in LPA:/machines/mac LaTeX support in LPA:/c.c++ Readme: Bundled with above Description: No description provided. Support: Bugs to levy@math.berkeley.edu - ---------------------------------------------------------------------- - CWEBx3.0: ----------- Developer: Marc van Leeuwen Version: Unknown Hardware: Any system using ASCII code Languages: ANSI C Formatter: Plain TeX Availability: Anonymous ftp from: ftp.cwi.nl/pub/cweb Readme: Bundled with above Brief description: A modified implementation of CWEB, with some extensions. Provides a mode for full compatibility with Levy/Knuth CWEB. The most significant extras are: - Typedef declarations affect formatting througout source file - Include files are scanned for typedef definitions - Flexible selection of layout style - Possibility to refer to sections using symbolic labels - CTANGLE detects unbalanced braces and parentheses - CWEAVE can be made to report syntax errors more easily - Some additional mechanisms to avoid formatting problems - New and modular set of grammar rules, based on ANSI C syntax - Possibility to suppress #line directives - A new manual Support: bugs and remarks to M.van.Leeuwen@cwi.nl - ---------------------------------------------------------------------- - FunnelWeb ----------- Developer: Ross N. Williams: ross@guest.adelaide.edu.au Version: Unknown Hardware: MSDOS, Mac, VMS, Sun. Other ports reported. Languages: No restrictions. Formatter: Plain TeX for printing. Otherwise, no restrictions. Availability: Anonymous ftp from: CTAN:/web/funnelweb LPA:/independent ftp.adelaide.edu.au:/pub/funnelweb Readme: With bundle above. Description: FunnelWeb is a production-quality literate-programming tool that emphasises simplicity and reliability. Everything about FunnelWeb, from the simplicity of its language to the comprehensive tutorial in the user's manual, has been designed to make this as simple, as practical, and as usable a tool as possible. Features: + Provides a simple macro preprocessor facility. + Can produce typeset documentation. + Runs on Sun, VMS VAX, Macintosh, PC, and others. + Portable C source code distributed under GNU licence. + Comprehensive user's manual including tutorial. + Programming-language independent. + Can generate multiple output files. + Allows complete control over the output text. + Regression test suite with over 200 tests. + Fully worked example (in /pub/funnelweb/examples). - Requires TeX to produce typeset documentation. - Typesets program code using TT font only. Support: No formal support available. Mailing list maintained with about 50 subscribers. Informal assistance available from mailing list. - ---------------------------------------------------------------------- - FunnelWeb 3.0AC ----------------- Developer: Enhanced by A.B.Coates (coates@physics.uq.edu.au) from FunnelWeb v3.0 by Ross N. Williams (ross@guest.adelaide.edu.au) Version: 3.0AC Hardware: MSDOS, Mac, VMS, Sun, OSF/1, Linux, Sys.V, OS/2. Languages: No restrictions. Formatter: Tex, LaTeX, or HTML. Availability: Anonymous ftp from ftp.physics.uq.oz.au:/pub/funnelwebAC30.tar.gz Readme: With bundle above; for FunnelWeb manual see WWW page http://www.physics.uq.oz.au:8001/people/coates/funnelweb.html Description: FunnelWeb 3.0AC is an enhanced version of FunnelWeb (see the entry for FunnelWeb). FunnelWeb is designed to be typesetter independent, though FunnelWeb v3.0 only supports (La)TeX as the typesetter. FunnelWeb 3.0AC also supports HTML, and creates appropriate hypertext links within the document among the code sections. FunnelWeb 3.0AC also supports automatic and manual insertion of line directives, so that compiler errors can be flagged back to the original FunnelWeb source file. FunnelWeb 3.0AC is completely compatible with FunnelWeb v3.0 sources (with one minor exception; see the file README.ABC which comes with the FunnelWeb 3.0AC distribution). Support: Supported by A.B.Coates (coates@physics.uq.edu.au), subject to the time constraints imposed by his thesis. - ---------------------------------------------------------------------- - FWEB ------ Developer: John A. Krommes Version: 1.30a (1.40 for the experienced, patient, and brave) Hardware: Unix, VMS, and DOS platforms (anything with ANSI C) Languages: C, C++, Fortran-77, Fortran-90, Ratfor, TeX; also, a language-independent mode. Formatter: Plain TeX and LaTeX. Availability: Anonymous ftp from: ftp.pppl.gov:/pub/fweb CTAN:/web/fweb LPA:/fweb DOS version in LPA:/machines/ms-dos Readme: In bundle with above. Description: It also has a well-developed user's manual and its own FAQ (see above). Beginning with 1.40, documentation is maintained in gnu texinfo format. It runs on most platforms: VMS, PC, UNIX, and pretty much anything that the GNU C compiler (GCC) is supported for. Features: + Processes multiple languages during a single run (so one can mix C and Fortran, for example). + Language-independent mode (v1.40). + Ability to turn off pretty-printing (v1.40). + Built-in Ratfor translator. + Built-in macro preprocessor (closely follows ANSI C, with extensions). + A style file that allows the user to adjust many parameters and behavior patterns of FWEB. + Various operator-overloading features that provide additional pretty-printing capabilities to languages such as C++ and Fortran-90. + Numerous miscellaneous features and command-line options. Support: Bug reports and suggestions to krommes@princeton.edu The following text was relayed by utcke@tu-harburg.d400.de recently. A new entry for this FAQ will eventually be prepared. NOTICE (June 12, 1995) The 1.52 tar file was regenerated. If your version of that file included the file web/defaults.mk, you should say `make clean' before beginning the installation process, or use the new tar file. NOTICE (June 10, 1995) Version 1.52 is available. More bug fixes. 1.5x will remain in beta-testing until about Sept. 1, 1995; further changes are hoped to be minimal. If you have previously picked up 1.50 or 1.51, you definitely should install 1.52 instead. So it seems there's really 1.5x available for the experienced, patient and brave --- especially given the following statement (same source): Version 1.30, which for several years has been declared to be the stable version of choice, is gradually getting out of date. I now recommend that current users try VERY, VERY CAUTIOUSLY to upgrade to v1.50. Don't do that the week before a critical deadline. - ---------------------------------------------------------------------- - IMPACT -------- Developer: Timothy Larkin, from Levy/Knuth CWEB 3.1 Version: 1.0 Hardware: Macintosh; requires AppleEvents. Languages: C, C++ Formatter: TeX Availability: CTAN archives Readme: A short readme file is included in the SEA archive. Description: IMPACT implements CTangle from the Levy/Knuth CWEB 3.1. It operates as a foreground program, tangling files selected from the Mac File Picker. Or it can operate in the background, tangling files in response to odoc events sent by other applications, such as editors. Support: I welcome any reports of bugs. The product will be updated as new versions of the CWEB appear. Other features may be added as users suggest them. - ---------------------------------------------------------------------- - lit2x ------- Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/independent Readme: Unknown Description: None available Support: Unknown - ---------------------------------------------------------------------- - Literate Programmer's Workshop (LPW) -------------------------------------- Developer: Norbert Lindenberg Version: 1.1 Hardware: Apple Macintosh Languages: C++, Object Pascal & others Formatter: self-contained WYSIWYG system Availability: Anonymous ftp from: LPA:/machines/mac CTAN:/web/lpw ftp.apple.com:/pub/literate.prog Readme: With bundle above. Also comes with 38-page manual. Description: The Literate Programming Workshop is an environment for the integrated development of program source text and documentation in combined documents. It consists of a WYSIWYG word processor based on a style sheet approach, a mechanism to extract parts of the text in a document, and a project management system that handles multi-document projects. The system is designed to be used in conjunction with the Macintosh Programmer's Workshop: it prepares raw source text for the MPW compilers, accepts MPW error messages, and shows them in the context of the original documents. Automatic indexing and hypertext features allow for easy access to both source text and documentation. LPW is shareware. Support: Bugs, problems, and questions to lpw@aol.com. - ---------------------------------------------------------------------- - MapleWEB ---------- Developer: Unknown Version: Unknown Hardware: Unknown Languages: Maple Formatter: Unknown Availability: Anonymous ftp from: LPA:/maple Readme: Unknown Description: None Support: Unknown - ---------------------------------------------------------------------- - MWEB (Schrod/Detig) --------------------- Developer: Joachim Schrod Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. - ---------------------------------------------------------------------- - MWEB (Sewell) --------------- Developer: Sewell Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. - ---------------------------------------------------------------------- - noweb ------- Developer: Norman Ramsey Version: 2.7a Hardware: Unix and DOS platforms. Languages: All programming languages. Automatic indexing for C, Icon, Standard ML, TeX, Yacc Formatter: Plain TeX, LaTeX, and HTML (Mosaic/Netscape) formatters. Availability: Anonymous ftp from: CTAN:/web/noweb LPA:/independent Last recourse, use bellcore.com:/pub/norman Readme: With bundle above, or see ``Literate Programming Simplified,'' IEEE Software, September 1994, pp97-105. Description: noweb is designed to meet the needs of literate programmers while retaining the simplest possible input format. Its primary advantages are simplicity, extensibility, and language-independence. noweb uses 5 control sequences to WEB's 27. The simple noweb manual is only 2 pages; documenting the full power of noweave and notangle requires another 3 pages. noweb works ``out of the box'' with any programming language, and a simple back end for a new text formatter can be written in about 50 lines of awk. The primary sacrifice relative to WEB is the loss of prettyprinting. noweb supports indexing and identifier cross-reference, including hypertext ``hot links'' courtesy of Mosaic or Netscape. noweb includes a simple, efficient LaTeX-to-HTML converter, so you can use hypertext browsers on your legacy documents. noweb can also process nuweb programs, so you can use noweb to convert a standard nuweb program to HTML with one command. Support: email to the author - ---------------------------------------------------------------------- - nuweb ------- Developer: Preston Briggs: preston@cs.rice.edu Version: 0.87 Hardware: Unix systems: Sparcs, RS/6000s, HPs; (!) MSDOS and Amiga. Languages: Any programming language or combination of programming languages. Formatter: Latex Availability: Anonymous ftp from: Unix: CTAN:/web/nuweb DOS: CTAN:/web/nuweb-pc LPA:/independent Amiga: CTAN:/web/nuweb/nuweb_ami Amiga: wuarchive.wustl.edu/pub/aminet Readme: Send mail to preston@cs.rice.edu Description: A single program that takes a web file written in a combination of latex and any programming language(s) and produces a latex file that can be pretty printed and a set of files containing code for compilation/interpretation by the appropriate language processors. Strengths include speed, simplicity, multiple languages, nice indices and cross-references, latex. Doesn't require any special macros or macro files. Drawbacks: latex-dependent, no code pretty printing, harder to make indices than cweb. More good stuff: nice support for make, doesn't reformat source files, so they're easy to debug. Lots of control without too much effort. That is, it doesn't do too much! Future directions... Very little change planned, except perhaps refinements in the indexing software. Support: Hack it yourself or send e-mail to preston@cs.rice.edu - ---------------------------------------------------------------------- - ProTeX -------- Developer: Eitan Gurari Version: ProTeX 1.1, AlProTeX 1.4 Hardware: Any platform with (La)TeX Languages: Any language Formatter: TeX or LaTeX Availability: Anonymous ftp from: ftp.cis.ohio-state.edu : pub/tex/osu/gurari/ LPA:/independent Readme: With bundle above Description: + Easy to use + Extensible + Language independent + Multiple output files + Fast (single compilation provides output and dvi files) + No installation is needed besides copying the files (written in TeX) Introduction of main features and examples in pub/tex/osu/gurari/LitProg Complete manual in Eitan M. Gurari, "TeX and LaTeX: Drawing and Literate Programming", McGraw-Hill, 1994 Support: gurari@cis.ohio-state.edu - ---------------------------------------------------------------------- - RWEB ------ Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/reduce Readme: Unknown Description: Web generator in AWK. Support: Unknown - ---------------------------------------------------------------------- - SchemeWEB ----------- Developer: John D. Ramsdell Version: 2.1 Hardware: Unix and DOS platforms Languages: Any dialect of Lisp. Formatter: LaTeX. Availability: The Unix version is in the Scheme Repository and it is available via anonymous ftp from: cs.indiana.edu:/pub/scheme-repository/utl/schemeweb.sh LPA:/lisp CTAN:/tex-archive/web/schemeweb The DOS version is part of the PCS/Geneva Scheme system which is available via anonymous ftp from: cui.unige.ch:/pub/pcs LPA:/machines/ms-dos Readme: In bundle with above. Description: SchemeWEB is a Unix filter that allows you to generate both Lisp and LaTeX code from one source file. The generated LaTeX code formats Lisp programs in typewriter font obeying the spacing in the source file. Comments can include arbitrary LaTeX commands. SchemeWEB was originally developed for the Scheme dialect of Lisp, but it can easily be used with most other dialects. Support: Bug reports to ramsdell@mitre.org. - ---------------------------------------------------------------------- - SpideryWEB ------------ Developer: Norman Ramsey Version: Unknown Hardware: Unix and DOS platforms Languages: Most Algol-like languages, including C, Ada, Pascal, Awk, and many others. Formatter: Plain TeX and latex for text formatters. Availability: Anonymous ftp from: CTAN LPA:/spiderweb Readme: In distribution. Description: A system for building language-dependent WEBs. Spider is frozen; no further development is planned. Support: Bug reports to spider-bugs@oracorp.com. - ---------------------------------------------------------------------- - WEB ----- Developer: Donald Knuth Version: Unknown Hardware: Unknown Languages: Pascal Formatter: TeX (of course! ;-) Availability: Anonymous ftp from: LPA:/pascal Readme: Unknown Description: This is the original software that started it all. The original TeX processor was written in WEB. Support: None known. - ---------------------------------------------------------------------- - WinWordWEB ------------ Developer: Lee Wittenberg Version: Unknown Hardware: Needs Microsoft Word for Windows, v.2.x, and, of course, MS-Windows 3.x. Languages: Any programming language. Formatter: Word for Windows 2.x for text formatting and file maintenance. Availability: Anonymous ftp from: bart.kean.edu:pub/leew LPA:/machines/ms-dos World-Wide Web (WWW) Readme: WORDWEB.DOC in the downloadable package describes the system. Description: WinWordWEB is a set of a Word for Windows macros (plus a paragraph style) that provide a crude literate programming environment. The ``look and feel'' of the system is based on Norman Ramsey's noweb, but can easily be modified to suit individual tastes. Support: None. WinWordWEB was written as a prototype to see if a WYSIWYG literate programming system was possible. It is intended as a jumping off point for future work by others. However, the system is surprisingly usable as it stands, and the author is interested in hearing from users (satisfied and dissatisfied). Anyone interested in actively supporting (and improving) the product should contact the author via email. = ====================================================================== * Are there other tools I should know about? -------------------------------------------- First of all, I'll list some not-quite-literate-programming tools. Some may consider these to be pretty-printers. Others may call them literate programming tools. In any event, they don't seem to be quite in the same category as the tools listed above, so I'll include them here. - C2LaTeX --------- Developer: John D. Ramsdell Version: Unknown Hardware: Unix Languages: C Formatter: LaTeX but it's easy to change the formatter. Availability: Anonymous ftp from omnigate.clarkson.edu:/pub/tex/tex-programs/c2latex. Readme: Absent. Documentation is in the C source for c2latex. Description: C2latex provides simple support for literate programming in C. Given a C source file in which the comments have been written in LaTeX, c2latex converts the C source file into a LaTeX source file. It can be used to produce typeset listings of C programs and/or documentation associated with the program. C2latex produces LaTeX source by implementing a small number of rules. A C comment that starts at the beginning of a line is copied unmodified into the LaTeX source file. Otherwise, non-blank lines are surrounded by a pair of formatting commands (\begin{flushleft} and \end{flushleft}), and the lines are separated by \\*. Each non-blank line is formatted using LaTeX's \verb command, except comments within the line are formatted in an \mbox. Support: Send bug reports to ramsdell@mitre.org. - ---------------------------------------------------------------------- - c2cweb -------- Developer: Werner Lemberg Version: 1.4 Hardware: DOS, OS/2, Unix (gcc) - CWEB source included Languages: C, C++ Formatter: TeX Availability: Anonymous ftp from CTAN:/web/c_cpp/c2cweb Readme: In distribution. Description: c2cweb will transform plain C or C++ code into a CWEB file to get a pretty formatted output. A modified CWEAVE (which transforms the CWEB file into a TeX file, see below) is included also. Support: Werner Lemberg - ---------------------------------------------------------------------- - c2man ------- language: C, nroff, texinfo, latex, html package: c2man version: 2.0 patchlevel 33 parts: documentation generator (C -> nroff -man, -> texinfo, ->latex, -> html) author: Graham Stoney location: ftp from any comp.sources.misc archive, in volume42 (the version in the comp.sources.reviewed archive is obsolete) ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl Australia: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from archie.au N.America: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from ftp.wustl.edu Europe: ftp /News/comp.sources.misc/volume42/c2man-2.0/* from ftp.irisa.fr Japan: ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/* from ftp.iij.ad.jp Patches: ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se description: c2man is an automatic documentation tool that extracts comments from C source code to generate functional interface documentation in the same format as sections 2 & 3 of the Unix Programmer's Manual. It requires minimal effort from the programmer by looking for comments in the usual places near the objects they document, rather than imposing a rigid function-comment syntax or requiring that the programmer learn and use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications. conformance: supports both K&R and ISO/ANSI C coding styles features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format + handles comments as part of the language grammar + automagically documents enum parameter & return values + handles C (/* */) and C++ (//) style comments - doesn't handle C++ grammar (yet) requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX. ports: Unix, OS/2, MSDOS, VMS. portability: very high for unix, via Configure status: actively developed; contributions by users are encouraged. discussion: via a mailing list: send "subscribe c2man " (in the message body) to listserv@research.canon.oz.au help: from the author and other users on the mailing list: c2man@research.canon.oz.au announcements: patches appear first in comp.sources.bugs, and then in comp.sources.misc. updated: 1994/10/07 - ---------------------------------------------------------------------- - cnoweb -------- Developer: Jim Fox Version: 1.4 (January 4, 1991) Hardware: Anything with C and TeX. Languages: C Formatter: Plain TeX. Availability: Anonymous ftp from: CTAN LPA:/c.c++ Readme: Unknown, cnoweb.tex contains documentation. Description: cnoweb is as it's name describes: write C, not web. No tangling or weaving is implemented. Documentation (between standard /* */ delimiteres) is written in TeX. cnoweb provides typesetting of documentation, an table of contents of routines, and pretty-printing of C source. Support: None known. - ---------------------------------------------------------------------- - Fold2Web ---------- Developer: Bernhard Lang Version: V0.8 Hardware: MSDOS Languages: All (must allow comment lines) Formatter: LaTeX Availability: Anonymous ftp from: kirk.ti1.tu-harburg.de (134.28.41.50) /pub/fold2web/readme /pub/fold2web/fold2web.zip Readme: In distribution Description: The idea behind the Fold2Web tool is the following: A programmer can write his program source with a folding editor and later map the folded source files automatically to WEB-files. The generated WEB-files can then be modified by inserting required documentations. The advantage by starting program developement with original sources is to get short design cycles during the compile/debug steps. By using a folding editor the global structuring information can be already captured in folds during this developement phase. Fold information is typically stored in comment lines and thus will not affect the efficiency of the compile/debug design cycle. Some folding editors and a folding mode for the emacs are available (e.g. see our FUE folding editor for MSDOS machines which is a modified micro emacs. Pick it at kirk in directory /pub/fold2web). After reaching a stable version of a program source its time to convert the source file to a WEB-file and do the program documentation. Fold2Web is written to convert folded source text of any programming language to nuweb files. The folded structure is kept by mapping folds to scraps. Fold markers which differ between languages due to different ways of specifying comments can be configured for each language. Good results can also achived when given but poor documented program sources have to be modified. Such sources can be folded using a folding editor to extract the global structures. This offers a global view to the program structures and help to understand its functionality. Furthermore the program code is not affected, only comment lines are inserted. Once folded the program source can be automatically translated to a WEB document using the above tool. Support: email to lang@tu-harburg.d400.de - ---------------------------------------------------------------------- - Funnelweb Mode ---------------- Developer: Daniel Simmons Version: Unknown Availability: Litprog archives (was in email) Anonymous ftp from: ftp.imada.ou.dk Description: The other day I did a quick hack to nuweb.el as included with the nuweb distribution so as to make a funnelweb-mode.el. I've only used it briefly, and I'm sure that it can be improved quite a bit. I've been thinking about adding support for folding on sections, a pull-down menu to select macro definitions (like the recent functions posted to gnu.emacs.sources for a C function definition pull-down menu) and some kind of tags support for funnelweb. Support: Unknown - ---------------------------------------------------------------------- - noweb.el ---------- Developer: Bruce Stephens Version: Unknown. Availability: LitProg archives (in an email message). Description: This is a very simple mode I just hacked up. There's a lot wrong with it, but I thought others may be interested, even as it stands. It *requires* text properties, and assumes those used in GNU Emacs 19.22; it'll quite likely work with Lucid Emacs, but I haven't tried it. I use it with auctex8.1 and cc-mode 3.229, both of which are loaded separately (I think my emacs is dumped with them, in fact). The idea is to have one mode (which calls itself c-mode, but actually has LaTeX-mode keybindings) generally (this means that the code is hilighted nicely), and have the code chunks use a different keymap. Support: Email to bruce@liverpool.ac.uk - ---------------------------------------------------------------------- - nuweb.el ---------- Developer: Dominique de Waleffe Version: 1.99 Availability: Anonymous ftp from: LPA CTAN Description: Provides a major mode extending Auctex for editing nuweb files. Main features (in 2.0): - Edit scrap bodies in a separate buffer in a different mode (selected using emacs defaults for files, specific indication -*-mode-*-, or a buffer-local variable) - Extends Auctex commands so that nuweb is called before LaTeX, - Easy navigation on scrap definition and use points. - Now creates an imenu (C-M-mouse1) with user index entries, macro definition positions and file definition positions. Support: Email to ddw@acm.org - ---------------------------------------------------------------------- - TIE ----- Developer: Unknown Version: Unknown Hardware: Unknown Availability: Anonymous ftp from: LPA:/Tools Readme: Unknown Description: This software merges change files. Support: Unknown - ---------------------------------------------------------------------- - Web mode ---------- Developer: Bart Childs Version: Unknown Tools supported: web, fweb, cweb, funnelweb Availability: Anonymous ftp from ftp.cs.tamu.edu:pub/tex-web/web/EMACS.web-mode thrain.anu.edu.au:pub/web/EMACS.web-mode Description: This version works with versions 18 and 19 of Emacs to be best of my knowledge. I have cleaned up a number of documentation items ... In the same directory is wm_refcard.tex which is an edited version of the famous one to include some web-mode commands. The files limbo* are related to its use and notice that half them have an uppercase L in them for LaTeX. The setup is based upon the fact that we (I am not alone here) primarily use FWEB for C and Fortran programming. We are using version 1.40 of FWEB although John Krommes warns that it is not mature and the manual is not yet updated. The info files are! We are using LaTeX almost exclusively. That will likely change and we will revert to version 1.30 if the final form of 1.40 cannot return to the simple section numbers and avoid the HORRIBLE LATEX 0.1.7.2.4.6 type section numbers. Support: Unknown = ====================================================================== * What other resources are available? ------------------------------------- - World Wide Web ---------------- An untapped resource (by me anyway ;-) is the World Wide Web. Marcus Speh has expended considerable effort in this regard. If you're connected to WWW, then access: http://info.desy.de:80/user/projects/LitProg.html If you aren't connected to WWW, telnet to info.cern.ch and explore. You can reach Marcus' literate programming pages by typing: go http://info.desy.de:80/user/projects/LitProg.html or use a WWW browser and access the URL ftp://rtfm.mit.edu/pub/usenet/news-answers/www/resources/literate-programming Help for people who have only Email and neither WWW nor telnet, can be obtained by Email from TEST-LIST@INFO.CERN.CH by sending a message, SEND , for example, SEND http://info.desy.de:80/user/projects/LitProg.html to retrieve the LitProg library page. A help file can be retrieved by sending a message to the list server above with the text HELP in the body of the message. Instructions will be returned by email. For literate programming documents, you can try anonymous ftp to rtfm.mit.edu and retrieve the official Usenet resource file /pub/usenet/news.answers/www/resources/literate-programming - ---------------------------------------------------------------------- - TeX Resources --------------- Another resource of interest to literate programmers is the info-tex mailing list. If you're using (La)TeX as your typsetting system and have access to internet, then you should investigate this mailing list. Mail list service is available through the SHSU list-server. To subscribe, send a message to LISTSERV@SHSU.EDU, and include in the message one line of text: SUBSCRIBE INFO-TEX "your name in quotes" The list is unmoderated; messages sent to info-tex@shsu.edu are automatically distributed to all subscribers and cross-posted to comp.text.tex. Archives of the mailing list and newsgroup are maintained on niord.shsu.edu [192.92.115.8] in the directory info-tex. Another reason the TeX resources should be important is that so many of the literate programming tools rely on either plain TeX or LaTeX as their text formatter. (La)TeX software systems exist for most computing platforms. These systems can be found on CTAN and other major archive sites. Use archie to find them or simply ftp to one of the CTAN sites and browse. - ---------------------------------------------------------------------- - Virtual Coursework -------------------- Marcus Speh plans an introductory course on Literate Programming on the Internet, part of the first semester of "Global Network Academy" [GNA], a non-profit corporation incorporated in the state of Texas, affilated with the Usenet University project. The texts/sample programs for this class will be made available via the World-Wide Web. A special room on GNA Virtual Campus will be staffed by a consultant in one to two hour shifts. Students with questions can telnet to the virtual campus and ask questions of the staff there. If you are interested in registering for the course either as a student or as a consultant, please contact marcus@x4u.desy.de. You will receive a standard reply message; no further action will be taken until June 94. Interested parties can check the hypertext notes for the completed C++ Course done in a similar fashion, at URL http://info.desy.de:80/pub/uu-gna/html/cc/index.html [Editor's note: Because of workload, Marcus requests that email inquiries be limited to a statement of interest for either a student or consultant position until June 1994.] = ====================================================================== * Are there any code examples? ------------------------------ Examples of web programs are included with the FWEB, CWEB, and noweb distributions. nuweb is written in itself. Cameron Smith converted the K&R calculator program into a literate program. It can be retrieved by anonymous ftp from: niord.shsu.edu [192.92.115.8] directory kr-cweb-sample as krcwsamp.zip or from LPA/Documentation Ross Williams has released a funnelweb example. You can retrieve this file from node ftp.adelaide.edu.au [129.127.40.3] as /pub/funnelweb/examples/except.* This file should be on CTAN as well. Lee Wittenberg has posted a few litprog examples. They are available via anonymous ftp from: bart.kean.edu:/pub/leew/samples.LP The Stanford GraphBase is a large collection of programs by Don Knuth for doing all kinds of computations and games with graphs; it is written in (Levy/Knuth) CWEB. More details in the distribution. It is available via anonymous ftp from: labrea.stanford.edu:/pub/sgb = ====================================================================== * Bibliographies ---------------- Nelson Beebe has collected an extensive bibliography treating literate programming. His work is available for anonymous ftp from ftp.math.utah.edu [128.110.198.2] in directory /pub/tex/bib as files: litprog.bib litprog.ltx litprog.twx. Although I have not verified this, LPA is an alternate source for these files. Note that they are updated frequently (Nelson says several times each week), so be sure to get a fresh copy before extensive use. Joachim Schrod indicates that these files may be updated daily and can be retrieved via anonymous ftp at LPA/documentation. = ====================================================================== * How to anonymously ftp ------------------------ Pretty much everything mentioned here is available by anonymous FTP. FAQ lists cross-posted to news.answers and rec.answers can be gotten from rtfm.mit.edu [18.181.0.24], under /pub/usenet/news.answers or under /pub/usenet/more.specific.group.name "anonymous FTP" is just a way for files to be stored where anyone can retrieve them over the Net. For example, to retrieve the latest version of the literate programming FAQ, do the following: > ftp rtfm.mit.edu /* connect to the site; message follows */ > anonymous /* type this when it asks for your name */ > /* type your address as the password */ > cd /pub/usenet /* go to the directory you want to be */ > cd comp.programming.literate /* one level down (no slash). */ > dir /* look at what's there */ > get literate-progamming-faq /* get the file; case-sensitive */ > quit /* stop this mysterious thing */ If your FTP program complains that it doesn't know where the site you want to use is, type the numerical address instead of the sitename: > ftp 18.181.0.24 /* connect with numerical address */ If you don't have ftp access, send e-mail to mail-server@rtfm.mit.edu with the single word "help" in the body of the message. Getting binary files (executables, or any compressed files) is only slightly more difficult. You need to set binary mode inside FTP before you transfer the file. > binary /* set binary transfer mode */ > ascii /* set back to text transfer mode */ FAQs and spoiler lists are generally ascii files; everything else is generally binary files. Some common extensions on binary files in archive sites are: .Z Compressed; extract with uncompress .tar.Z Compressed 'tape archive'; uncompress then untar or tar -xvf .gz or .z Gnu gzip; use gunzip (available from prep.gnu.ai.mit.edu) .sit (Mac) StufIt archive .zip Extract with Zip or Unzip .zoo Yet another archive/compress program .lhe (Amiga) ? .lzh Lha archive program. .arj (PC) Arj archive program. .exe (PC) Sometimes self-extracting archives-just execute them. .uue or .UUE Transfer as text file; use uudecode to convert to binary .hqx (Mac) BinHex format; transfer in text mode Generic help can be found in the FAQs of comp.binaries. for how to transfer, extract, and virus-check binary files. (At rtfm.mit.edu) If you can't FTP from your site, use one of the following ftp-by-mail servers: ftpmail@decwrl.dec.com ftpmail@src.doc.ic.ac.uk ftpmail@cs.uow.edu.au ftpmail@grasp.insa-lyon.fr For complete instructions, send a message reading "help" to the server. If you don't know exactly what you're looking for, or exactly where it is, there are programs and servers that can help you. For more info, send e-mail to mail-server@rtfm.mit.with with the body of the message reading send usenet/news.answers/finding-sources Thanks to Aliza R. Panitz (the "buglady") for this text. I copied it verbatim from her post on faq-maintainers with only minor modifications. = ====================================================================== * Acknowledgements ------------------ This document would not have happened without the help of many people. Among them are Marcus Speh, George Greenwade, Rob Beezer, Joachim Schrod, Piet van Oostrum, and Ross N. Williams. A special thanks to Aliza R. Panitz for the text describing how to execute an anonymous ftp for files of interest. Any omissions from these acknowledgements should be considered an act of stupidity on my part. Of course, the authors of literate programming tools mentioned above all play a vital role in the vitality of literate programming. Furthermore, participants in the comp.programming.literate newsgroup (and associated mailing list) all contributed in various fashions. Thank all of you. = ====================================================================== * End notes ----------- This document will continue to evolve. I'm planning on adding entries for additional literate programming tools and will expand the sections on examples as more examples become available. Tools I will include are WEB (the original pascal version) for starters. Others will be added as I find and document them. Omission of a particular tool should not be considered a snub in any sense--simply an error or oversight on my part. = End of File ========================================================== ================================================================================ Archive-Date: Fri, 08 Sep 1995 22:08:37 CDT Sender: owner-litprog@SHSU.edu From: schrod@iti.informatik.th-darmstadt.de (Joachim Schrod) Reply-To: LitProg@SHSU.edu, schrod@ITI.INFORMATIK.TH-DARMSTADT.DE Subject: Diff to Contents of the LitProg Archive (monthly posting) Date: 1 Sep 1995 00:20:16 +0200 Message-ID: <425cj0INNiqm@spice.iti.informatik.th-darmstadt.de> To: LitProg@SHSU.EDU There were no changes in the last month. -- The Literate Programming Archive, or LitProg Archive for short, resides at ftp.th-darmstadt.de [130.83.47.112], directory pub/programming/literate-programming/. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Joachim Schrod Email: schrod@iti.informatik.th-darmstadt.de Literate Programming Archive, maintainer Technical University of Darmstadt, Germany ================================================================================ Archive-Date: Fri, 08 Sep 1995 22:08:41 CDT Sender: owner-litprog@SHSU.edu From: schrod@iti.informatik.th-darmstadt.de (Joachim Schrod) Reply-To: LitProg@SHSU.edu, schrod@ITI.INFORMATIK.TH-DARMSTADT.DE Subject: Contents of the LitProg Archive (monthly posting) Date: 1 Sep 1995 00:20:09 +0200 Message-ID: <425cipINNiqk@spice.iti.informatik.th-darmstadt.de> To: LitProg@SHSU.EDU # literate-programming/Contents 14 Jul 95 -*- Indented-Text -*- #------------------------------------------------------------ The material available from the Literate Programming Archive is categorized, each category is put in a directory tree. While this structure (which is described in the README files) supports browsing, the need for quick access to a specific Literate Programming tool remains. This file shall assist you in this need. It presents the *WEB systems and tools available, in an alphabetic order, and names the directory where you can find it. In addition to the systems mentioned below, the LitProg Archive features texts in the directory Documentation: FAQs, papers, and an extensive bibliography in BibTeX format. Since this file is updated manually, I cannot guarantee that it's up to date. Send reports about inconsistencies of description and reality to Joachim Schrod . SYSTEM DIRECTORY REMARK ------ --------- ------ APLWEB apl w/o source, but under the GPL! [this was an error by the author] AWEB ada/aweb not supported any more cfa Tools Change File Analyzer CLiP any language, any formatter, any -- source independent wordprocessor. Hypertext -- for DOS machines/ms-dos integration possible -- for VMS machines/vms CTWILL c.c++ CWEAVE w/ mini indexes [DEK] unfinished, alpha quality CWEB (Levy/Knuth) C++, ANSI C, K&R C -- source c.c++ -- portable source c.c++ as cweb-*-p* -- Amiga port machines/amiga -- Atari TOS port machines/atari-tos an old version [2.4 p5b] -- DOS port machines/ms-dos -- Mac port machines/mac -- Mac CTANGLE machines/mac Impact: CTANGLE & Apple-Events cweb style c.c++ CWEB programs as LaTeX documents CWEB mode Tools minor mode for GNU Emacs c2cweb c.c++ transform C/C++ code => CWEB CWEBx (van Leeuwen) c.c++ CWEB for ANSI C, in ANSI C CWEB (Schrod) not supported any more; send mail if you have historic interests :-) fmweb independent for FrameMaker, needs Perl5 Funnelweb independent FWEB multi-lingual WEB -- source fweb -- DOS port machines/ms-dos -- MS-Windows port machines/ms-windows Impact machines/mac CTANGLE & Apple-Events Knit pascal not supported any more lit2x independent [????] from Glasgow LPW machines/mac Literate Programming Workshop CAVEAT: Shareware! MapleWEB spiderweb MWEB (Schrod/Detig) modula-2 not supported any more MWEB (Sewell) modula-2 not supported any more noweb uses the UNIX toolbox paradigm -- source independent -- DOS port machines/ms-dos noweb mode Tools minor mode for GNU Emacs nuweb lean system, written in C -- source independent -- Amiga port machines/amiga -- DOS port machines/ms-dos ProTex independent WEB system based on TeX RWEB spiderweb for Reduce smlweb spiderweb for Standard ML SpiderWEB WEB generator, in awk -- source spiderweb -- DOS port machines/ms-dos -- OS/2 port machines/os2 -- Mac port machines/mac tango/weevil independent YA simple system, in C TIE Tools Change File Merger WEB The basis, it started with it... -- source pascal -- DOS port machines/ms-dos WEB mode Tools for GNU Emacs WinWordWEB machines/ms-dos WEB with Word for Windows Literate Documentation Systems ------------------------------ (or LitDoc systems for short): Tools that do not support refinements but enable the use of usual document preparation systems (e.g., LaTeX) in program comments. cnoweb c.c++ doc package /pub/tex/latex CAVEAT: No LitProg A directory! oriented towards TeX code; part of the LaTeX2e distrib. MAKEPROG independent is here for my own convenience :-) SchemeWEB lisp wbuild /pub/X11/other/fwf CAVEAT: No LitProg A directory! creating new X widget classes -- The Literate Programming Archive, or LitProg Archive for short, resides at ftp.th-darmstadt.de [130.83.47.112], directory pub/programming/literate-programming/. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Joachim Schrod Email: schrod@iti.informatik.th-darmstadt.de Literate Programming Archive, maintainer Technical University of Darmstadt, Germany ================================================================================ Archive-Date: Sat, 09 Sep 1995 01:07:04 CDT Sender: owner-litprog@SHSU.edu From: ablucher@staff.monash.edu.au Reply-To: LitProg@SHSU.edu, ablucher@STAFF.MONASH.EDU.AU Subject: Re: Assembler Discussion Date: Fri, 1 Sep 1995 01:13:18 GMT Message-ID: To: LitProg@SHSU.EDU In article <420r82$gd2@newsbf02.news.aol.com> cwhizard@aol.com (Cwhizard) writes: >From: cwhizard@aol.com (Cwhizard) >Subject: Assembler Discussion >Date: 30 Aug 1995 00:59:46 -0400 >I would like to discuss assembly language programming as it applie to code >optimization. Preferably on the PC line but also in general. Hi assembler discussers! This group seems a strange place to discuss assembler. Perhaps you would get more happenning in comp.lang.asm.x86 or comp.lang.asm370. Happy assembling! Andrew Blucher. ================================================================================ Archive-Date: Sat, 09 Sep 1995 06:12:56 CDT Sender: owner-litprog@SHSU.edu From: thienel@malzmuehle.informatik.Uni-Koeln.DE (Stefan Thienel) Subject: CWEB and C++ templates: A solution Date: 1 Sep 1995 17:44:42 GMT Message-ID: <427gqa$jmv@news.rrz.uni-koeln.de> Reply-To: LitProg@SHSU.edu, thienel@malzmuehle.informatik.Uni-Koeln.DE (Stefan Thienel) To: LitProg@SHSU.EDU Some days ago I asked: > Who knows a trick to bring cweave/tex to typeset the function bad() > containing the template allocation as nicely as the function good(). > Here the line break after bad() is missing, but an undesired line break > after good is inserted. Omitting the format definition > "@s ARRAY int" causes cweave/tex to set everything in one line. I would > like to have ARRAY typeset in bold face. > > Thanks four your help > > Stefan > > ------------------------------------------------------------------------- > @ > @s ARRAY int > @c > void good() > { > int *vec; > > vec = new int[10]; > } > > void bad() > { > ARRAY *arrray; > array = new ARRAY(10); > } > > Some people encouraged me to post a solution: Lee Wittenberg gave me a helpful hint and after some experiments I found out array = new @[@,ARRAY(100)@]; produces a good result. The control codes @[ @] cancels the undesired line breaks. Using @, gives some extra space in the output such that it looks even nicer. This solution is not very elegant (who knows a better one?) but it works. Stefan ------------------------------------------------------------------------------- Stefan Thienel E-Mail : thienel@informatik.Uni-Koeln.DE Institut fuer Informatik Universitaet zu Koeln Telefon: +49 221 470 5307 Pohligstr. 1 50969 Koeln Fax : +49 221 470 5317 Germany WWW: http://www.informatik.uni-koeln.de/informatik/lsjuenger/staff/thienel.html ------------------------------------------------------------------------------- ================================================================================ Archive-Date: Sat, 09 Sep 1995 09:27:24 CDT Sender: owner-litprog@SHSU.edu From: a.gawthrope@paddocks.demon.co.uk Subject: Re: need some help Date: Wed, 06 Sep 1995 21:30:27 GMT Message-ID: <810423027.3035@paddocks.demon.co.uk> Reply-To: LitProg@SHSU.edu, a.gawthrope@paddocks.demon.co.uk To: LitProg@SHSU.EDU In <42ifbv$at8@newsbf02.news.aol.com>, tom87ta@aol.com (Tom87TA) writes: >I am developing a program and a file, even after I compress it, will not >fit on a 3 1/2 floppy, does anyone know where i can get a copy of a >program that will put a file on more then one floppy. thanks > >Tom87TA@aol.com Can you not split up the executable into maybe a couple of DLL's, or reduce the largest file's size somehow by spreading it out over several files. I can't recomend any s/w but I am aware that several commercial installation programs will do as you query. Alternatevly if its just a one off and it does'nt have to be bomb proof it would not be difficult to chop to file manually; copy the individual components onto different disks then paste them back together. ---- RGDS Andrew Gawthrope MIAP a.gawthrope@paddocks.demon.co.uk -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.3a mQCNAjBLRrAAAAEEALp/LPCeJq/lMe89YPmtUpVsQarRFQenDCXLxUaVZ3HSWp68 WkWsjkSLIN7ASRld1sJIEjZh4JmkgFkgtAbh6W9IUDjj2i856erRhK8z0h6x3DcM OYTlvgxC3cPEwjCzd8NzAlz4Kf2O6ThxOzX/zymr3PxV5R5XtpHVWDIryYMJAAUR tDNBbmRyZXcgR2F3dGhyb3BlIDxhLmdhd3Rocm9wZUBwYWRkb2Nrcy5kZW1vbi5j by51az4= =41ox -----END PGP PUBLIC KEY BLOCK----- ================================================================================ Archive-Date: Sat, 09 Sep 1995 19:35:40 CDT Sender: owner-litprog@SHSU.edu From: kromatik03@aol.com (Kromatik03) Subject: Video Buffer programming help... Date: 7 Sep 1995 00:22:50 -0400 Message-ID: <42ls2q$dm2@newsbf02.news.aol.com> Reply-To: LitProg@SHSU.edu, kromatik03@aol.com (Kromatik03) To: LitProg@SHSU.EDU Okay, I have a question for anyone out there who might know.... I am using Borland Turbo C++ 3.0, and am trying to draw on the screen in mode 13h. I tried using the graphics.h file (WAY to slow), then tried using pokes (much faster, but still not quick enough...). What I need to do is set up a variable directly pointed at location A000:0000 so it goes directly to the video buffer, problem is, I don't seem to have any files/books/recolection on how to do this... Any help would be GREATLY appreciated! kromatik03@aol.com ================================================================================ Archive-Date: Sat, 09 Sep 1995 21:40:45 CDT Sender: owner-litprog@SHSU.edu From: hsl@tcp.co.uk (Martin Rand) Subject: Re: LitProg using HTML Date: Sat, 09 Sep 1995 11:07:09 GMT Message-ID: <42rsgv$2v0@zeus.tcp.co.uk> Reply-To: LitProg@SHSU.edu, hsl@tcp.co.uk To: LitProg@SHSU.EDU sriram@glock.tcs.com (Sriram Srinivasan) wrote: >In article <42ppj6$d1m@news.informix.com>, Don Grodecki writes: >: >: I have the notion that these days HTML might be a great system for doing >: LitProg, instead of TeX. One advantage would be the ability to present >: literate programs easily on the WWW. Does anyone have any thoughts on this? >: Has anyone ever seen anything like this? >: >I have done something similar to this. >I use FrameMaker for experimenting with Literate Programming >(see my package fmweb at > ftp.darmstadt.de:/pub/programming/literate-programming/independent/fmweb.*) >I then use some PD frame tools to convert this to HTML. The latest version >of Frame (as also the current version of WinWord) supports direct >html output. Isn't Norman Ramsey's 'noweb' package designed to work with HTML? If it doesn't, someone please tell me and save me a download I was about to do! ...Martin (off-duty) Chandlers Ford, Hants, UK ================================================================================ Archive-Date: Sun, 10 Sep 1995 19:16:52 CDT Sender: owner-litprog@SHSU.edu From: Guido Bonerz Reply-To: LitProg@SHSU.edu, sn202we@UNIDUI.UNI-DUISBURG.DE Subject: Need Help in Programming the ATI-MACH 32/64 Date: 7 Sep 1995 16:58:37 GMT Message-ID: <42n8bt$i85@h20-hrze.uni-duisburg.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-MX-Warning: Warning -- Invalid "To" header. To: ALL To: LitProg@SHSU.EDU Help Help Help !!! I need some informations in programming the Hardware Graphic Functions of the ATI Mach 32/64 VGA Board. I think of VGA Ports or anything else ...! Who can help me Chiao ;-) ================================================================================ Archive-Date: Sun, 10 Sep 1995 19:17:04 CDT Sender: owner-litprog@SHSU.edu From: Guido Bonerz Reply-To: LitProg@SHSU.edu, sn202we@UNIDUI.UNI-DUISBURG.DE Subject: Need Help in Programming the ATI-MACH 32/64 Date: 7 Sep 1995 16:59:47 GMT Message-ID: <42n8e3$i85@h20-hrze.uni-duisburg.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-MX-Warning: Warning -- Invalid "To" header. To: Anyone To: LitProg@SHSU.EDU Help Help Help !!! I need some informations in programming the Hardware Graphic Functions of the ATI Mach 32/64 VGA Board. I think of VGA Ports or anything else ...! Who can help me Chiao ;-) ================================================================================ Archive-Date: Mon, 11 Sep 1995 07:15:24 CDT Sender: owner-litprog@SHSU.edu From: Ed Derzawiec Reply-To: LitProg@SHSU.edu, ederzawi@FMIS02.NSC.COM Subject: Spawning Processes Windows95 Content-Type: text/plain; charset=us-ascii Message-ID: Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Date: Thu, 7 Sep 1995 21:32:13 GMT To: LitProg@SHSU.EDU I need to Make some of My Windows 3.x Applications functional under Windows95.. One thing I have not figured out how to do is Start a windows Program, wait for it to complete, and begin another program. The "Approved" method I used under Windows 3.x is attached. This function does not work in Windows 95 (Apparently the Memory used by the application handle is instantly freed up) I can get it to work with Win3.x Applications running under Win95 but not with Win95 apps. Does anyone have any suggestions?! ****************************************************************** Function ExWinExec(CmdLine:Pchar; CmdShow:Word; Wait:Bool):Word; {Extended WindowsExecute} {Will Wait for Command To Complete before returning Control} Var AppMessage:Tmsg; AppHandle:HWnd; Begin AppHandle := WinExec(CmdLine,Sw_ShowNormal); If Wait Then While NOT(0=GlobalSize(AppHandle)) Do Begin IF PeekMessage(AppMessage,0,0,0,pm_REMOVE) Then Begin TranslateMessage(AppMessage); DispatchMessage(AppMessage); End; End; End; ================================================================================ Archive-Date: Mon, 11 Sep 1995 12:02:31 CDT Sender: owner-litprog@SHSU.edu Date: Mon, 11 Sep 1995 09:59:34 -0700 Message-ID: <9509111659.AA17877@plight.> From: kendall shaw Reply-To: LitProg@SHSU.edu, kshaw@PLIGHT To: LitProg@SHSU.edu, ederzawi@FMIS02.NSC.COM CC: LitProg@SHSU.EDU Subject: Re: Spawning Processes Windows95 I'm curious to know why this group get's so many postings about something other than literate programming. Any ideas? ================================================================================ Archive-Date: Mon, 11 Sep 1995 12:02:32 CDT Sender: owner-litprog@SHSU.edu Date: Mon, 11 Sep 1995 09:59:34 -0700 Message-ID: <9509111659.AA17877@plight.> From: kendall shaw Reply-To: LitProg@SHSU.edu, kshaw@PLIGHT To: LitProg@SHSU.edu, ederzawi@FMIS02.NSC.COM CC: LitProg@SHSU.EDU Subject: Re: Spawning Processes Windows95 I'm curious to know why this group get's so many postings about something other than literate programming. Any ideas? ================================================================================ Archive-Date: Mon, 11 Sep 1995 22:18:09 CDT Sender: owner-litprog@SHSU.edu From: Pete Johnson Reply-To: LitProg@SHSU.edu, pete@SEI.COM Subject: Re: LitProg using HTML Date: 11 Sep 1995 15:40:59 GMT Message-ID: <431lab$dvb@news.scruz.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.EDU Don Grodecki wrote: >I have the notion that these days HTML might be a great system for doing >LitProg, instead of TeX. One advantage would be the ability to present >literate programs easily on the WWW. Does anyone have any thoughts on this? >Has anyone ever seen anything like this? > There are a number of systems which will output HTML, I am sure many people here can point those out. I do some literate programming using SGML as the markup language rather than inventing my own markup. This has the advantage of a standard markup language with off-the-shelf tools to support it. Tools include parsers, formatters, and editors. In addition to being programming language independant, it is also formatter independant. My approach is to modify a formatting DTD (in this case HTML) to include literate programming constructs. These, as a minimum, define code chunks and refer to them. Here is an example... i = 0; i++; I usually then have a script to expand the code tags and generate the program, as well as a script to expand the code into markup (in this case HTML). Doing things this way seems to be a good choice if you want to output code marked up as SGML (HTML falls into this category), if you like the idea of using some standard for markup (after all, literate programming is markup of program source code), and you can stand the SGML syntax (which I agree is unasthetic, but not too bad). Let me know if you have more questions, and I will try to answer them. -Pete -- Pete Johnson pete@sei.com Silicon Engineering, Inc. http://www.sei.com 269 Mt. Hermon Road, Suite 207 (408) 438-5331 x 111 Scotts Valley, CA 95066 ================================================================================ Archive-Date: Mon, 11 Sep 1995 22:35:20 CDT Sender: owner-litprog@SHSU.edu From: pllgrnew@sunv22.ps.ic.ac.uk (Mr. Eduardo W. Pellegrino) Reply-To: LitProg@SHSU.edu, pllgrnew@SUNV22.PS.IC.AC.UK Subject: Literate programming in Forth or Postscript Date: 11 Sep 1995 15:41:32 GMT Message-ID: To: LitProg@SHSU.EDU Has anybody done any literate programming in stack based langauges such as Forth or Postscript. I only wonder because I just tried (Postscript programs are normally direly in need of documentation) and found very little benefit. The code chunking method of abstraction seems to work poorly when dealing with a stack based language. Has anybody else had a more positive experience of this sort of thing? If so where am I going wrong? Eduardo Pellegrino (e.w.pellegrino@ic.ac.uk) ================================================================================ Archive-Date: Mon, 11 Sep 1995 22:42:07 CDT Sender: owner-litprog@SHSU.edu Subject: Re: need some help Message-ID: <42omn0$5k4@gateway.gtech.com> From: Bart_Castel@gtech.com (Bart Castel) Date: Fri, 08 Sep 1995 15:13:17 GMT Reply-To: LitProg@SHSU.edu, Bart_Castel@gtech.com To: LitProg@SHSU.EDU tom87ta@aol.com (Tom87TA) wrote: Is this Plan9? Use pkzip 2.04g(ood) with option -& See pkware! >I am developing a program and a file, even after I compress it, will not >fit on a 3 1/2 floppy, does anyone know where i can get a copy of a >program that will put a file on more then one floppy. thanks >Tom87TA@aol.com ================================================================================ Archive-Date: Tue, 12 Sep 1995 02:46:58 CDT Sender: owner-litprog@SHSU.edu From: apostolo@platon.ee.duth.gr Reply-To: LitProg@SHSU.edu, apostolo@PLATON.EE.DUTH.GR Subject: Re: Spawning Processes Windows95 To: LitProg@SHSU.edu, kshaw@PLIGHT Date: Tue, 12 Sep 95 10:43:08 EET > > I'm curious to know why this group get's so many postings about something > other than literate programming. Any ideas? > Actually, I am just wondering the same thing! When I subscribed to the list I thought that the bulk of messages would be about ways to teach lit. prog., to design new tools etc. Not about ways to program in assembly of machine X! apostolos... ================================================================================ Archive-Date: Tue, 12 Sep 1995 04:29:36 CDT Sender: owner-litprog@SHSU.edu From: apostolo@platon.ee.duth.gr Reply-To: LitProg@SHSU.edu, apostolo@PLATON.EE.DUTH.GR Subject: Re: Literate programming in Forth or Postscript To: LitProg@SHSU.edu, pllgrnew@sunv22.ps.ic.ac.uk Date: Tue, 12 Sep 95 12:23:38 EET You can use Ramsey's spiderweb tool and the corresponding Postscript spider file to generate weave and tangle for Postscript. You can find the spider file in the directory: web/spiderweb/src/postscript/ps.spider apostolos... ================================================================================ Archive-Date: Tue, 12 Sep 1995 10:30:02 CDT Sender: owner-litprog@SHSU.edu Subject: LitProg using HTML Message-ID: <42ppj6$d1m@news.informix.com> From: Don Grodecki Reply-To: LitProg@SHSU.edu, grodecki@INFORMIX.COM Date: 8 Sep 1995 16:04:53 GMT MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-MX-Warning: Warning -- Invalid "To" header. To: grodecki To: LitProg@SHSU.EDU I have the notion that these days HTML might be a great system for doing LitProg, instead of TeX. One advantage would be the ability to present literate programs easily on the WWW. Does anyone have any thoughts on this? Has anyone ever seen anything like this? ================================================================================ Archive-Date: Tue, 12 Sep 1995 10:30:25 CDT Sender: owner-litprog@SHSU.edu Subject: Re: LitProg using HTML Message-ID: <42pt12$gru@tcsi.tcs.com> From: sriram@glock.tcs.com (Sriram Srinivasan) Reply-To: LitProg@SHSU.edu, sriram@GLOCK.TCS.COM Date: 8 Sep 1995 17:03:30 GMT To: LitProg@SHSU.EDU In article <42ppj6$d1m@news.informix.com>, Don Grodecki writes: : : I have the notion that these days HTML might be a great system for doing : LitProg, instead of TeX. One advantage would be the ability to present : literate programs easily on the WWW. Does anyone have any thoughts on this? : Has anyone ever seen anything like this? : I have done something similar to this. I use FrameMaker for experimenting with Literate Programming (see my package fmweb at ftp.darmstadt.de:/pub/programming/literate-programming/independent/fmweb.*) I then use some PD frame tools to convert this to HTML. The latest version of Frame (as also the current version of WinWord) supports direct html output. - Sriram ================================================================================ Archive-Date: Tue, 12 Sep 1995 13:20:47 CDT Sender: owner-litprog@SHSU.edu Subject: Re: LitProg using HTML Message-ID: <42qhug$3b2@labrador.cs.purdue.edu> From: nr@cs.purdue.edu (Norman Ramsey) Reply-To: LitProg@SHSU.edu, nr@CS.PURDUE.EDU Date: 8 Sep 1995 18:00:32 -0500 CC: Don Grodecki To: LitProg@SHSU.EDU In article <42ppj6$d1m@news.informix.com>, Don Grodecki wrote: >I have the notion that these days HTML might be a great system for doing >LitProg, instead of TeX... >Has anyone ever seen anything like this? Check out the noweb home page: http://www.cs.purdue.edu/homes/nr/noweb Lots of examples. You might also try http://www.cs.purdue.edu/homes/nr/cs565/progs -- ``They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.'' ---Franklin Norman Ramsey I support the Phil Zimmermann Legal Defense Fund. http://www.cs.purdue.edu/homes/nr (http://www.netresponse.com/zldf) ================================================================================ Archive-Date: Tue, 12 Sep 1995 17:45:47 CDT Sender: owner-litprog@SHSU.edu From: pllgrnew@sunv22.ps.ic.ac.uk (Mr. Eduardo W. Pellegrino) Reply-To: LitProg@SHSU.edu, pllgrnew@SUNV22.PS.IC.AC.UK Subject: Re: Literate programming in Forth or Postscript Date: 12 Sep 1995 16:02:29 GMT Message-ID: To: LitProg@SHSU.EDU In article <431rui$cko@auntie.bbcnc.org.uk> Peter Knaggs writes: > The chunk system is required for most langauges as they are badly > factored. Both PS and Forth allows for factoring at a much lower > level (ie simular to chunks) not available to most language. What does this mean? Sorry I am not a computer scientist and my PS is self-taught (with a little help from a iittle red book :-), what capacity for factoring at a much lower level? The only method of abstracting I have spotted is functions. Am I missing something really big here? In fact what does factoring mean????? Yours confused Eduardo Pellegrino ================================================================================ Archive-Date: Tue, 12 Sep 1995 18:46:48 CDT Sender: owner-litprog@SHSU.edu From: pllgrnew@sunv22.ps.ic.ac.uk (Mr. Eduardo W. Pellegrino) Reply-To: LitProg@SHSU.edu, pllgrnew@SUNV22.PS.IC.AC.UK Subject: Re: Literate programming in Forth or Postscript Date: 12 Sep 1995 16:10:15 GMT Message-ID: To: LitProg@SHSU.EDU In article <4325a3$q02@bell.maths.tcd.ie> creilly@maths.tcd.ie (Colman Reilly) writes: > >Has anybody done any literate programming in stack based langauges > >such as Forth or Postscript. I only wonder because I just tried > >(Postscript programs are normally direly in need of documentation) and > >found very little benefit. The code chunking method of abstraction > >seems to work poorly when dealing with a stack based language. Has > >anybody else had a more positive experience of this sort of thing? If > >so where am I going wrong? > > Which tool were you using? I would have thought that even just interspersing > code in the normal order with comments would have been better that not. > > And surely you could usefully document your definitions using the modules? > I used noweb, and yes I could document my functions, but then my postscript was already strewn with comments anyway (actually in a primitive Markup Language) so I didn't notice much improvement. In fact as a non-computer scientist I am not really sure as to what the relative benefits of the various aspects of literate programming are supposed to be. Its provision for documentation is obviously useful (though I am not convinced of the need for one just one file), but how useful is its capacity for chunking? I find comments in the middle of modules can be quite distracting, and the tendency to use too many chunks seems to be common in the example programs. Am I just a heretic? Do other people think this way? If not can somebody point out to me were I am going wrong? Yours Eduardo Pellegrino e.w.pellegrino@ic.ac.uk ================================================================================ Archive-Date: Wed, 13 Sep 1995 02:43:40 CDT Sender: owner-litprog@SHSU.edu From: deflorio@leonardo.csata.it (Vincenzo De Florio) Reply-To: LitProg@SHSU.edu, deflorio@LEONARDO.CSATA.IT Message-ID: <9509130736.AA15563@leonardo.csata.it> Subject: Please unsubscribe me from this list To: LitProg@SHSU.EDU Date: Wed, 13 Sep 1995 09:26:07 +0200 (MET) Content-Type: text unsubscribe Please unsubscribe me from this list. Thanks a lot, Vincenzo De Florio ================================================================================ Archive-Date: Wed, 13 Sep 1995 20:52:35 CDT Sender: owner-litprog@SHSU.edu Subject: Re: LitProg using HTML Message-ID: <42urgh$7m5@due.unit.no> From: agulbra@nvg.unit.no (Arnt Gulbrandsen) Reply-To: LitProg@SHSU.edu, agulbra@NVG.UNIT.NO Date: 10 Sep 1995 14:08:17 GMT To: LitProg@SHSU.EDU In article <42ppj6$d1m@news.informix.com>, Don Grodecki wrote: >I have the notion that these days HTML might be a great system for doing >LitProg, instead of TeX. One advantage would be the ability to present >literate programs easily on the WWW. Does anyone have any thoughts on this? >Has anyone ever seen anything like this? http://www.troll.no/qt/ was generated using a "litprog tool" I hacked together to support our specific needs (API documentation and examples for a class library). --Arnt ================================================================================ Archive-Date: Fri, 15 Sep 1995 03:38:28 CDT Sender: owner-litprog@SHSU.edu Subject: Re: LitProg using HTML Message-ID: <432548$pq1@bell.maths.tcd.ie> From: creilly@maths.tcd.ie (Colman Reilly) Reply-To: LitProg@SHSU.edu, creilly@MATHS.TCD.IE Date: 11 Sep 1995 21:10:48 +0100 To: LitProg@SHSU.EDU Don Grodecki writes: >I have the notion that these days HTML might be a great system for doing >LitProg, instead of TeX. One advantage would be the ability to present >literate programs easily on the WWW. Does anyone have any thoughts on this? >Has anyone ever seen anything like this? Obviously it can be a useful thing to do. Noweb already supports it. Actually, at the moment I'm working on a developers editor that would allow WYSISLWYG[1] editing of documents and code and would export to HTML or TeX. It's in Tk4.0, so it should port to Windows and Mac as soon as the Tk port for them comes out, which is supposed to be RSN. It should also support lots of other things needed for project development, like RCS and probably storage over the Web. It uses noweb as a backend, since I see no reason to duplicate Norman's excellent work. Prototype coming soon, since all I'm doing is using Tcl to glue things together. Colman, for whom this counts as research work. [1] What You See Is Sorta Like What You Get, which is as good as you can do with TeX or HTML. It won't support tables or formulae initially, or any of TeX's complicated features. It *will* let you embed raw TeX and HTML though. -- Colman Reilly (creilly@maths.tcd.ie) [+353-(0)1-7022280] c/o School of Mathematics,18.05 Westland Row,Trinity College,Dublin. PGP Public Key on Request MIME OK "Nothing so strong as gentleness; nothing so gentle as real strength." ================================================================================ Archive-Date: Fri, 15 Sep 1995 03:38:45 CDT Sender: owner-litprog@SHSU.edu Subject: Re: Literate programming in Forth or Postscript Message-ID: <4325a3$q02@bell.maths.tcd.ie> From: creilly@maths.tcd.ie (Colman Reilly) Reply-To: LitProg@SHSU.edu, creilly@MATHS.TCD.IE Date: 11 Sep 1995 21:13:55 +0100 To: LitProg@SHSU.EDU pllgrnew@sunv22.ps.ic.ac.uk (Mr. Eduardo W. Pellegrino) writes: >Has anybody done any literate programming in stack based langauges >such as Forth or Postscript. I only wonder because I just tried >(Postscript programs are normally direly in need of documentation) and >found very little benefit. The code chunking method of abstraction >seems to work poorly when dealing with a stack based language. Has >anybody else had a more positive experience of this sort of thing? If >so where am I going wrong? Which tool were you using? I would have thought that even just interspersing code in the normal order with comments would have been better that not. And surely you could usefully document your definitions using the modules? Colman -- Colman Reilly (creilly@maths.tcd.ie) [+353-(0)1-7022280] c/o School of Mathematics,18.05 Westland Row,Trinity College,Dublin. PGP Public Key on Request MIME OK "Nothing so strong as gentleness; nothing so gentle as real strength." ================================================================================ Archive-Date: Fri, 15 Sep 1995 06:27:21 CDT Sender: owner-litprog@SHSU.edu Subject: Re: LitProg using HTML Message-ID: From: jacob@dannug.dk (Jacob Nielsen) Reply-To: LitProg@SHSU.edu, jacob@DANNUG.DK Date: 11 Sep 1995 22:38:24 +0200 To: LitProg@SHSU.EDU >>>>> "Pete" == Pete Johnson writes: >>>>> "Don" == Don Grodecki writes: Don> I have the notion that these days HTML might be a great Don> system for doing LitProg, instead of TeX. One advantage Don> would be the ability to present literate programs easily on Don> the WWW. Does anyone have any thoughts on this? Has anyone Don> ever seen anything like this? Pete> There are a number of systems which will output HTML, I am Pete> sure many people here can point those out. I suppose now is the time to point some tools out... The [La]TeX based things ------------------------ The great tool noweb can output directly in a lot of things (last I heard: ASCII, HTML and [La]TeX) so I'll just mention it here and be done with it. noweb can output HTML directly and I believe that it also can output LaTeX suitable for processing by latex2html. And to top things off, someone recently posted a hacked version of noweb so you could produce HyperTeX documents---DVI files with hyperlinks and all. There's an addition to nuweb that that also uses latex2html. WYSIWYG systems --------------- There's also at least one (not me) using FrameMaker to do literate programming. I believe that the latest FrameMaker can output HTML. The FrameMaker system has been posted. There's a set of macro for Word for Windows to do literate programming. Doesn't WfW do HTML? Formatter independent systems ----------------------------- The system Pete is using and one written in Pascal (sorry that I can't remember the name but it's in the FAQ) Regards, Jacob -- Jacob Nielsen jacob@dannug.dk ================================================================================ Archive-Date: Fri, 15 Sep 1995 12:01:52 CDT Sender: owner-litprog@SHSU.edu Subject: How can I access an HICON? Message-ID: <432qs4$fu6@newsbf02.news.aol.com> From: medexpres@aol.com (MEDEXPRES) Date: 11 Sep 1995 22:21:56 -0400 Reply-To: LitProg@SHSU.edu, medexpres@aol.com (MEDEXPRES) To: LitProg@SHSU.EDU Given an HICON, how can I access it's bit maps so I can write it to disk? Thanx for any suggestions. Adam ================================================================================ Archive-Date: Sat, 16 Sep 1995 06:10:06 CDT Sender: owner-litprog@SHSU.edu Subject: Re: Could we mix WEB mode and C++ mode ? Message-ID: From: kumpf@igd.fhg.de (Christian Kumpf smurf) Reply-To: LitProg@SHSU.edu, kumpf@IGD.FHG.DE Date: 12 Sep 1995 15:14:05 GMT To: LitProg@SHSU.EDU Cweb Mode can be obtained under http://www.igd.fhg.de/~kumpf Christian -- |------------------+--------------------------------------- |___ __ | Computer Graphics Center | | / | |\ | | | Mobile Information Visualization | | / | - | | | | | Wilhelminenstr. 7, D-64283 Darmstadt | |/__ |__| |/ \_/ | Christian Kumpf, kumpf@igd.fhg.de | | | www: http://www.igd.fhg.de/~kumpf/ | |---------------------------------------------------------- ================================================================================ Archive-Date: Sat, 16 Sep 1995 06:44:06 CDT Sender: owner-litprog@SHSU.edu From: Peter Knaggs Reply-To: LitProg@SHSU.edu, pjk@PAISLEY.AC.UK Subject: Re: Literate programming in Forth or Postscript Date: 11 Sep 1995 17:34:10 GMT Message-ID: <431rui$cko@auntie.bbcnc.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.EDU You should have a look at Wolf Wejgaard's Holon *. I know this is Forth, but the system will work for PS as well. There are a number of well known and accepted notations used by the Forth community for documenting code (ie stack comments). The chunk system is required for most langauges as they are badly factored. Both PS and Forth allows for factoring at a much lower level (ie simular to chunks) not available to most language. * Wolf Wejgaard, "Holon - A New Way of Forth", in euroFORTH '92 Conference Proceedings, pp 13-18, MPE Ltd, 133 Hill Lane, Southampton, UK. sales@mpeltd.deamon.co.uk Ps: I am in the process of writing a paper on "Literate Forth" for this years euroFORTH conference. Thus any other comments welcome. -- Peter J Knaggs pjk@paisley.ac.uk http://www.paisley.ac.uk/~cis/forth http://www.paisley.ac.uk/~cis/staff/pjk.html ================================================================================ Archive-Date: Sat, 16 Sep 1995 23:11:11 CDT Sender: owner-litprog@SHSU.edu Subject: I'll write Visual Basic programs for free! Message-ID: <435386$nh9@cc-server9.massey.ac.nz> From: John Hayward Reply-To: LitProg@SHSU.edu, J.A.Hayward@MASSEY.AC.NZ Date: 12 Sep 1995 22:57:10 GMT To: LitProg@SHSU.EDU I've been working as a programmer for a couple of years. I would like to develop my Visual Basic skills by writing some programs for others. Please send me some detailed specifications of what you would like developed. ================================================================================ Archive-Date: Sat, 16 Sep 1995 23:11:49 CDT Sender: owner-litprog@SHSU.edu Subject: Re: I'll write Visual Basic programs for free! Message-ID: <435if5$5v2@ixnews3.ix.netcom.com> From: kakima@ix.netcom.com (Kiyoshi Akima) Reply-To: LitProg@SHSU.edu, kakima@IX.NETCOM.COM Date: 13 Sep 1995 03:16:53 GMT To: LitProg@SHSU.EDU In <435386$nh9@cc-server9.massey.ac.nz> John Hayward writes: > >I've been working as a programmer for a couple of years. I would like to >develop my Visual Basic skills by writing some programs for others. >Please send me some detailed specifications of what you would like >developed. How about a program to keep unrelated messages from being posted to comp.programming.literate? "Programming today is a race between software engineers striving to build Kiyoshi Akima bigger and better idiot-proof programs, kakima@ix.netcom.com and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." --- R. Cook ================================================================================ Archive-Date: Sun, 17 Sep 1995 15:18:28 CDT Sender: owner-litprog@SHSU.edu Subject: Re: I'll write Visual Basic programs for free! Message-ID: <4366bd$7cl@Kaos.deepcove.com> From: BORG Reply-To: LitProg@SHSU.edu, can_sea@DEEPCOVE.COM Date: 13 Sep 1995 08:56:13 GMT MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: j.a.hayward@massey.ac.nz To: LitProg@SHSU.EDU John Hayward wrote: >I've been working as a programmer for a couple of years. I would like to >develop my Visual Basic skills by writing some programs for others. >Please send me some detailed specifications of what you would like >developed. I would like a 32-bit decompiler for 586 processors for Windows programs working in Windows environment. If I said anything wrong mail me please. I am gonna study C language in several days. I would pay for such a program... -- ========================== (((((can_sea@deepcove.com)))))) @ beautiful British Columbia@ ================================================================================ Archive-Date: Mon, 18 Sep 1995 08:11:50 CDT Sender: owner-litprog@SHSU.edu Date: Mon, 18 Sep 1995 15:10:07 +0200 From: garcia@enstimac.fr (Dorian GARCIA) Reply-To: LitProg@SHSU.edu, garcia@ENSTIMAC.FR Message-ID: <199509181310.AA08672@chatelet.enstimac.fr> To: LitProg@SHSU.EDU Subject: unsubscribe unsubscribe ================================================================================ Archive-Date: Mon, 18 Sep 1995 19:51:01 CDT Sender: owner-litprog@SHSU.edu From: MTL@AMAV.COM (AMAV Industries) Reply-To: LitProg@SHSU.edu, MTL@AMAV.COM Subject: Any Educational Software for sale???? Date: Mon, 18 Sep 95 13:53:40 GMT Message-ID: <43jtq0$r6o@cti01.citenet.net> To: LitProg@SHSU.EDU Hello, we are a leading toy distributor in Canada and are interested in distributing a line of educational software to our clients. As such, we are looking to buy the rights to various educational software products for cash or on a royalty basis. If you have anything that you think might be of interest to us, please contact us by phone: (514) 344-1234 by fax: (514) 344-1235 by e-mail: MTL@AMAV.COM (attn: Yehuda) Thank-you! ================================================================================ Archive-Date: Mon, 18 Sep 1995 22:30:44 CDT Sender: owner-litprog@SHSU.edu From: Matthew Wagner Reply-To: LitProg@SHSU.edu, wags@VT.EDU Subject: OLD HP code. Date: 18 Sep 1995 21:11:11 GMT Message-ID: <43kn9f$2vm@solaris.cc.vt.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.EDU I am trying to document some HP code from around the early-mid eighties. If anyone has or knows someone who has done some coding with old HP stuff please email me. ================================================================================ Archive-Date: Wed, 20 Sep 1995 09:41:17 CDT Sender: owner-litprog@SHSU.edu Date: Wed, 20 Sep 1995 17:40:03 +0300 (EET DST) From: Eugen Rotariu Reply-To: LitProg@SHSU.edu, erotariu@HOTSOFT.VSAT.RO Subject: unsubscribe To: litprog@shsu.edu Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII unsubscribe ================================================================================ Archive-Date: Wed, 20 Sep 1995 10:29:09 CDT Sender: owner-litprog@SHSU.edu From: "Miguel Angel Puente" Reply-To: LitProg@SHSU.edu, PUENTE@FILOSOFT.ES To: litprog@shsu.edu Date: Wed, 20 Sep 1995 16:57:56 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT Subject: Message-ID: <91F6267EC@filosoft.es> unsubscribe Miguel A. Puente Urrutia FiloSoft S.A. Parque Tecnologico, Edif 103 48016 Zamudio (SPAIN) ================================================================================ Archive-Date: Wed, 20 Sep 1995 10:48:41 CDT Sender: owner-litprog@SHSU.edu Date: Wed, 20 Sep 1995 17:40:03 +0300 (EET DST) From: Eugen Rotariu Reply-To: LitProg@SHSU.edu, erotariu@HOTSOFT.VSAT.RO Subject: unsubscribe To: litprog@shsu.edu Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII unsubscribe ================================================================================ Archive-Date: Wed, 20 Sep 1995 13:48:47 CDT Sender: owner-litprog@SHSU.edu Date: Wed, 20 Sep 1995 14:45:04 -0400 (EDT) From: George J Kamenz Reply-To: LitProg@SHSU.edu, George J Kamenz Subject: Re: unsubscribe To: LitProg@SHSU.edu, erotariu@HOTSOFT.VSAT.RO CC: litprog@shsu.edu Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII By now several people have probably sent messages saying, no doubt quite unpleasantly, that your request should have been sent to either or . Without regard to what the others say, it was no big deal. On Wed, 20 Sep 1995, Eugen Rotariu wrote: > Date: Wed, 20 Sep 1995 17:40:03 +0300 (EET DST) > From: Eugen Rotariu > To: litprog@shsu.edu > Subject: unsubscribe > > unsubscribe > > -- This space for rent REASONABLE PRICES - CALL TODAY! Call 1-800-AdSpace -- ================================================================================ Archive-Date: Wed, 20 Sep 1995 13:48:48 CDT Sender: owner-litprog@SHSU.edu Date: Wed, 20 Sep 1995 14:45:04 -0400 (EDT) From: George J Kamenz Reply-To: LitProg@SHSU.edu, George J Kamenz Subject: Re: unsubscribe To: LitProg@SHSU.edu, erotariu@HOTSOFT.VSAT.RO CC: litprog@shsu.edu Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII By now several people have probably sent messages saying, no doubt quite unpleasantly, that your request should have been sent to either or . Without regard to what the others say, it was no big deal. On Wed, 20 Sep 1995, Eugen Rotariu wrote: > Date: Wed, 20 Sep 1995 17:40:03 +0300 (EET DST) > From: Eugen Rotariu > To: litprog@shsu.edu > Subject: unsubscribe > > unsubscribe > > -- This space for rent REASONABLE PRICES - CALL TODAY! Call 1-800-AdSpace -- ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:09 CDT Sender: owner-litprog@SHSU.edu From: brwneyes02@aol.com (Brwneyes02) Subject: Visual basic Date: 22 Sep 1995 22:07:15 -0400 Message-ID: <43vq4j$i00@newsbf02.news.aol.com> Reply-To: LitProg@SHSU.edu, brwneyes02@aol.com (Brwneyes02) To: LitProg@SHSU.EDU i need to figure out how to resize text boxes, option buttons etc in the sub Form_Resize what would the command be, please help me!! e-mail at BrwnEyes02@aol.com or Mponikvar@crete.hsc.colroado.edu thanks in advance!! ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:12 CDT Sender: owner-litprog@SHSU.edu From: David Roper Reply-To: LitProg@SHSU.edu, dave@ECHUCA.NET.AU Subject: Re: qbasic Date: 23 Sep 1995 07:04:29 GMT Message-ID: <440bht$nb2@ren.netconnect.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.EDU I Got a slather of em.... Willing to discuss programming techniques too! EMail me. ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:15 CDT Sender: owner-litprog@SHSU.edu From: raczy@delirium.lifl.fr (Come Raczy) Reply-To: LitProg@SHSU.edu, raczy@DELIRIUM.LIFL.FR Subject: FWEB 1.53 and LaTeX2e report class Date: 26 Sep 1995 06:47:44 GMT Message-ID: To: LitProg@SHSU.EDU Hi, I've just received the announcement for FWEB 1.53. In his post John Krommes specifies that it has been tested only with the "article" class. Does anybody know a good hack to use the "report" class? More accurately, a way to introduce "chapters" over "sections". Best regards P.S : if you don't know FWEB, you *must* have a look at the doc : and : ----- Come Raczy : raczy@lifl.fr ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:17 CDT Sender: owner-litprog@SHSU.edu From: oliver@zip.com.au (Oliver Bock) Reply-To: LitProg@SHSU.edu, oliver@ZIP.COM.AU Subject: Re: need some help Date: 21 Sep 1995 19:30:29 +1000 Message-ID: <43rbbl$hsu@zipper.zip.com.au> To: LitProg@SHSU.EDU Tom87TA (tom87ta@aol.com) wrote: : I am developing a program and a file, even after I compress it, will not : fit on a 3 1/2 floppy, does anyone know where i can get a copy of a : program that will put a file on more then one floppy. thanks If you're writing for a WinTel machine then PKZIP can compress across multiple diskettes. PKZIP is shareware made by a company called PKWARE. Oliver Bock - oliver@zip.com.au ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:20 CDT Sender: owner-litprog@SHSU.edu From: tyridal@powertech.no (Torbjorn Tyridal) Reply-To: LitProg@SHSU.edu, tyridal@POWERTECH.NO Subject: How to program ide-tape streamers? Date: Sun, 24 Sep 1995 20:13:30 GMT Message-ID: <444hks$kt9@tott.powertech.no> To: LitProg@SHSU.EDU Can someone please tell me how I access tapestreamers connected to the fdd controller, like the CONNER C250MQ drive? Also interested in the qic-80 format. Any information is recieved with delight. Source code (pas/c/asm) or points to other info-libraries. -- -Torbjorn Tyridal- Email: tyridal@powertech.no www: http://www.powertech.no/~tyridal ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:22 CDT Sender: owner-litprog@SHSU.edu From: petern@gateway.cosmos.ab.ca (Peter Novak) Reply-To: LitProg@SHSU.edu, petern@GATEWAY.COSMOS.AB.CA Subject: Looking for a calculator Date: 26 Sep 1995 22:12:09 GMT Message-ID: <449trp$bh@mercury.cosmos.ab.ca> MIME-Version: 1.0 To: LitProg@SHSU.EDU Hi All! I am looking for a calculator which is able to convert between decimal and binary FRACTIONS. If you know where I can find one please let me know. The windows one good for only whole numbers. Thanks.... Peter ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:24 CDT Sender: owner-litprog@SHSU.edu From: jsisul@cstp.umkc.edu Reply-To: LitProg@SHSU.edu, jsisul@CSTP.UMKC.EDU Subject: WYSIWYG editor for .web files on PCs Date: 25 Sep 95 13:59:41 -0600 Message-ID: <1995Sep25.135941.1@cstp.umkc.edu> To: LitProg@SHSU.EDU I am currently using LPW, the Literate Progammer's Workshop, on the Macintosh. Its best feature is the WYSIWYG editor, so you don't have to deal with raw .web files. Is an implementation of a WYSIWYG .web file editor available for MS Windows? The only thing I've seen is a tool that takes MS Word 2.0 files and converts them to .web files. Thanks, --Jim ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:26 CDT Sender: owner-litprog@SHSU.edu From: jsisul@cstp.umkc.edu Reply-To: LitProg@SHSU.edu, jsisul@CSTP.UMKC.EDU Subject: Re: WYSIWYG editor for .web files on PCs Date: 25 Sep 95 14:16:21 -0600 Message-ID: <1995Sep25.141621.1@cstp.umkc.edu> To: LitProg@SHSU.EDU As a follow-up to my original post, I've seen wordweb2. I am looking for something a little more robust. --Jim In article <1995Sep25.135941.1@cstp.umkc.edu>, jsisul@cstp.umkc.edu writes: > I am currently using LPW, the Literate Progammer's Workshop, > on the Macintosh. Its best feature is the WYSIWYG editor, > so you don't have to deal with raw .web files. > > Is an implementation of a WYSIWYG .web file editor available > for MS Windows? The only thing I've seen is a tool that takes > MS Word 2.0 files and converts them to .web files. > > Thanks, > > --Jim > ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:39 CDT Sender: owner-litprog@SHSU.edu Subject: comp.programming.literate FAQ Message-ID: From: thompson@sun1.coe.ttu.edu Date: 22 Sep 1995 15:54:45 GMT Reply-To: LitProg@SHSU.edu, thompson@sun1.coe.ttu.edu To: LitProg@SHSU.EDU Archive-name: literate-programming-faq Last-modified: 1995/06/22 Version: 1.1.16 Welcome to the Literate Programming Frequently Asked Questions List ------------------------------------------------------------------- This version was created Thursday, 22 June 1995, and should considered stale after 90 days. Information contained in this document is the best available at preparation. The original file was dated October 15, 1993 (just for historical purposes). Disclaimer: "This FAQ is presented with no warranties or guarantees of ANY KIND including correctness or fitness for any particular purpose. The author of this document has attempted to verify correctness of the data contained herein; however, slip-ups can and do happen. If you use this data, you do so at your own risk." Copyright 1993, 1994, 1995 by David B. Thompson. All rights reserved worldwide. Permission is granted to copy this document for free distribution so long as it remains intact and unmodified. For other arrangements, contact the author/maintainer via email: thompson@sun1.coe.ttu.edu. What's New? ----------- + Updated cwebx3.0. + Updated fweb entry (notices added). + Added FunnelWeb3.0AC entry. = ====================================================================== * Introduction or "What's this all about?" ------------------------------------------ This document is for new and experienced users of literate programming tools. The purpose is to explain the concept of literate programming and to provide a resource for locating files of interest to literate programmers and those interested in literate programming. The Literate Programming (LitProg) Frequently Asked Questions (FAQ) list is maintained by Dave Thompson, who can be reached at: thompson@sun1.coe.ttu.edu * Preferred mailing address for FAQ related comments/questions. wqdbt@ttacs1.ttu.edu * Forwarded to my pc. Comment and constructive criticism is welcome. Direct flames to /dev/null (or > nul if you're a msdos user! ;-) If you find an error, please report it. I'm particularly interested in establishing the locations of generally available literate programming tools. If you are the author of such a tool and wish to have it included in this list, please send email. Please note this is a work-in-progress. It is *not* complete, and probably will not be complete for some months. Nevertheless, the information contained herein may be useful to some. Use it as it is intended. - ---------------------------------------------------------------------- - Typography ------------ Major sections of the FAQ are divided by double lines (====). Minor sections and other divisions are separated by single lines (----). Major topics use a "* " as a leader. Minor topics use a "- " as a leader. This should simplify searching for topics. = ====================================================================== Table of Contents: ------------------ * Introduction, or "What's this all about?" - Typography * How do I get the FAQ? - Literate Programming FAQ - FWEB FAQ * Is there a newsgroup? (The comp.programming.literate newsgroup) * What internet nodes are of interest to literate programmers? * What is literate programming? * How do I begin literate programming? * What literate programming tools are available and where are they? - APLWEB - AWEB - CLiP - CWEB - CWEBx3.0 - FunnelWeb - FunnelWeb3.0AC - FWEB - IMPACT - lit2x - Literate Programmer's Workshop (LPW) - MapleWEB - MWEB (Schrod/Detig) - MWEB (Sewell) - noweb - nuweb - ProTeX - RWEB - SchemeWEB - Spidery WEB - WEB - WinWordWEB * Are there other tools I should know about? - C2LaTeX - c2cweb - c2man - cnoweb - Fold2web - FunnelWeb mode - noweb.el - nuweb.el - TIE - Web mode * What other resources are available? - World Wide Web - TeX Resources - Virtual Coursework * Are there any code examples? - Examples included with developer's tools - Cameron Smith's KR-CWEB - Stanford GraphBase * Bibliographies. * How to anonymously ftp. * Acknowledgements. * End notes. = ====================================================================== * How do I get the FAQ? ----------------------- - Literate Programming FAQ -------------------------- You have many ways to get a current copy of this FAQ. One is to use anonymous ftp (if you don't know how, see a later section in this FAQ) to connect to one of the Comprehensive TeX Arvchive Network (CTAN) sites or the Literate Programming Archive and retrieve a copy of the file. Open an ftp connection to one of the CTAN sites and retrieve the file: help/LitProg-FAQ (For more information on CTAN and the literate programming archive, see the section below entitled "Internet Nodes of Interest to Literate Programmers.") An alternative is to use the fileserver at Sam Houston State University (SHSU). Send a message to FILESERV@SHSU.EDU and include in your message: SENDME LITPROG.FAQ The file server will forward a copy of the file to you via email. - ---------------------------------------------------------------------- - FWEB FAQ ---------- David Coker now maintains the FWEB FAQ. (We all owe Marcus Speh a big THANK YOU for maintaining the FWEB FAQ for so long!) The current version number is 1.30a. It can be retrieved in the same way as this FAQ; either by anonymous ftp or through the SHSU file server. On the SHSU server, the file name is FAQ.FWEB. Invoke your ftp software, open a connection to NIORD.SHSU.EDU [192.92.115.8], attach to the directory FAQ, and transfer the file FAQ.FWEB. Alternatively, send a message to the file server, FILESERV@SHSU.EDU, and include the following text in a one line message: SENDME FAQ.FWEB The file server will send the current version of the file via email. The FWEB FAQ exists in various formats, including HyperText (see other resources below). In Europe, the complete distribution can also be obtained from ftp.desy.de [131.169.10.115] in directory /pub/faq/web/fweb/. It is also available from the literate programming archive (LPA) in the directory LPA/Documentation/faq/fweb (see the references to LPA below for more information). = ====================================================================== * Is there a newsgroup? ----------------------- One of the most important resources is the literate programming newsgroup, comp.programming.literate. You can read this newsgroup using your standard reader. Altenatively, the newsgroup is gated to a mailing list hosted by George Greenwade and Sam Houston State University. You can subscribe by sending mail to the list-server, LISTSERV@SHSU.EDU, and include in the message one line of text: SUBSCRIBE LITPROG "your name in quotes" The list is unmoderated; messages sent to litprog@shsu.edu are automatically distributed to all subscribers and cross-posted to comp.programming.literate. Archives of the mailing list and newsgroup are maintained on niord.shsu.edu [192.92.115.8] in the directory litprog. = ====================================================================== * What internet nodes are of interest to literate programmers? -------------------------------------------------------------- The principal nodes of interest to literate programmers are the Literate Programming Archive (LPA hereafter) and the CTAN (Comprehensive TeX Archive Network). The Literate Programming Archive (LPA) is: Node: ftp.th-darmstadt.de [130.83.55.75] Directory: programming/literate-programming Notes: Fastest response during off-U.S. [yep] business hours. Participating hosts in the Comprehensive TeX Archive Network are: ftp.dante.de (Deutschland) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node sun.dante.de -- e-mail via ftpmail@dante.de -- Administrator: ftp.shsu.edu (Texas, USA) -- anonymous ftp and gopher /tex-archive (/pub/tex /pub/archive) -- NFS mountable from ftp.SHSU.edu:/pub/ftp/tex-archive -- e-mail via ftpmail@ftp.SHSU.edu -- World Wide Web access on www.SHSU.edu -- Administrator: ftp.tex.ac.uk (England) -- anonymous ftp /tex-archive (/pub/tex /pub/archive) -- gopher on node gopher.tex.ac.uk -- NFS mountable from nfs.tex.ac.uk:/public/ctan/tex-archive -- World Wide Web access on www.tex.ac.uk -- Administrator: A list of CTAN archive sites and their mirrors can be found on: ftp.dante.de: /tex-archive/CTAN.sites I presume that the other CTAN sites mirror this file, but have not checked. As of my last check (September 1994), it contains: "In order to reduce network load, it is recommended that you use the Comprehensive TeX Archive Network (CTAN) host which is located in the closest network proximity to your site." Known partial mirrors of the CTAN reside on (alphabetically): dongpo.math.ncu.edu.tw (Taiwan) /tex-archive ftp.adfa.oz.au (Australia) /pub/tex/ctan ftp.muni.cz (The Czech Republic) /pub/tex/CTAN ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive ftp.uu.net (Virginia, USA) /pub/text-processing/TeX nic.switch.ch (Switzerland) /mirror/tex Known mirrors of the CTAN reside on (alphabetically): ftp.center.osaka-u.ac.jp (Japan) /CTAN ftp.ccu.edu.tw (Taiwan) /pub/tex ftp.cs.rmit.edu.au (Australia) /tex-archive ftp.duke.edu (North Carolina, USA) /tex-archive ftp.germany.eu.net (Deutschland) /pub/packages/TeX ftp.gwdg.de (Deutschland) /pub/dante ftp.jussieu.fr (France) /pub4/TeX/CTAN ftp.loria.fr (France) /pub/unix/tex/ctan ftp.mpi-sb.mpg.de (Deutschland) /pub4/tex/mirror/ftp.dante.de ftp.uni-bielefeld.de (Deutschland) /pub/tex ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex) ftpserver.nus.sg (Singapore) /pub/zi/TeX src.doc.ic.ac.uk (England) /packages/tex/uk-tex sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX wuarchive.wustl.edu (Missouri, USA) /packages/TeX Other nodes and directories of interest include: Node: niord.shsu.edu [192.92.115.8] Directory: various (do some snooping!) Notes: Has a gopher server. Node: ftp.desy.de [131.169.10.115] Directory: pub/web. Various documents, samples, and the FWEB FAQ. Notes: Has a www server, http://info.desy.de:80/ = ====================================================================== * What is Literate Programming? ------------------------------- Literate programming is the combination of documentation and source together in a fashion suited for reading by human beings. In fact, literate programs should be enjoyable reading, even inviting! (Sorry Bob, I couldn't resist!) In general, literate programs combine source and documentation in a single file. Literate programming tools then parse the file to produce either readable documentation or compilable source. The WEB style of literate programming was created by D.E. Knuth during the development of his TeX typsetting software. All the original work revolves around a particular literate programming tool called WEB. Knuth says: The philosophy behind WEB is that an experienced system programmer, who wants to provide the best possible documentation of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately. The structure of a software program may be thought of as a web that is made up of many interconnected pieces. To document such a program we want to explain each individual part of the web and how it relates to its neighbours. The typographic tools provided by TeX give us an opportunity to explain the local structure of each part by making that structure visible, and the programming tools provided by languages such as C or Fortran make it possible for us to specify the algorithms formally and unambigously. By combining the two, we can develop a style of programming that maximizes our ability to perceive the structure of a complex piece of software, and at the same time the documented programs can be mechanically translated into a working software system that matches the documentation. Another author (Eric W. van Ammers) wrote me a short article treating his opinions on literate programming. The text follows: First observation on LP About 90% of the disussion on this list is about problems with applying some WEB-family member to a particular programming language or a special documentation situation. This is ridiculous, I think. Let me explain shortly why... Lemma 1: I have proposed for many years that programming has nothing to do with programming langauges, i.e. a good programmer makes good programs in any language (given some time to learn the syntax) and a bad programmer will never make a good program, no matter the language he uses (today many people share this view, fortunately). Lemma 2: Literate Programming has (in a certain way not yet completely understood) to do with essential aspects of programming. Conclusion 1: A LP-tool should be independent of programming language. Lemma 3: It seems likely that the so called BOOK FORMAT PARADIGM [ref. 1] plays an important role in making literate programs work. Lemma 4: There are very many documentation systems currently being used to produce documents in the BOOK FORMAT. Conclusion 2: A LP-tool should be independent of the documentation system that the program author whishes to use. My remark some time ago that we should discuss the generic properties of an LP-tool was based on the above observation. References: [1] Paul W. Oman and Curtus Cook. Typographical style is more than cosmetic. CACM 33, 5, 506-520 (May 1990) Second observation on LP The idea of a literate program as a text book should be extendend even further. I would like to see a literate program as an (in)formal argument of the correctness of the program. Thus a literate program should be like a textbook on mathematicics. A mathematical textbook explains a theory in terms of lemma and theorems. But the proofs are never formal in the sense that they are obtaind by symbol manipulation of a proof checker. Rather the proofs are by so called "informal rigour", i.e. by very precise and unambiguous sentences in a natural language. Eric W. van Ammers Department of Computer Science Wageningen Agricultural University Dreijenplein 2 E-mail: ammers@rcl.wau.nl 6703 HB Wageningen voice: +31 (0)8370 83356/84154 The Netherlands fax: +31 (0)8370 84731 Another author (Norman Ramsey) wrote me and asked that his opinions be included in the FAQ. What follows are Norman's comments verbatim. I see it's time for the ``how is literate programming different from verbose commenting'' question. Perhaps David Thompson will get this into the FAQ. Alert! What follows are my opinions. In no way do I claim to speak for the (fractious) literate-programming community. How is literate programming different from verbose commenting? There are three distinguishing characteristics. In order of importance, they are: - flexible order of elaboration - automatic support for browsing - typeset documentation, especially diagrams and mathematics Flexible order of elaboration means being able to divide your source program into chunks and write the chunks in any order, independent of the order required by the compiler. In principle, you can choose the order best suited to explaining what you are doing. More subtly, this discipline encourages the author of a literate program to take the time to consider each fragment of the program in its proper sphere, e.g., not to rush past the error checking to get to the ``good parts.'' In its time and season, each part of the program is a good part. (This is the party line; your mileage may vary.) I find the reordering most useful for encapsulating tasks like input validation, error checking, and printing output fit for humans --- all tasks that tend to obscure ``real work'' when left inline. Reordering is less important when using languages like Modula-3, which has exceptions and permits declarations in any order, than when using languages like C, which has no exceptions and requires declaration before use. Automatic support for browsing means getting a table of contents, index, and cross-reference of your program. Cross-reference might be printed, so that you could consult an index to look up the definition of an identifier `foo'. With good tools, you might get a printed mini-index on every page if you wanted. Or if you can use a hypertext technology, cross-reference might be as simple as clicking on an identifier to reach its definition. Indexing is typically done automatically or `semi-automatically', the latter meaning that identifier definitions are marked by hand. Diligently done semi-automatic indexes seem to be best, because the author can mark only the identifiers he or she considers important, but automatic indexing can be almost as good and requires no work. Some tools allow a mix of the two strategies. Some people have applied literate-programming tools to large batches of legacy code just to get the table of contents, index, and cross-reference. I don't use diagrams and mathematics very often, but I wouldn't want to have to live without them. I have worked on one or two projects where the ability to use mathematical formulae to document the program was indispensible. I also wouldn't like to explain some of my concurrent programs without diagrams. Actually I write almost all of my literate programs using only sections headers, lists, and the occasional table. >Wouldn't it be easier to do one's literate programming using a wysiwyg >word processor (e.g. Word for Windows) and indicate what is source >code by putting it in a different font? The data formats used in wysiwyg products are proprietary, and they tend to be documented badly if at all. They are subject to change at the whim of the manufacturer. (I'll go out on a limb and say there are no significant wysiwyg tools in the public domain. I hope the Andrew people will forgive me.) These conditions make it nearly impossible to write tools, especially tools that provide automatic indexing and cross-reference support. The CLiP people have a partial solution that works for tools that can export text --- they plant tags and delimiters throughout the document that enable the reordering transformation (``tangling''). People use TeX, roff, and HTML because free implementations of these tools are widely available on a variety of platforms. TeX and HTML are well documented, and TeX and roff are stable. TeX is the most portable. I think I have just answered the FAQ ``how come all these tools use TeX, anyway?'' :-) Norman Ramsey = ====================================================================== * How do I begin literate programming? -------------------------------------- A recommended book is D.E. Knuth's collection of articles (1992) "Literate Programming," Center for the Study of Language and Information, Stanford University, ISBN 0-937073-80-6 (pbk). This book gives insight into Knuth's thoughts as he developed the web system of literate programming (and TeX for typesetting). It does not document methods for literate programming. A recommended book is Wayne Sewell's (1989) "Weaving a Program: Literate Programming in WEB," Van Nostrand Reinhold, ISBN 0-442-31946-0 (pbk). This book focuses on using Knuth's web system. Some talk exists in the newsgroup/mailing list for a Usenet University course in literate programming. I'm sure discussion of this topic will be welcomed. If you are interested, please participate. = ====================================================================== * What literate programming tools are available and where are they? ------------------------------------------------------------------- A significant number of tools for literate programming are available. Most have been ported from their original systems, so support multiple computer platforms. If you are the developer of such a tool, and would like to make the software freely available, please send me email and I'll reply with a form (like those below) for you to fill in. (Or short-circuit the process and kludge a form from below. :-) - ---------------------------------------------------------------------- - APLWEB -------- Developer: Christoph von Basum Version: Unknown Hardware: MSDOS Languages: IBM APL2 and STSC APL Formatter: Plain TeX Availability: Anonymous ftp from: LPA:/apl watserv1.uwaterloo.ca:/languages/apl/aplweb Readme: Unknown Description: None available. Support: Unknown Note: The status of this particular package is unknown. - ---------------------------------------------------------------------- - AWEB ------ Developer: Unknown Version: Unknown Hardware: Unknown Languages: Ada Formatter: Unknown Availability: Anonymous ftp from: LPA:/ada/web Readme: Unknown Description: None available Support: Not supported. - ---------------------------------------------------------------------- - CLiP ------ Developer: E.W. van Ammers and M.R. Kramer Version: Unknown Hardware: Vax/VMS, Unix, and MS-DOS Languages: Any programming language. Formatter: Any formatter (TeX, LaTeX, Troff, Runoff, etc) or any wordprocessor including WYSIWYG systems (Word Perfect, Win Word, Ami Pro, Word, etc.) Availability: Anonymous ftp from: sun01.info.wau.nl:/CLIP/ms_dos MS-DOS version sun01.info.wau.nl:/CLIP/vax_vms VAX/VMS version CTAN:/web/clip LPA:/machines/ms-dos LPA:/machines/vax Readme: With bundle above Description: CLiP does not use explicite commands to perform the extraction process. Rather it recognizes pseudostatemens written as comments in the programming language in question. CLiP distinguishes pseudostatments from ordinary comments because the former comply with a a particular style. This style can be adjusted to suit virtually any programming language. The CLiP approach to LP makes the system extremely versatile. It is independent of programming language and text processing environment. We designed CLiP to be compatible with hypertext systems as well but we have not yet experimented with this form of documentation. Features: + CLiP imposes virtually no limitations on the text-processing system used to produce the documentation. If the text-processor supports these items you can + structure the documentation according to your own taste. + include drawings, pictures, tables etc. + disclose your documentatio my means of X-ref tables, Indexes, Table of contents, Table of tables, Table of figures, etc. + typeset the documented code. + Extracts any number of modules from a maximum of 64 source files. + No pretty-printing. Code from the source files is copied "as is" to the module. + Appearance of code segments in the documentation matches those of the modules to ease the identification of code segements. + Supports partially specified data types. + Comprehensive user manual (preliminary version) and technical description. - No automatic generation of a X-ref table for program identifiers. Support: Bugs, problems and assistance by e-mail: ammers@rcl.wau.nl - ---------------------------------------------------------------------- - CWEB ------ Developer: Silvio Levy and D.E. Knuth Version: 3.0 Hardware: Unix systems (dos and amiga ports available) Languages: C and C++ Formatter: Plain TeX and LaTeX. Availability: Anonymous ftp from: labrea.stanford.edu:/pub/cweb LPA:/c.c++ CTAN:/web/c_cpp/cweb DOS version in CTAN:/web/c_cpp/cwb30p8c DOS version in LPA:/machines/ms-dos Amiga version CTAN:/web/c_cpp/AmigaCWEB Mac port of CTANGLE in LPA:/machines/mac LaTeX support in LPA:/c.c++ Readme: Bundled with above Description: No description provided. Support: Bugs to levy@math.berkeley.edu - ---------------------------------------------------------------------- - CWEBx3.0: ----------- Developer: Marc van Leeuwen Version: Unknown Hardware: Any system using ASCII code Languages: ANSI C Formatter: Plain TeX Availability: Anonymous ftp from: ftp.cwi.nl/pub/cweb Readme: Bundled with above Brief description: A modified implementation of CWEB, with some extensions. Provides a mode for full compatibility with Levy/Knuth CWEB. The most significant extras are: - Typedef declarations affect formatting througout source file - Include files are scanned for typedef definitions - Flexible selection of layout style - Possibility to refer to sections using symbolic labels - CTANGLE detects unbalanced braces and parentheses - CWEAVE can be made to report syntax errors more easily - Some additional mechanisms to avoid formatting problems - New and modular set of grammar rules, based on ANSI C syntax - Possibility to suppress #line directives - A new manual Support: bugs and remarks to M.van.Leeuwen@cwi.nl - ---------------------------------------------------------------------- - FunnelWeb ----------- Developer: Ross N. Williams: ross@guest.adelaide.edu.au Version: Unknown Hardware: MSDOS, Mac, VMS, Sun. Other ports reported. Languages: No restrictions. Formatter: Plain TeX for printing. Otherwise, no restrictions. Availability: Anonymous ftp from: CTAN:/web/funnelweb LPA:/independent ftp.adelaide.edu.au:/pub/funnelweb Readme: With bundle above. Description: FunnelWeb is a production-quality literate-programming tool that emphasises simplicity and reliability. Everything about FunnelWeb, from the simplicity of its language to the comprehensive tutorial in the user's manual, has been designed to make this as simple, as practical, and as usable a tool as possible. Features: + Provides a simple macro preprocessor facility. + Can produce typeset documentation. + Runs on Sun, VMS VAX, Macintosh, PC, and others. + Portable C source code distributed under GNU licence. + Comprehensive user's manual including tutorial. + Programming-language independent. + Can generate multiple output files. + Allows complete control over the output text. + Regression test suite with over 200 tests. + Fully worked example (in /pub/funnelweb/examples). - Requires TeX to produce typeset documentation. - Typesets program code using TT font only. Support: No formal support available. Mailing list maintained with about 50 subscribers. Informal assistance available from mailing list. - ---------------------------------------------------------------------- - FunnelWeb 3.0AC ----------------- Developer: Enhanced by A.B.Coates (coates@physics.uq.edu.au) from FunnelWeb v3.0 by Ross N. Williams (ross@guest.adelaide.edu.au) Version: 3.0AC Hardware: MSDOS, Mac, VMS, Sun, OSF/1, Linux, Sys.V, OS/2. Languages: No restrictions. Formatter: Tex, LaTeX, or HTML. Availability: Anonymous ftp from ftp.physics.uq.oz.au:/pub/funnelwebAC30.tar.gz Readme: With bundle above; for FunnelWeb manual see WWW page http://www.physics.uq.oz.au:8001/people/coates/funnelweb.html Description: FunnelWeb 3.0AC is an enhanced version of FunnelWeb (see the entry for FunnelWeb). FunnelWeb is designed to be typesetter independent, though FunnelWeb v3.0 only supports (La)TeX as the typesetter. FunnelWeb 3.0AC also supports HTML, and creates appropriate hypertext links within the document among the code sections. FunnelWeb 3.0AC also supports automatic and manual insertion of line directives, so that compiler errors can be flagged back to the original FunnelWeb source file. FunnelWeb 3.0AC is completely compatible with FunnelWeb v3.0 sources (with one minor exception; see the file README.ABC which comes with the FunnelWeb 3.0AC distribution). Support: Supported by A.B.Coates (coates@physics.uq.edu.au), subject to the time constraints imposed by his thesis. - ---------------------------------------------------------------------- - FWEB ------ Developer: John A. Krommes Version: 1.30a (1.40 for the experienced, patient, and brave) Hardware: Unix, VMS, and DOS platforms (anything with ANSI C) Languages: C, C++, Fortran-77, Fortran-90, Ratfor, TeX; also, a language-independent mode. Formatter: Plain TeX and LaTeX. Availability: Anonymous ftp from: ftp.pppl.gov:/pub/fweb CTAN:/web/fweb LPA:/fweb DOS version in LPA:/machines/ms-dos Readme: In bundle with above. Description: It also has a well-developed user's manual and its own FAQ (see above). Beginning with 1.40, documentation is maintained in gnu texinfo format. It runs on most platforms: VMS, PC, UNIX, and pretty much anything that the GNU C compiler (GCC) is supported for. Features: + Processes multiple languages during a single run (so one can mix C and Fortran, for example). + Language-independent mode (v1.40). + Ability to turn off pretty-printing (v1.40). + Built-in Ratfor translator. + Built-in macro preprocessor (closely follows ANSI C, with extensions). + A style file that allows the user to adjust many parameters and behavior patterns of FWEB. + Various operator-overloading features that provide additional pretty-printing capabilities to languages such as C++ and Fortran-90. + Numerous miscellaneous features and command-line options. Support: Bug reports and suggestions to krommes@princeton.edu The following text was relayed by utcke@tu-harburg.d400.de recently. A new entry for this FAQ will eventually be prepared. NOTICE (June 12, 1995) The 1.52 tar file was regenerated. If your version of that file included the file web/defaults.mk, you should say `make clean' before beginning the installation process, or use the new tar file. NOTICE (June 10, 1995) Version 1.52 is available. More bug fixes. 1.5x will remain in beta-testing until about Sept. 1, 1995; further changes are hoped to be minimal. If you have previously picked up 1.50 or 1.51, you definitely should install 1.52 instead. So it seems there's really 1.5x available for the experienced, patient and brave --- especially given the following statement (same source): Version 1.30, which for several years has been declared to be the stable version of choice, is gradually getting out of date. I now recommend that current users try VERY, VERY CAUTIOUSLY to upgrade to v1.50. Don't do that the week before a critical deadline. - ---------------------------------------------------------------------- - IMPACT -------- Developer: Timothy Larkin, from Levy/Knuth CWEB 3.1 Version: 1.0 Hardware: Macintosh; requires AppleEvents. Languages: C, C++ Formatter: TeX Availability: CTAN archives Readme: A short readme file is included in the SEA archive. Description: IMPACT implements CTangle from the Levy/Knuth CWEB 3.1. It operates as a foreground program, tangling files selected from the Mac File Picker. Or it can operate in the background, tangling files in response to odoc events sent by other applications, such as editors. Support: I welcome any reports of bugs. The product will be updated as new versions of the CWEB appear. Other features may be added as users suggest them. - ---------------------------------------------------------------------- - lit2x ------- Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/independent Readme: Unknown Description: None available Support: Unknown - ---------------------------------------------------------------------- - Literate Programmer's Workshop (LPW) -------------------------------------- Developer: Norbert Lindenberg Version: 1.1 Hardware: Apple Macintosh Languages: C++, Object Pascal & others Formatter: self-contained WYSIWYG system Availability: Anonymous ftp from: LPA:/machines/mac CTAN:/web/lpw ftp.apple.com:/pub/literate.prog Readme: With bundle above. Also comes with 38-page manual. Description: The Literate Programming Workshop is an environment for the integrated development of program source text and documentation in combined documents. It consists of a WYSIWYG word processor based on a style sheet approach, a mechanism to extract parts of the text in a document, and a project management system that handles multi-document projects. The system is designed to be used in conjunction with the Macintosh Programmer's Workshop: it prepares raw source text for the MPW compilers, accepts MPW error messages, and shows them in the context of the original documents. Automatic indexing and hypertext features allow for easy access to both source text and documentation. LPW is shareware. Support: Bugs, problems, and questions to lpw@aol.com. - ---------------------------------------------------------------------- - MapleWEB ---------- Developer: Unknown Version: Unknown Hardware: Unknown Languages: Maple Formatter: Unknown Availability: Anonymous ftp from: LPA:/maple Readme: Unknown Description: None Support: Unknown - ---------------------------------------------------------------------- - MWEB (Schrod/Detig) --------------------- Developer: Joachim Schrod Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. - ---------------------------------------------------------------------- - MWEB (Sewell) --------------- Developer: Sewell Version: Unknown Hardware: Unknown Languages: Modula-2 Formatter: Unknown Availability: Anonymous ftp from: LPA:/modula-2 Readme: Unknown Description: None Support: Not supported. - ---------------------------------------------------------------------- - noweb ------- Developer: Norman Ramsey Version: 2.7a Hardware: Unix and DOS platforms. Languages: All programming languages. Automatic indexing for C, Icon, Standard ML, TeX, Yacc Formatter: Plain TeX, LaTeX, and HTML (Mosaic/Netscape) formatters. Availability: Anonymous ftp from: CTAN:/web/noweb LPA:/independent Last recourse, use bellcore.com:/pub/norman Readme: With bundle above, or see ``Literate Programming Simplified,'' IEEE Software, September 1994, pp97-105. Description: noweb is designed to meet the needs of literate programmers while retaining the simplest possible input format. Its primary advantages are simplicity, extensibility, and language-independence. noweb uses 5 control sequences to WEB's 27. The simple noweb manual is only 2 pages; documenting the full power of noweave and notangle requires another 3 pages. noweb works ``out of the box'' with any programming language, and a simple back end for a new text formatter can be written in about 50 lines of awk. The primary sacrifice relative to WEB is the loss of prettyprinting. noweb supports indexing and identifier cross-reference, including hypertext ``hot links'' courtesy of Mosaic or Netscape. noweb includes a simple, efficient LaTeX-to-HTML converter, so you can use hypertext browsers on your legacy documents. noweb can also process nuweb programs, so you can use noweb to convert a standard nuweb program to HTML with one command. Support: email to the author - ---------------------------------------------------------------------- - nuweb ------- Developer: Preston Briggs: preston@cs.rice.edu Version: 0.87 Hardware: Unix systems: Sparcs, RS/6000s, HPs; (!) MSDOS and Amiga. Languages: Any programming language or combination of programming languages. Formatter: Latex Availability: Anonymous ftp from: Unix: CTAN:/web/nuweb DOS: CTAN:/web/nuweb-pc LPA:/independent Amiga: CTAN:/web/nuweb/nuweb_ami Amiga: wuarchive.wustl.edu/pub/aminet Readme: Send mail to preston@cs.rice.edu Description: A single program that takes a web file written in a combination of latex and any programming language(s) and produces a latex file that can be pretty printed and a set of files containing code for compilation/interpretation by the appropriate language processors. Strengths include speed, simplicity, multiple languages, nice indices and cross-references, latex. Doesn't require any special macros or macro files. Drawbacks: latex-dependent, no code pretty printing, harder to make indices than cweb. More good stuff: nice support for make, doesn't reformat source files, so they're easy to debug. Lots of control without too much effort. That is, it doesn't do too much! Future directions... Very little change planned, except perhaps refinements in the indexing software. Support: Hack it yourself or send e-mail to preston@cs.rice.edu - ---------------------------------------------------------------------- - ProTeX -------- Developer: Eitan Gurari Version: ProTeX 1.1, AlProTeX 1.4 Hardware: Any platform with (La)TeX Languages: Any language Formatter: TeX or LaTeX Availability: Anonymous ftp from: ftp.cis.ohio-state.edu : pub/tex/osu/gurari/ LPA:/independent Readme: With bundle above Description: + Easy to use + Extensible + Language independent + Multiple output files + Fast (single compilation provides output and dvi files) + No installation is needed besides copying the files (written in TeX) Introduction of main features and examples in pub/tex/osu/gurari/LitProg Complete manual in Eitan M. Gurari, "TeX and LaTeX: Drawing and Literate Programming", McGraw-Hill, 1994 Support: gurari@cis.ohio-state.edu - ---------------------------------------------------------------------- - RWEB ------ Developer: Unknown Version: Unknown Hardware: Unknown Languages: Unknown Formatter: Unknown Availability: Anonymous ftp from: LPA:/reduce Readme: Unknown Description: Web generator in AWK. Support: Unknown - ---------------------------------------------------------------------- - SchemeWEB ----------- Developer: John D. Ramsdell Version: 2.1 Hardware: Unix and DOS platforms Languages: Any dialect of Lisp. Formatter: LaTeX. Availability: The Unix version is in the Scheme Repository and it is available via anonymous ftp from: cs.indiana.edu:/pub/scheme-repository/utl/schemeweb.sh LPA:/lisp CTAN:/tex-archive/web/schemeweb The DOS version is part of the PCS/Geneva Scheme system which is available via anonymous ftp from: cui.unige.ch:/pub/pcs LPA:/machines/ms-dos Readme: In bundle with above. Description: SchemeWEB is a Unix filter that allows you to generate both Lisp and LaTeX code from one source file. The generated LaTeX code formats Lisp programs in typewriter font obeying the spacing in the source file. Comments can include arbitrary LaTeX commands. SchemeWEB was originally developed for the Scheme dialect of Lisp, but it can easily be used with most other dialects. Support: Bug reports to ramsdell@mitre.org. - ---------------------------------------------------------------------- - SpideryWEB ------------ Developer: Norman Ramsey Version: Unknown Hardware: Unix and DOS platforms Languages: Most Algol-like languages, including C, Ada, Pascal, Awk, and many others. Formatter: Plain TeX and latex for text formatters. Availability: Anonymous ftp from: CTAN LPA:/spiderweb Readme: In distribution. Description: A system for building language-dependent WEBs. Spider is frozen; no further development is planned. Support: Bug reports to spider-bugs@oracorp.com. - ---------------------------------------------------------------------- - WEB ----- Developer: Donald Knuth Version: Unknown Hardware: Unknown Languages: Pascal Formatter: TeX (of course! ;-) Availability: Anonymous ftp from: LPA:/pascal Readme: Unknown Description: This is the original software that started it all. The original TeX processor was written in WEB. Support: None known. - ---------------------------------------------------------------------- - WinWordWEB ------------ Developer: Lee Wittenberg Version: Unknown Hardware: Needs Microsoft Word for Windows, v.2.x, and, of course, MS-Windows 3.x. Languages: Any programming language. Formatter: Word for Windows 2.x for text formatting and file maintenance. Availability: Anonymous ftp from: bart.kean.edu:pub/leew LPA:/machines/ms-dos World-Wide Web (WWW) Readme: WORDWEB.DOC in the downloadable package describes the system. Description: WinWordWEB is a set of a Word for Windows macros (plus a paragraph style) that provide a crude literate programming environment. The ``look and feel'' of the system is based on Norman Ramsey's noweb, but can easily be modified to suit individual tastes. Support: None. WinWordWEB was written as a prototype to see if a WYSIWYG literate programming system was possible. It is intended as a jumping off point for future work by others. However, the system is surprisingly usable as it stands, and the author is interested in hearing from users (satisfied and dissatisfied). Anyone interested in actively supporting (and improving) the product should contact the author via email. = ====================================================================== * Are there other tools I should know about? -------------------------------------------- First of all, I'll list some not-quite-literate-programming tools. Some may consider these to be pretty-printers. Others may call them literate programming tools. In any event, they don't seem to be quite in the same category as the tools listed above, so I'll include them here. - C2LaTeX --------- Developer: John D. Ramsdell Version: Unknown Hardware: Unix Languages: C Formatter: LaTeX but it's easy to change the formatter. Availability: Anonymous ftp from omnigate.clarkson.edu:/pub/tex/tex-programs/c2latex. Readme: Absent. Documentation is in the C source for c2latex. Description: C2latex provides simple support for literate programming in C. Given a C source file in which the comments have been written in LaTeX, c2latex converts the C source file into a LaTeX source file. It can be used to produce typeset listings of C programs and/or documentation associated with the program. C2latex produces LaTeX source by implementing a small number of rules. A C comment that starts at the beginning of a line is copied unmodified into the LaTeX source file. Otherwise, non-blank lines are surrounded by a pair of formatting commands (\begin{flushleft} and \end{flushleft}), and the lines are separated by \\*. Each non-blank line is formatted using LaTeX's \verb command, except comments within the line are formatted in an \mbox. Support: Send bug reports to ramsdell@mitre.org. - ---------------------------------------------------------------------- - c2cweb -------- Developer: Werner Lemberg Version: 1.4 Hardware: DOS, OS/2, Unix (gcc) - CWEB source included Languages: C, C++ Formatter: TeX Availability: Anonymous ftp from CTAN:/web/c_cpp/c2cweb Readme: In distribution. Description: c2cweb will transform plain C or C++ code into a CWEB file to get a pretty formatted output. A modified CWEAVE (which transforms the CWEB file into a TeX file, see below) is included also. Support: Werner Lemberg - ---------------------------------------------------------------------- - c2man ------- language: C, nroff, texinfo, latex, html package: c2man version: 2.0 patchlevel 33 parts: documentation generator (C -> nroff -man, -> texinfo, ->latex, -> html) author: Graham Stoney location: ftp from any comp.sources.misc archive, in volume42 (the version in the comp.sources.reviewed archive is obsolete) ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl Australia: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from archie.au N.America: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/* from ftp.wustl.edu Europe: ftp /News/comp.sources.misc/volume42/c2man-2.0/* from ftp.irisa.fr Japan: ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/* from ftp.iij.ad.jp Patches: ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se description: c2man is an automatic documentation tool that extracts comments from C source code to generate functional interface documentation in the same format as sections 2 & 3 of the Unix Programmer's Manual. It requires minimal effort from the programmer by looking for comments in the usual places near the objects they document, rather than imposing a rigid function-comment syntax or requiring that the programmer learn and use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications. conformance: supports both K&R and ISO/ANSI C coding styles features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format + handles comments as part of the language grammar + automagically documents enum parameter & return values + handles C (/* */) and C++ (//) style comments - doesn't handle C++ grammar (yet) requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX. ports: Unix, OS/2, MSDOS, VMS. portability: very high for unix, via Configure status: actively developed; contributions by users are encouraged. discussion: via a mailing list: send "subscribe c2man " (in the message body) to listserv@research.canon.oz.au help: from the author and other users on the mailing list: c2man@research.canon.oz.au announcements: patches appear first in comp.sources.bugs, and then in comp.sources.misc. updated: 1994/10/07 - ---------------------------------------------------------------------- - cnoweb -------- Developer: Jim Fox Version: 1.4 (January 4, 1991) Hardware: Anything with C and TeX. Languages: C Formatter: Plain TeX. Availability: Anonymous ftp from: CTAN LPA:/c.c++ Readme: Unknown, cnoweb.tex contains documentation. Description: cnoweb is as it's name describes: write C, not web. No tangling or weaving is implemented. Documentation (between standard /* */ delimiteres) is written in TeX. cnoweb provides typesetting of documentation, an table of contents of routines, and pretty-printing of C source. Support: None known. - ---------------------------------------------------------------------- - Fold2Web ---------- Developer: Bernhard Lang Version: V0.8 Hardware: MSDOS Languages: All (must allow comment lines) Formatter: LaTeX Availability: Anonymous ftp from: kirk.ti1.tu-harburg.de (134.28.41.50) /pub/fold2web/readme /pub/fold2web/fold2web.zip Readme: In distribution Description: The idea behind the Fold2Web tool is the following: A programmer can write his program source with a folding editor and later map the folded source files automatically to WEB-files. The generated WEB-files can then be modified by inserting required documentations. The advantage by starting program developement with original sources is to get short design cycles during the compile/debug steps. By using a folding editor the global structuring information can be already captured in folds during this developement phase. Fold information is typically stored in comment lines and thus will not affect the efficiency of the compile/debug design cycle. Some folding editors and a folding mode for the emacs are available (e.g. see our FUE folding editor for MSDOS machines which is a modified micro emacs. Pick it at kirk in directory /pub/fold2web). After reaching a stable version of a program source its time to convert the source file to a WEB-file and do the program documentation. Fold2Web is written to convert folded source text of any programming language to nuweb files. The folded structure is kept by mapping folds to scraps. Fold markers which differ between languages due to different ways of specifying comments can be configured for each language. Good results can also achived when given but poor documented program sources have to be modified. Such sources can be folded using a folding editor to extract the global structures. This offers a global view to the program structures and help to understand its functionality. Furthermore the program code is not affected, only comment lines are inserted. Once folded the program source can be automatically translated to a WEB document using the above tool. Support: email to lang@tu-harburg.d400.de - ---------------------------------------------------------------------- - Funnelweb Mode ---------------- Developer: Daniel Simmons Version: Unknown Availability: Litprog archives (was in email) Anonymous ftp from: ftp.imada.ou.dk Description: The other day I did a quick hack to nuweb.el as included with the nuweb distribution so as to make a funnelweb-mode.el. I've only used it briefly, and I'm sure that it can be improved quite a bit. I've been thinking about adding support for folding on sections, a pull-down menu to select macro definitions (like the recent functions posted to gnu.emacs.sources for a C function definition pull-down menu) and some kind of tags support for funnelweb. Support: Unknown - ---------------------------------------------------------------------- - noweb.el ---------- Developer: Bruce Stephens Version: Unknown. Availability: LitProg archives (in an email message). Description: This is a very simple mode I just hacked up. There's a lot wrong with it, but I thought others may be interested, even as it stands. It *requires* text properties, and assumes those used in GNU Emacs 19.22; it'll quite likely work with Lucid Emacs, but I haven't tried it. I use it with auctex8.1 and cc-mode 3.229, both of which are loaded separately (I think my emacs is dumped with them, in fact). The idea is to have one mode (which calls itself c-mode, but actually has LaTeX-mode keybindings) generally (this means that the code is hilighted nicely), and have the code chunks use a different keymap. Support: Email to bruce@liverpool.ac.uk - ---------------------------------------------------------------------- - nuweb.el ---------- Developer: Dominique de Waleffe Version: 1.99 Availability: Anonymous ftp from: LPA CTAN Description: Provides a major mode extending Auctex for editing nuweb files. Main features (in 2.0): - Edit scrap bodies in a separate buffer in a different mode (selected using emacs defaults for files, specific indication -*-mode-*-, or a buffer-local variable) - Extends Auctex commands so that nuweb is called before LaTeX, - Easy navigation on scrap definition and use points. - Now creates an imenu (C-M-mouse1) with user index entries, macro definition positions and file definition positions. Support: Email to ddw@acm.org - ---------------------------------------------------------------------- - TIE ----- Developer: Unknown Version: Unknown Hardware: Unknown Availability: Anonymous ftp from: LPA:/Tools Readme: Unknown Description: This software merges change files. Support: Unknown - ---------------------------------------------------------------------- - Web mode ---------- Developer: Bart Childs Version: Unknown Tools supported: web, fweb, cweb, funnelweb Availability: Anonymous ftp from ftp.cs.tamu.edu:pub/tex-web/web/EMACS.web-mode thrain.anu.edu.au:pub/web/EMACS.web-mode Description: This version works with versions 18 and 19 of Emacs to be best of my knowledge. I have cleaned up a number of documentation items ... In the same directory is wm_refcard.tex which is an edited version of the famous one to include some web-mode commands. The files limbo* are related to its use and notice that half them have an uppercase L in them for LaTeX. The setup is based upon the fact that we (I am not alone here) primarily use FWEB for C and Fortran programming. We are using version 1.40 of FWEB although John Krommes warns that it is not mature and the manual is not yet updated. The info files are! We are using LaTeX almost exclusively. That will likely change and we will revert to version 1.30 if the final form of 1.40 cannot return to the simple section numbers and avoid the HORRIBLE LATEX 0.1.7.2.4.6 type section numbers. Support: Unknown = ====================================================================== * What other resources are available? ------------------------------------- - World Wide Web ---------------- An untapped resource (by me anyway ;-) is the World Wide Web. Marcus Speh has expended considerable effort in this regard. If you're connected to WWW, then access: http://info.desy.de:80/user/projects/LitProg.html If you aren't connected to WWW, telnet to info.cern.ch and explore. You can reach Marcus' literate programming pages by typing: go http://info.desy.de:80/user/projects/LitProg.html or use a WWW browser and access the URL ftp://rtfm.mit.edu/pub/usenet/news-answers/www/resources/literate-programming Help for people who have only Email and neither WWW nor telnet, can be obtained by Email from TEST-LIST@INFO.CERN.CH by sending a message, SEND , for example, SEND http://info.desy.de:80/user/projects/LitProg.html to retrieve the LitProg library page. A help file can be retrieved by sending a message to the list server above with the text HELP in the body of the message. Instructions will be returned by email. For literate programming documents, you can try anonymous ftp to rtfm.mit.edu and retrieve the official Usenet resource file /pub/usenet/news.answers/www/resources/literate-programming - ---------------------------------------------------------------------- - TeX Resources --------------- Another resource of interest to literate programmers is the info-tex mailing list. If you're using (La)TeX as your typsetting system and have access to internet, then you should investigate this mailing list. Mail list service is available through the SHSU list-server. To subscribe, send a message to LISTSERV@SHSU.EDU, and include in the message one line of text: SUBSCRIBE INFO-TEX "your name in quotes" The list is unmoderated; messages sent to info-tex@shsu.edu are automatically distributed to all subscribers and cross-posted to comp.text.tex. Archives of the mailing list and newsgroup are maintained on niord.shsu.edu [192.92.115.8] in the directory info-tex. Another reason the TeX resources should be important is that so many of the literate programming tools rely on either plain TeX or LaTeX as their text formatter. (La)TeX software systems exist for most computing platforms. These systems can be found on CTAN and other major archive sites. Use archie to find them or simply ftp to one of the CTAN sites and browse. - ---------------------------------------------------------------------- - Virtual Coursework -------------------- Marcus Speh plans an introductory course on Literate Programming on the Internet, part of the first semester of "Global Network Academy" [GNA], a non-profit corporation incorporated in the state of Texas, affilated with the Usenet University project. The texts/sample programs for this class will be made available via the World-Wide Web. A special room on GNA Virtual Campus will be staffed by a consultant in one to two hour shifts. Students with questions can telnet to the virtual campus and ask questions of the staff there. If you are interested in registering for the course either as a student or as a consultant, please contact marcus@x4u.desy.de. You will receive a standard reply message; no further action will be taken until June 94. Interested parties can check the hypertext notes for the completed C++ Course done in a similar fashion, at URL http://info.desy.de:80/pub/uu-gna/html/cc/index.html [Editor's note: Because of workload, Marcus requests that email inquiries be limited to a statement of interest for either a student or consultant position until June 1994.] = ====================================================================== * Are there any code examples? ------------------------------ Examples of web programs are included with the FWEB, CWEB, and noweb distributions. nuweb is written in itself. Cameron Smith converted the K&R calculator program into a literate program. It can be retrieved by anonymous ftp from: niord.shsu.edu [192.92.115.8] directory kr-cweb-sample as krcwsamp.zip or from LPA/Documentation Ross Williams has released a funnelweb example. You can retrieve this file from node ftp.adelaide.edu.au [129.127.40.3] as /pub/funnelweb/examples/except.* This file should be on CTAN as well. Lee Wittenberg has posted a few litprog examples. They are available via anonymous ftp from: bart.kean.edu:/pub/leew/samples.LP The Stanford GraphBase is a large collection of programs by Don Knuth for doing all kinds of computations and games with graphs; it is written in (Levy/Knuth) CWEB. More details in the distribution. It is available via anonymous ftp from: labrea.stanford.edu:/pub/sgb = ====================================================================== * Bibliographies ---------------- Nelson Beebe has collected an extensive bibliography treating literate programming. His work is available for anonymous ftp from ftp.math.utah.edu [128.110.198.2] in directory /pub/tex/bib as files: litprog.bib litprog.ltx litprog.twx. Although I have not verified this, LPA is an alternate source for these files. Note that they are updated frequently (Nelson says several times each week), so be sure to get a fresh copy before extensive use. Joachim Schrod indicates that these files may be updated daily and can be retrieved via anonymous ftp at LPA/documentation. = ====================================================================== * How to anonymously ftp ------------------------ Pretty much everything mentioned here is available by anonymous FTP. FAQ lists cross-posted to news.answers and rec.answers can be gotten from rtfm.mit.edu [18.181.0.24], under /pub/usenet/news.answers or under /pub/usenet/more.specific.group.name "anonymous FTP" is just a way for files to be stored where anyone can retrieve them over the Net. For example, to retrieve the latest version of the literate programming FAQ, do the following: > ftp rtfm.mit.edu /* connect to the site; message follows */ > anonymous /* type this when it asks for your name */ > /* type your address as the password */ > cd /pub/usenet /* go to the directory you want to be */ > cd comp.programming.literate /* one level down (no slash). */ > dir /* look at what's there */ > get literate-progamming-faq /* get the file; case-sensitive */ > quit /* stop this mysterious thing */ If your FTP program complains that it doesn't know where the site you want to use is, type the numerical address instead of the sitename: > ftp 18.181.0.24 /* connect with numerical address */ If you don't have ftp access, send e-mail to mail-server@rtfm.mit.edu with the single word "help" in the body of the message. Getting binary files (executables, or any compressed files) is only slightly more difficult. You need to set binary mode inside FTP before you transfer the file. > binary /* set binary transfer mode */ > ascii /* set back to text transfer mode */ FAQs and spoiler lists are generally ascii files; everything else is generally binary files. Some common extensions on binary files in archive sites are: .Z Compressed; extract with uncompress .tar.Z Compressed 'tape archive'; uncompress then untar or tar -xvf .gz or .z Gnu gzip; use gunzip (available from prep.gnu.ai.mit.edu) .sit (Mac) StufIt archive .zip Extract with Zip or Unzip .zoo Yet another archive/compress program .lhe (Amiga) ? .lzh Lha archive program. .arj (PC) Arj archive program. .exe (PC) Sometimes self-extracting archives-just execute them. .uue or .UUE Transfer as text file; use uudecode to convert to binary .hqx (Mac) BinHex format; transfer in text mode Generic help can be found in the FAQs of comp.binaries. for how to transfer, extract, and virus-check binary files. (At rtfm.mit.edu) If you can't FTP from your site, use one of the following ftp-by-mail servers: ftpmail@decwrl.dec.com ftpmail@src.doc.ic.ac.uk ftpmail@cs.uow.edu.au ftpmail@grasp.insa-lyon.fr For complete instructions, send a message reading "help" to the server. If you don't know exactly what you're looking for, or exactly where it is, there are programs and servers that can help you. For more info, send e-mail to mail-server@rtfm.mit.with with the body of the message reading send usenet/news.answers/finding-sources Thanks to Aliza R. Panitz (the "buglady") for this text. I copied it verbatim from her post on faq-maintainers with only minor modifications. = ====================================================================== * Acknowledgements ------------------ This document would not have happened without the help of many people. Among them are Marcus Speh, George Greenwade, Rob Beezer, Joachim Schrod, Piet van Oostrum, and Ross N. Williams. A special thanks to Aliza R. Panitz for the text describing how to execute an anonymous ftp for files of interest. Any omissions from these acknowledgements should be considered an act of stupidity on my part. Of course, the authors of literate programming tools mentioned above all play a vital role in the vitality of literate programming. Furthermore, participants in the comp.programming.literate newsgroup (and associated mailing list) all contributed in various fashions. Thank all of you. = ====================================================================== * End notes ----------- This document will continue to evolve. I'm planning on adding entries for additional literate programming tools and will expand the sections on examples as more examples become available. Tools I will include are WEB (the original pascal version) for starters. Others will be added as I find and document them. Omission of a particular tool should not be considered a snub in any sense--simply an error or oversight on my part. = End of File ========================================================== ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:41:43 CDT Sender: owner-litprog@SHSU.edu From: idnoutlw1@aol.com (Idn outlw1) Subject: qbasic Date: 19 Sep 1995 21:50:23 -0400 Message-ID: <43ns0v$2nt@newsbf02.news.aol.com> Reply-To: LitProg@SHSU.edu, idnoutlw1@aol.com (Idn outlw1) To: LitProg@SHSU.EDU Anyone still got any Qbasic programs. I would love to trade some. ================================================================================ Archive-Date: Fri, 29 Sep 1995 05:59:22 CDT Sender: owner-litprog@SHSU.edu From: Ramakrishna Chavali Reply-To: LitProg@SHSU.edu, crama@CSFB.CO.JP Subject: Re: Looking for a calculator Date: 28 Sep 1995 00:35:48 GMT Message-ID: <44cql4$5et@jusdnews.fir.fbc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.EDU petern@gateway.cosmos.ab.ca (Peter Novak) wrote: >Hi All! > >I am looking for a calculator which is able to convert between decimal and >binary FRACTIONS. If you know where I can find one please let me know. >The windows one good for only whole numbers. > >Thanks.... > >Peter > Does the name of news group 'comp.programming.literate' even remotely, suggest that this group has got something to do with calculators? ================================================================================ Archive-Date: Fri, 29 Sep 1995 06:00:32 CDT Sender: owner-litprog@SHSU.edu From: weiqigao@crl.com (Weiqi Gao) Subject: Re: Looking for a calculator Date: Thu, 28 Sep 1995 04:57:19 GMT Message-ID: <44d9vf$cgl@nntp.crl.com> Reply-To: LitProg@SHSU.edu, weiqigao@crl.com To: LitProg@SHSU.EDU Ramakrishna Chavali wrote: >petern@gateway.cosmos.ab.ca (Peter Novak) wrote: >>Hi All! >> >>I am looking for a calculator which is able to convert between decimal and >>binary FRACTIONS. If you know where I can find one please let me know. >>The windows one good for only whole numbers. >> >>Thanks.... >> >>Peter >> >Does the name of news group 'comp.programming.literate' even remotely, >suggest that this group has got something to do with calculators? You can write a literate calculator. -- Weiqi Gao weiqigao@crl.com ================================================================================ Archive-Date: Fri, 29 Sep 1995 09:15:34 CDT Sender: owner-litprog@SHSU.edu From: Alberto.Meroni@th.u-psud.fr (Alberto.MERONI) Reply-To: LitProg@SHSU.edu, Alberto.Meroni@TH.U-PSUD.FR Message-ID: <9509291402.AA00991@psisun.u-psud.fr> Subject: getting to litprog To: LitProg@SHSU.edu Date: Fri, 29 Sep 1995 15:02:08 +0100 (MET) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit I have been till now an unliterate programmer and I will be very interested in turning to litprog, but I experience the following problem. My program (fortran77) should usually be used by people which do not want to use this paradigm, so I would like to write them in literate style and then to have them assmbled in a conventional way so to be used and worked on by others, and this should include the comments and eventually the docs, turned in comment. I understand that in general this is not possible, has no one ever tried to do something like this (with eventually some restriction ?) Thank you very much Alberto Meroni ameroni@psisun.u-psud.fr ================================================================================ Archive-Date: Fri, 29 Sep 1995 09:25:00 CDT Sender: owner-litprog@SHSU.edu From: "Raja S." Reply-To: LitProg@SHSU.edu, raja@CS.INDIANA.EDU Subject: Re: Noweb on LUV'95 (*not* "No web" :-) Message-ID: <1995Sep28.181403.1994@news.cs.indiana.edu> Date: Thu, 28 Sep 1995 18:13:54 -0500 To: LitProg@SHSU.EDU lynbech@xenon.daimi.aau.dk (Christian Lynbech) writes: > I just happened to notice that there is an article on noweb in the > upcoming LUV'95 (Lisp Users and Vendors) conference. Well, the paper, /Literate Engines in Lisp/ is actually on implementing the concept of "engines" in Common Lisp. It uses LP and noweb to discuss the implementation. Below is the abstract of the paper that was presented at LUV-95: An engine is a programming language abstraction that implements timed preemption. Engines form a useful mechanism where bounded computation is needed. We describe an implementation of engines in Common Lisp and illustrate its functionality. We conclude with a discussion on how engines are being used in an ongoing project about goal-driven explanation. This paper is also an exercise in writing a literate program in Lisp. If you are interested, the paper and the slides used during the presentation are available at: ftp://cs.indiana.edu/pub/raja Raja --- Raja Sooriamurthi Email : raja@cs.indiana.edu Graduate Student in AI/Cogsci Office: 812.855.8702 Computer Science Department Dept. : 812.855.6486 Indiana University, Bloomington, IN 47405 Fax : 812.855.4829 ================================================================================ Archive-Date: Fri, 29 Sep 1995 12:17:02 CDT Sender: owner-litprog@SHSU.edu From: kingston_03 Reply-To: LitProg@SHSU.edu, kingston@EASYNET.CO.UK Subject: (no subject) Date: 29 Sep 1995 15:57:19 GMT Message-ID: <44h50v$ad3@lemon.easynet.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: LitProg@SHSU.EDU You are a shit ================================================================================ Archive-Date: Fri, 29 Sep 1995 12:47:01 CDT Sender: owner-litprog@SHSU.edu From: pcherry@idir.net (Dr. Paul Cherry) Reply-To: LitProg@SHSU.edu, pcherry@IDIR.NET Subject: Looking for software development group Date: Fri, 29 Sep 95 10:52:53 GMT Message-ID: <44h8nk$8vo@sequoia.idir.net> Keywords: LANs, WANs,Routers, operating systems, Bridges, networks, data communications To: LitProg@SHSU.EDU Looking for a software development group who has experience with software for routers and bridges. If you are interested in taking on a contract for router development please contact me by email at pcherry@science.edu or by telephone at(816)229-5300 (US) ================================================================================ Archive-Date: Fri, 29 Sep 1995 12:47:02 CDT Sender: owner-litprog@SHSU.edu From: pcherry@science.edu (Dr. Paul Cherry) Reply-To: LitProg@SHSU.edu, pcherry@SCIENCE.EDU Subject: Looking for software development group Date: Fri, 29 Sep 95 11:19:25 GMT Message-ID: <44ha9c$8vo@sequoia.idir.net> Keywords: LANs, WANs, Networks, Bridges, Routers, Computer, Programming, Programmers, Software engineers, Software developers, operating systems, To: LitProg@SHSU.EDU Looking for a software development group interested in taking on a contract for router development. Experience in developing software for routers and bridges needed. Interested parties can contact me at pcherry@science.edu or by phone at (816)229-5300 (US). ================================================================================ Archive-Date: Fri, 29 Sep 1995 17:58:07 CDT Sender: owner-litprog@SHSU.edu From: carlos@titan.colorado.edu (Carlos A. Felippa) Reply-To: LitProg@SHSU.edu, carlos@TITAN.COLORADO.EDU Subject: Program prettyprinting macros Date: 29 Sep 1995 22:42:25 GMT Message-ID: <44hsoh$i8@lace.Colorado.EDU> Keywords: inline source code prettyprinting To: tex-news@SHSU.EDU I am curious as to whether "prettyprinting" macros for TeX-inline listing of C++ and Fortran90 program source have been developed. More specifically, at some point in a TeX document I would like to say \prettylistingCpp { programfilename codesection} \prettylistingFortran { programfilename codesection} where the codesection is delimited by keywords in programfilename. The program section listing then replaces the invokation. At the present I use simple verbatim-listing macros. By "prettyprinting" I mean Weave-like quality. But implementation through Weave-as-filter has three serious problems: 1. It would require process spawn and synchronization, which I dont think TeX can do. 2. Weave carries a lot of extra baggage when the only objective is prettyprinting standard source code, rather than a Web source. (In fact I dont know if Weave can process a file that does not have any Web commands) 3. Weave is not generally available with commercial implementations of TeX, such as TeXtures (which is the one I use most). Question: is a facility of this type, or some approximation to it, available in the archives? Carlos Felippa Professor of Aerospace Engrg Sci ================================================================================ Archive-Date: Fri, 29 Sep 1995 18:38:43 CDT Sender: owner-litprog@SHSU.edu Date: Fri, 29 Sep 1995 23:23:23 +0000 (GMT) From: "Stephen Boyan (510) 926-3291/fax 926-3604" Reply-To: LitProg@SHSU.edu, BOYANST@NCAL.KAIPERM.ORG Subject: RE: getting to litprog To: LitProg@shsu.edu > how to write a literate program for the illiterate - ie, for those not using the paradigm, in this case with FORTRAN program maintenance noweb has a feature for doing this. It embeds the literate text as comments for, I believe, the following chunk. The feature is called nountangle. The DOS port I have for noweb, and which I haven't upgraded in over a year, does not contain nountangle, but I was told if I installed a UNIX emulator like the MKS Toolkit I could porbably run the UNIX version. Haven't tried this yet, but hope to do so for COBOL. ================================================================================ Archive-Date: Fri, 29 Sep 1995 23:37:44 CDT Sender: owner-litprog@SHSU.edu From: aa838@cleveland.Freenet.Edu (Martin Kilroy) Reply-To: LitProg@SHSU.edu, aa838@CLEVELAND.FREENET.EDU Subject: Programming parallel port Date: 30 Sep 1995 04:28:47 GMT Message-ID: <44ih20$dt1@usenet.INS.CWRU.Edu> To: LitProg@SHSU.EDU Where can I find out how to directly control the parallel (printer) post on a PC? aa838@cleveland.freenet.edu Marty Kilroy ================================================================================ Archive-Date: Fri, 29 Sep 1995 23:37:53 CDT Sender: owner-litprog@SHSU.edu From: aa838@cleveland.Freenet.Edu (Martin Kilroy) Reply-To: LitProg@SHSU.edu, aa838@CLEVELAND.FREENET.EDU Subject: Parallel port Date: 30 Sep 1995 04:31:50 GMT Message-ID: <44ih7m$du9@usenet.INS.CWRU.Edu> To: LitProg@SHSU.EDU Where can I find out how to control the parallel (printer) port on a PC? aa838@cleveland.freenet.edu Marty Kilroy ================================================================================ Archive-Date: Sat, 30 Sep 1995 13:18:16 CDT Sender: owner-litprog@SHSU.edu Date: Sat, 30 Sep 95 14:17:30 EDT From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@PILOT.NJIN.NET To: LitProg@SHSU.edu, jsisul@cstp.umkc.edu Subject: Re: WYSIWYG editor for .web files on PCs Message-ID: jsisul@cstp.umkc.edu (Jim) asks: > Is an implementation of a WYSIWYG .web file editor available > for MS Windows? The only thing I've seen is a tool that takes > MS Word 2.0 files and converts them to .web files. There is WinWordWEB, but I don't think that's exactly what you're looking for. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Computer Science Department | Ideas infect like viruses. Kean College of New Jersey | Union, NJ 07083 | -- Richard Rhodes | "The Making of the Atomic Bomb" (1986) leew@pilot.njin.net | ------------------------------------------------------------------------ ================================================================================ Archive-Date: Sat, 30 Sep 1995 13:31:27 CDT Sender: owner-litprog@SHSU.edu Date: Sat, 30 Sep 95 14:17:30 EDT From: Lee Wittenberg Reply-To: LitProg@SHSU.edu, leew@PILOT.NJIN.NET To: LitProg@SHSU.edu, jsisul@cstp.umkc.edu Subject: Re: WYSIWYG editor for .web files on PCs Message-ID: jsisul@cstp.umkc.edu (Jim) asks: > Is an implementation of a WYSIWYG .web file editor available > for MS Windows? The only thing I've seen is a tool that takes > MS Word 2.0 files and converts them to .web files. There is WinWordWEB, but I don't think that's exactly what you're looking for. -- Lee ------------------------------------------------------------------------ Lee Wittenberg | Computer Science Department | Ideas infect like viruses. Kean College of New Jersey | Union, NJ 07083 | -- Richard Rhodes | "The Making of the Atomic Bomb" (1986) leew@pilot.njin.net | ------------------------------------------------------------------------