Archive-Date: Mon, 22 Feb 1993 21:18:12 CST
Date: Mon, 22 Feb 93 22:15:33 -0500
From: figuei@lutece.rutgers.edu (Francisco Figueirido)
Message-ID: <9302230315.AA07415@lutece.rutgers.edu>
To: LitProg@SHSU.edu
CC: LitProg@SHSU.edu
Subject: (commented) source code and user documentation in FWEB
Reply-To: LitProg@SHSU.edu

David Kastrup <dak@pool.informatik.rwth-aachen.de> writes:

> >> I guess the whole case of putting user documentation into WEBs
> >> more or less evades me.
> >..
> >> user documentation tends to change slower than the program, esp.
> >> when betatest options are introduced.
> >	I think you just answered your own question.  User
> >documentation *does* tend to be behind the program; the point is that
> >is should not, since users what to know what the current version of
> >the program does, not the version of six months ago that has been
> >documented (probably incorrectly anyway).
> >
> >^.-.^ Mark Purtill, purtill@ccr-p.ida.org || purtill%idacrd@uunet.uu.net
> >((")) \@_: IDA/CCR-P, Thanet Road, Princeton NJ  08540;  (609) 924-4600.
> >Alternate email: purtill%idacrd@princeton.edu UUCP: uunet!idacrd!purtill
> >
> >
>  And will cramming them into the same file help? Perhaps you think
> about your user documentation during the extra processing time needed
> to skip the user doc, which has an entirely different structure than
> the WEB.
>
> Perhaps we should try thinking about a way of including the programmer's
> photograph in the WEB as well, so that it stays current. This single-file-
> and-see-how-everything-is-suddenly-magically-up-to-date-myth is
> very nice, but...

I don't agree that the user documentation has *an entirely different
structure* than the WEB. Here we have the example of a rather large program
(not written as a WEB!) whose documentation consists mostly of a description
of ``tasks'' and ``subtasks'' that could be very well integrated with the
WEB (if it existed!). Another example is a program I wrote (in FWEB) whose
kernel is a rather simple interpreter and most of the baggage is taken by
primitive functions. I was thinking about writing a user manual for this
program, and the idea of having a description of the usage of each primitive
very close to the place where the primitive is defined seems to me a good
idea. Moreover, this way it would be easier and less error prone to add (or
delete) primitives while keeping the documentation in synch.

================================================================================
Archive-Date: Mon, 22 Feb 1993 22:17:17 CST
Date: Tue, 23 Feb 93 15:14:57 +1100
From: brown_s@maths.su.oz.au (Stephen Brown)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302230414.AA01879@c629.maths.su.oz.au>
To: LitProg@SHSU.edu
Subject: Including FWEB output into a LaTeX document?

Two recent posts have touched on the subject of including FWEB output
into a LaTeX document;

Bart Childs writes
 > There was also a query about including the output of WEBs in TeX
 > documents.  The FWEB manuals have some examples of doing this
 > with some short demos.  A nice extension would be a set of
 > macros for demonstrating literate programs and doing this
 > in two column mode such that the examples would not run
 > pages and pages.

and Lew Perin writes
 > It sounds as if CWEB/LaTeX will be a wait, so the original poster
 > might well want to use FWEB with LaTeX.  I wouldn't want to leave the
 > impression that the combination of the two is as easy to use as either
 > alone, but it can be done.  I just submitted a Master's thesis of
 > about 130 pp. using the FWEB/LaTeX combination, with the added
 > complication of Gnuplot graphs; it was accepted, if anyone cares!

I am currently writing a thesis and would like to include excerpts
from the woven output of one of my programs written using FWEB.
The thesis is written using LaTeX.  The macros used in the FWEB manual
for including woven output into a TeX document don't seem to be
compatible with LaTeX.

Before I attempt to (re)invent the wheel, does anyone know if there
are any macro packages or files demonstrating how to include woven
output into a LaTeX document that are publically availiable?
Any help would be much appreciated.

Steve Brown
School of Mathematics and Statistics
University of Sydney

================================================================================
Archive-Date: Tue, 23 Feb 1993 03:19:38 CST
Date: Tue, 23 Feb 93 08:58:16 GMT
From: "Glyn Normington" <NORM@WINVMJ.VNET.IBM.COM>
To: litprog@shsu.edu
Reply-To: LitProg@SHSU.edu
Subject: Alternatives to TeX and WEB

Stephen Cross writes:

> Do we realy need to use TeX and WEB?

No. We use IBM's Bookmaster markup language to do literate programming.  We
use tags to define and reference code fragments and have an equivalent tool
to Tangle which we run as a pre-processor to our compiler.  We don't need to
Weave since the formatting logic is built into the definition of the literate
programming tags.

>
> Why not write literate programs in a wordprocessor or some kind of WYSIWYG
> desktop publishing tool and extract the code from there.
> It seems to me that this approach would be far more programmer friendly.
> Such a system could make use of hypertext links to requirements, analysis,
> designs, and other source documents.
>

Although Bookmaster is not WYSIWYG, we can use a syntax-directed editor to
edit Bookmaster source in a readable form.

> Does any such system aready exist?  The reason why I ask is because I am
> thinking of writing such a tool as a final year project.  Any suggestions?

Our system exists but is internal to IBM.  However, if you define unambiguous
ways of delimiting and referencing code fragments, it is fairly simple to
write a Tangle-like program to produce compilable code.  I suggest you follow
the usual approach and make this program self-generating which will probably
require you to write a basic prototype to get you off the ground.  Our
prototype was a 230 line REXX program (REXX is an interpreted language a bit
like PL/1).

Hope this is helpful.

Glyn Normington

CICS Products
IBM UK Laboratories Ltd
Hursley Park
Winchester
England
================================================================================
Archive-Date: Tue, 23 Feb 1993 04:03:13 CST
Date: Tue, 23 Feb 93 11:03:58 MDT
From: Zdenek Wagner <WAGNER%CSEARN.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu
Subject: Re: CWEB with LaTeX: Possible?
To: Literate Progaramming list <LitProg@SHSU.edu>

To incorporate CWEB into LaTeX you have to do some changes. I received
change files for cweave from Hans Hermann Bode and then I extended
ccwebmac.tex to work with LaTeX (however, it still works with the original
CWEB). I will communicate with Silvio Levy so that it will be included in
the following versions. I can send it to you tomorrow (I have it at home)
but it is not tested thoroughly.

Regards

                                                ,
,~~~/        /`               /     /|      /~~~
   /        /           |_/  /__/  ' |     /
  /     /~~/ /~~/ /~~/ /~~/ /\       | /| / /~~/ /~~/ /~~/ /~~/ /~~~
 /   , /  / /~~~ /  / /~~~ /  \      |/ |/ /  /_/  / /  / /~~~ /
 ~~~~  ~~~  ~~~ '  '  ~~~ '    `           ~~~  ~~/ '  '  ~~~
                              Zdenek Wagner______/
================================================================================
Archive-Date: Tue, 23 Feb 1993 06:00:35 CST
Date: Tue, 23 Feb 1993 11:04:45 +0100
From: g07m@alf.zfn.uni-bremen.de (Lothar Meyer-Lerbs)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302231004.AA49237@alf.zfn.uni-bremen.de>
To: litprog@shsu.edu
Subject: weave+tangle for Oberon-2 ??



Has anyone created a beast like that? Or is FWEB going to do
that too (real soon now) ?

Thanks Lothar
================================================================================
Archive-Date: Tue, 23 Feb 1993 07:09:38 CST
Date: Tue, 23 Feb 1993 06:29:13 EST
From: "Edward F. Keith" <ed@efkport.kew.com>
Reply-To: LitProg@SHSU.edu
Message-ID: <2b8a0a90.efkport@efkport.kew.com>
To: "Literate Programming List" <LitProg@SHSU.edu>
Subject: Re: Literate Programming without WEB & TeX

On Mon, 22 Feb 93 14:32:28 GMT, S.C.Cross@bnr.co.UK wrote:
>
> Do we realy need to use TeX and WEB?
>
> Why not write literate programs in a wordprocessor or some kind of WYSIWYG
> desktop publishing tool and extract the code from there.  It seems to me
> that this approach would be far more programmer friendly.
>
> Does any such system aready exist?  The reason why I ask is because I am
> thinking of writting such a tool as a final year project.  Any suggestions?
>

I think it's a great idea. I've been considering writing a suite of
Winword macros with this aim mysself.

	-Ed K.
--
Ed Keith
Telephone: 1(703)370-5217      U.S. Snail: 4535 Taney Ave. #201
Internet : ed@efkport.kew.com              Alexandria, VA 22304

I am I, Don Quixote, The Lord of La Mancha . . .
================================================================================
Archive-Date: Tue, 23 Feb 1993 08:51:27 CST
Message-ID: <9302231453.AA16860@desire.grenoble.hp.com>
To: LitProg@SHSU.edu
Subject: Re: (commented) source code and user documentation in FWEB
Date: Tue, 23 Feb 93 15:53:32 +0100
From: Dominique Dumont / GND <domi@desire.grenoble.hp.com>
Reply-To: LitProg@SHSU.edu



> >> I guess the whole case of putting user documentation into WEBs
> >> more or less evades me.
> >..
> >> user documentation tends to change slower than the program, esp.
> >> when betatest options are introduced.
> >	I think you just answered your own question.  User
> >documentation *does* tend to be behind the program; the point is that
> >is should not, since users what to know what the current version of
> >the program does, not the version of six months ago that has been
> >documented (probably incorrectly anyway).
> >
> >^.-.^ Mark Purtill, purtill@ccr-p.ida.org || purtill%idacrd@uunet.uu.net
> >((")) \@_: IDA/CCR-P, Thanet Road, Princeton NJ  08540;  (609) 924-4600.
> >Alternate email: purtill%idacrd@princeton.edu UUCP: uunet!idacrd!purtill
> >
> >
>
> And will cramming them into the same file help? Perhaps you think
> about your user documentation during the extra processing time needed
> to skip the user doc, which has an entirely different structure than
> the WEB.
>
> Perhaps we should try thinking about a way of including the programmer's
> photograph in the WEB as well, so that it stays current. This single-file-

How do you manage to make the photograph age along with the actual programmer ? ;-)

> and-see-how-everything-is-suddenly-magically-up-to-date-myth is
> very nice, but...
>

More seriously :

Indeed the user documentation structure is different from the structure of the
WEB file.

What I'd do in this case is create a user doc skeleton with a
consistent structure and import implementation or function details from the woven
file. This way all details are updated (they are the most prone to a change
during the debug phase of a code) and the structure of the user doc is
independent of the WEB file. The only drawback is that if your program changes
much you'll have to redesign the structure of your user doc (but I do hope that
it doesn't happen too often :-) ).

The second problem is that weave must produce 2 outputs :
- the internal doc for the programmer
- a lot of files which are to be imported in the user doc (I don't know if any WEB
  system can do that now). The information contained in these files may or may not
  be also included in the internal doc.

Hope this helps


-----------------------------------------------------------------------------
                Name:          Dominique Dumont
    ^^^^^^      Email:         Dominique_Dumont@grenoble.hp.com
   / O  O \     HP Desk:       Dominique DUMONT / HP6300/UM
  ( \____/ )    Address :      HEWLETT PACKARD, 38053 Grenoble Cedex 09 FRANCE
   \______/     Tel,Telnet:    (33) 76 62 57 24 - 7 779 5724
                Telex,Fax:     980 124 - (33) 76 62 53 20
-----------------------------------------------------------------------------
================================================================================
Archive-Date: Tue, 23 Feb 1993 09:17:21 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX
To: LitProg@shsu.edu
Date: Tue, 23 Feb 93 15:16:08 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9302231516.aa02250@salmon.maths.tcd.ie>

> > Why not write literate programs in a wordprocessor or some kind of WYSIWYG
> > desktop publishing tool and extract the code from there.  It seems to me
> > that this approach would be far more programmer friendly.
>
> I think it's a great idea. I've been considering writing a suite of
> Winword macros with this aim mysself.

Isn't this more or less what TANGLE is?
I suppose you could add an in-built editor,
but is it really worth it?

You want WEAVE to output ASCII instead of TeX?
Surely that can't be too difficult.
Just cut out all the TeX commands it produces.
(Whether that is an advance or not is another matter ...)

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Tue, 23 Feb 1993 10:19:40 CST
Date: Mon, 22 Feb 93 22:59:07 -0500
From: norman@bellcore.com (Norman Ramsey)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302230359.AA18615@wind.bellcore.com>
To: LitProg@SHSU.edu
Subject: Re:  Portable C/F/WEB

look into david hanson's and robert sedgewick's loom tool.
it is not a true literate=programming tool (in the thimbleby sense)
but it does enable a semblance of literate programming using
standard source files and it will work with fortran.  see the
article in the (july?) 1987 cacm.

Norman
================================================================================
Archive-Date: Tue, 23 Feb 1993 11:09:33 CST
Date: Tue, 23 Feb 93 10:34:33 EST
From: idacrd!purtill@uunet.UU.NET (Mark Purtill)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302231534.AA05293@>
To: uunet!SHSU.edu!LitProg@uunet.UU.NET
Subject: Re: (commented) source code and user documentation in FWEB

David Kastrup <dak@pool.informatik.rwth-aachen.de> writes:
>>> I guess the whole case of putting user documentation into WEBs
>>> more or less evades me.
>>..
>>> user documentation tends to change slower than the program, esp.
>>> when betatest options are introduced.
Me:
>>	I think you just answered your own question.  User
>>documentation *does* tend to be behind the program; the point is that
>>is should not, since users what to know what the current version of
>>the program does, not the version of six months ago that has been
>>documented (probably incorrectly anyway).
David:
>And will cramming them into the same file help? Perhaps you think
>about your user documentation during the extra processing time needed
>to skip the user doc, which has an entirely different structure than
>the WEB.
	The time needed to skip the user docs is tiny compared with
compile (either of code or TeX) times.  Of course, nothing can *force*
the programmer to update the docs, but it's a lot more likely that the
-frobnatz flag will be documented if the documentation can go write
there, next to the code that does what the -frobnatz flag.  Of course,
some programs this will be more doable than others.  (Perhaps I
should make it clear that I have in mind a reference manual as the
"user docs", not a tutorial or such like.)
	And of course the reference manual will have a different
structure that the usual WEB output.  The WEB output has a whole
different structure than the program fed to the compiler: that's the
whole point of WEB.  The question was, how can another document, the
reference manual, with another structure, be included in a sensible
way.

.^ Mark Purtill, purtill@ccr-p.ida.org || purtill%idacrd@uunet.uu.net
((")) \@_: IDA/CCR-P, Thanet Road, Princeton NJ  08540;  (609) 924-4600.
Alternate email: purtill%idacrd@princeton.edu UUCP: uunet!idacrd!purtill
================================================================================
Archive-Date: Tue, 23 Feb 1993 11:45:48 CST
Date: Tue, 23 Feb 93 08:18:13 -0500
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302231318.AA13207@stnfor.ae.ge.com>
To: LitProg@shsu.edu
Subject: Re:  Literate Programming without WEB & TeX

Stephen Cross writes ``Do we really need to use TeX and WEB?'' I beleive
the people who talk about using wordprocessors for program development
have not used any of the litprog tools. One of the biggest reasons for
using the tools is not because they produce good  looking code with
documentation, but because they allow the programmer to use the tool
as a program design language (PDL), and either top-down or bottom-up
design the program without being restrained by the target language
compilers. The same comment goes to NOWEB people, since that tool
does not expand macros and tangle.
Osman.
================================================================================
Archive-Date: Tue, 23 Feb 1993 12:43:25 CST
Date: Tue, 23 Feb 93 07:59:32 -0500
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302231259.AA13124@stnfor.ae.ge.com>
To: LitProg@shsu.edu
Subject: Re:  Portable C/F/WEB

I used FWEB a little, but I think you might want to use FUNNELWEB. This
WEB is language independent, and the tangled code looks good compared to
the code produced from FWEB. Wowen code does not look as nice as FWEB's.
This is due to the language independence of FUNNELWEB. The program does
not need any extra style or tex files (FWEB does), so distribution is
easier, the manual is a lot smaller than FWEB's. Smaller number of
constructs need to be learned with Funnelweb. I just got mine built, think
it is a good litprog tool.
Osman Buyukisik
GE aircraft engines
================================================================================
Archive-Date: Tue, 23 Feb 1993 14:18:48 CST
Date: Tue, 23 Feb 93 15:16:50 -0500
From: norman@bellcore.com (Norman Ramsey)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302232016.AA14667@wind.bellcore.com>
To: LitProg@SHSU.edu
Subject: Re:  Literate Programming without WEB & TeX

> The same comment goes to NOWEB people, since that tool
> does not expand macros and tangle.

Be careful.  cnoweb does not tangle, but it uses cpp to expand macros
(as did cweb the last time i looked).  noweb tangles but does not
expand macros.  it says here that noweb doesn't have to expand macros
because it works smoothly with m4 and cpp.

Norman
================================================================================
Archive-Date: Tue, 23 Feb 1993 14:20:26 CST
Date: Tue, 23 Feb 93 14:16:36 CST
From: preston@cs.rice.edu (Preston Briggs)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302232016.AA01955@dawn.cs.rice.edu>
To: LitProg@shsu.edu
Subject: Re:  Literate Programming without WEB & TeX

People who do work on unix don't usually have a wordprocessor handy.
Usually, we have a generic text editor, a make facility, a C compiler,
and (hopefully!) tex.

It's certainly easier to use (or even write) a tangle and weave
than it is to write a wysiwyg tool; though I think a nice tool
would be a joy to use.

Preston Briggs
================================================================================
Archive-Date: Tue, 23 Feb 1993 14:56:49 CST
Date: Tue, 23 Feb 93 21:55:31 +0100
From: marcus@x4u.desy.de (Marcus Speh)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302232055.AA02483@x4u.desy.de>
To: LitProg@SHSU.edu
Subject: Re:  Literate Programming without WEB & TeX
References: <9302232016.AA01955@dawn.cs.rice.edu>

|> It's certainly easier to use (or even write) a tangle and weave
|> than it is to write a wysiwyg tool; though I think a nice tool
|> would be a joy to use.

What the heck is WYSIWIG? --

  --Marcus Speh
  --<marcus@x4u.desy.de>

[Just a poor physicist]




================================================================================
Archive-Date: Tue, 23 Feb 1993 23:58:10 CST
Date: Wed, 24 Feb 1993 00:56:15 -0500
From: Joan Boorstein <jboor@ra.cs.umb.edu>
Reply-To: LitProg@SHSU.edu
Message-ID: <199302240556.AA11039@ra.cs.umb.edu>
To: LitProg@SHSU.edu
Subject: Re:  Literate Programming without WEB & TeX

Marcus asks:
> What the heck is WYSIWIG? --

WYSIWIG -- I assume this should be WYSIWYG -- is an acronym (as if you
needed one more) standing for 'What you See Is What You Get'. It was used
(if I recall correctly) to refer to a screen editor/word-processor whose
behavior allows a text's screen 'appearance' (this is not a good word
choice but I can't think of a better one at the moment) to be the same
(or nearly so) as its paper one.

Joan Boorstein (jboor@cs.umb.edu)
================================================================================
Archive-Date: Wed, 24 Feb 1993 03:13:52 CST
Subject: Re:  Literate Programming without WEB & TeX
From: Paul Prescod <papresco@undergrad.math.uwaterloo.ca>
Reply-To: LitProg@SHSU.edu
To: LitProg@SHSU.edu
Date: Wed, 24 Feb 1993 04:12:41 -0500
Message-ID: <93Feb24.041255est.239013-3@descartes.uwaterloo.ca>

> What the heck is WYSIWIG? --

What you see is what you get...like a graphical word processor.   TeX
would be more appropriately described as WYWIWYG, What you WANT is what
you get, but it would fail the WYSIWYG test because the formatting
codes look nothing like the final output.
================================================================================
Archive-Date: Wed, 24 Feb 1993 06:46:55 CST
Date: 24 Feb 1993 13:43 +0000 (GMT)
From: "Eric W. van Ammers, LUW, tel: (+31)8370-83356" <AMMERS@RCL.WAU.NL>
Reply-To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX
To: LitProg@SHSU.edu
Message-ID: <01GV3OJAFZVK8WXU9G@RCL.WAU.NL>

It is very well possible to program literately without being tied to a
particular textprocessing environement and/or programming language.
We have been doing exectly this for a long time using the VAMP tool which
recently has been replaced by the more up-to-date CLiP (Code from Literate
Program).
More about CLiP in a separate posting.

Eric W. van Ammers (ammers@rcl.wau.nl)
================================================================================
Archive-Date: Wed, 24 Feb 1993 07:05:14 CST
Date: 24 Feb 1993 13:57 +0000 (GMT)
From: "Eric W. van Ammers, LUW, tel: (+31)8370-83356" <AMMERS@RCL.WAU.NL>
Reply-To: LitProg@SHSU.edu
Subject: c-no-web and Adaweb
To: LITPROG@shsu.edu
Message-ID: <01GV3P05VRGG8WXU9G@RCL.WAU.NL>

Who can help me on references describing the c-no-web and the AdaWEB
system?

Eric W. van Ammers
============================================================================
Eric W. van Ammers
Department of Computer Science
Wageningen Agricultural University
Dreijenplein 2				E-mail:	ammers@rcl.wau.nl
6703 HB  Wageningen			voice:	+31 (0)8370 83356/84154
The Netherlands				fax:	+31 (0)8370 84731
============================================================================
================================================================================
Archive-Date: Wed, 24 Feb 1993 07:40:50 CST
From: ajcd@dcs.ed.ac.uk
Reply-To: LitProg@SHSU.edu
Date: Wed, 24 Feb 93 13:37:53 GMT
Message-ID: <8207.9302241337@fivla.dcs.ed.ac.uk>
To: LitProg@SHSU.edu
Subject: c-no-web and Adaweb

>From: "Eric W. van Ammers, LUW, tel: (+31)8370-83356" <AMMERS@RCL.WAU.nl>
>
>Who can help me on references describing the c-no-web and the AdaWEB
>system?

@InProceedings{pappas:reuse,
    author	 = "T. L. Pappas",
    title	 = "Literate Programming for Reusability: A Queue Package
                    Example",
    booktitle	 = "Proceedings of the Eighth Annual Conference on Ada
                    Technology",
    year	 = 1990,
    pages	 = "500--514",
    organization = "ANCOST, Inc. (Sponsor)",
    address	 = "Atlanta, Georgia",
    month	 = mar,
    review	 = "\sf This paper begins with a set of guidelines for writing
                    and documenting reusable Ada software. {\tt AdaWeb}, a
                    literate programming system combining Ada and \TeX\ is
                    described. A sample {\tt AdaWeb} package, {\em Bounded
                    Generic Queue Package}, is provided. Features of {\tt
                    AdaWeb} are explained as they are used in the literate
                    program."
}

================================================================================
Archive-Date: Wed, 24 Feb 1993 08:34:46 CST
Date: Wed, 24 Feb 1993 15:18:09 +0100
From: " (Bernhard Lang)" <Lang@tu-harburg.dbp.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9302241418.AA19146@ti1ibm.ti1.tu-harburg.de>
To: LitProg@SHSU.edu
CC: Lang@tu-harburg.dbp.de
Subject: Spiderweb on IBM RS6000 -- how it runs



Dear Members of the LitProg mailing list,

  some days ago I did mail a request for a running Spiderweb on IBM
  RS6000 Workstations.  In the following you find a changed version of
  the 'unbucket' procedure in weave.web that overcomes the hanging.

  Today I have another question: Can anybody tell me how I can subscribe
  to the LitProg mailing list?

Thanks Bernhard.

--------- begin of web code ---------

@ Procedure |unbucket| goes through the buckets and adds nonempty lists
to the stack, using the collating sequence specified in the |collate| array.
The parameter to |unbucket| tells the current depth in the buckets.
Any two sequences that agree in their first 255 character positions are
regarded as identical.

@d infinity = 255 /* $\infty$ (approximately) */

@u unbucket(d) /* empties buckets having depth |d| */
eight_bits d;
{
  /* originally the loop did run with |ASCII c|, but it did hang on an
     IBM RS6000 machine.  From preston@cs.rice.edu I got a tip to look
     for a loop with charater index where a signed variable is assumed
     but the compiler default is unsigned.  I found such a loop, added
     the |int| variable |i| and it works.  Thanks to preston!
     All changed or added lines I marked with ***.
     B. Lang, Feb. 3, 1993
  */
  int i;    /* *** |int| Variable added */
  ASCII c;  /* index into |bucket| */
  for (i=100; i>= 0; i--) { /* *** Loop-Variable changed from |c| to |i| */
    c = i;                  /* *** assigment guarantees previous situation */
    if (bucket[collate[c]]) {
      if (sort_ptr>=scrap_info_end) stat_overflow("sorting");
      sort_ptr++;
#ifdef STAT
      if (sort_ptr>max_sort_ptr) max_sort_ptr=sort_ptr;
#endif STAT
      if (c==0) sort_ptr->depth=infinity;
      else sort_ptr->depth=d;
      sort_ptr->head=bucket[collate[c]]; bucket[collate[c]]=NULL;
    }
  }
}

--------- end of web code ---------

---------------------------------------------------------------------------
Dr. Bernhard Lang                        TU Hamburg Harburg
                                         Technische Informatik I
                                         Harburger Schlossstrasse 20
                                         2100 Hamburg 90
                                         Tel.: +40/7718-2786
                                         FAX:          -2911
                                         email: lang@tu-harburg.dbp.de
---------------------------------------------------------------------------
.


================================================================================
Archive-Date: Wed, 24 Feb 1993 09:01:13 CST
Message-ID: <9302241454.AA28618@beloit.edu>
Date: Wed, 24 Feb 1993 08:59:47 -0600
To: LitProg@SHSU.edu
From: chavey@beloit.edu (Darrah Chavey)
Reply-To: LitProg@SHSU.edu
Subject: Re:  Literate Programming without WEB & TeX

>Marcus asks:
>> What the heck is WYSIWIG? --
>
>WYSIWIG -- I assume this should be WYSIWYG -- is an acronym (as if you
>needed one more) standing for 'What you See Is What You Get'. ...
>
>Joan Boorstein (jboor@cs.umb.edu)

Gee, I always thought it stood for "What You So Intently Wish You'd Gotten"
:-)

--Darrah Chavey                  Department of Math & Computer Science
  chavey@beloit.edu              Beloit College, Beloit, Wisc.

================================================================================
Archive-Date: Wed, 24 Feb 1993 09:23:00 CST
Date: Tue, 23 Feb 1993 23:44:44 EST
From: "Edward F. Keith" <ed@efkport.kew.com>
Reply-To: LitProg@SHSU.edu
Message-ID: <2b8afd44.efkport@efkport.kew.com>
To: "Literate Programming List" <LitProg@SHSU.edu>
Subject: Re: Literate Programming without WEB & TeX

On Tue, 23 Feb 93 15:16:08 GMT, "Timothy Murphy" <tim@maths.tcd.IE> wrote:
> > > Why not write literate programs in a wordprocessor or some kind of WYSIWYG
> > > desktop publishing tool and extract the code from there.  It seems to me
> > > that this approach would be far more programmer friendly.
> >
> > I think it's a great idea. I've been considering writing a suite of
> > Winword macros with this aim mysself.
>
> Isn't this more or less what TANGLE is?
> I suppose you could add an in-built editor,
> but is it really worth it?
>
> You want WEAVE to output ASCII instead of TeX?
> Surely that can't be too difficult.
> Just cut out all the TeX commands it produces.
> (Whether that is an advance or not is another matter ...)

Who said any thing about ASCII? Winword (aka Word for windows) is
GUI. You can include mathematical formulas, graphs, you could even
scan in your photo (as someone on this list suggested). I'm not a TeX
expert, but I suspect Word for Windows can do anything it can do,
with less of a learning curve.

	-Ed K.
--
Ed Keith
Telephone: 1(703)370-5217      U.S. Snail: 4535 Taney Ave. #201
Internet : ed@efkport.kew.com              Alexandria, VA 22304

I am I, Don Quixote, The Lord of La Mancha . . .
================================================================================
Archive-Date: Wed, 24 Feb 1993 09:52:16 CST
Date: Wed, 24 Feb 93 10:50:18 EST
From: Les <clowney@gandalf.rutgers.edu>
Reply-To: LitProg@SHSU.edu
To: LitProg@shsu.edu
Subject: Re: CWEB with LaTeX: Possible?
Message-ID: <CMM-RU.1.3.730569018.clowney@gandalf.rutgers.edu>

Hi,
   I made a modified version of fwebmac.sty to use FWEB with  LaTeX,
I'd be interested in seeing your results for CWEB.


				les

================================================================================
Archive-Date: Wed, 24 Feb 1993 09:54:36 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Re: Spiderweb on IBM RS6000 -- how it runs
To: LitProg@shsu.edu
Date: Wed, 24 Feb 93 15:51:55 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9302241551.aa27841@salmon.maths.tcd.ie>

>   some days ago I did mail a request for a running Spiderweb on IBM
>   RS6000 Workstations.  In the following you find a changed version of
>   the 'unbucket' procedure in weave.web that overcomes the hanging.

Isn't Spiderweb itself written in WEB?
In which case should changes not be in the form of .ch files?

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Wed, 24 Feb 1993 10:31:09 CST
Date: Wed, 24 Feb 93 10:27:56 CST
From: bart@cs.tamu.edu (Bart Childs)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302241627.AA23898@neuron.cs.tamu.edu>
To: LitProg@shsu.edu
Subject: Re:  Literate Programming without WEB & TeX

Leslie Lamport once said that it means ``What you see is all you'll
get'' even though the letters don't match.

Bart Childs
================================================================================
Archive-Date: Wed, 24 Feb 1993 10:36:59 CST
Date: 24 Feb 1993 17:33 +0000 (GMT)
From: "Eric W. van Ammers, LUW, tel: (+31)8370-83356" <AMMERS@RCL.WAU.NL>
Reply-To: LitProg@SHSU.edu
Subject: CLiP: a universal literate programming tool
To: LITPROG@shsu.edu
Message-ID: <01GV3WKND5CG8WXU9G@RCL.WAU.NL>

                  CLiP, a universal literate programming tool


                              Eric. W. van Ammers



    Abstract:
        CLiP (Code from Literate Program) is a tool which allows writing
    literate programs in virtually any programming language (Pascal,
    Fortran, C, C++, Assembler languages, etc) and in combination with
    almost any formatter (Runoff, Troff, TeX, LaTeX, etc.) or
    word-processor (Winword, Lotus Manuscript, Ami Pro, Word Perfect,
    Wordstar, etc).
        This posting explains the CLiP philosophy and compares it to the
    WEB approach. CLiP turns out much more general. In spite of this
    generality its disadvantages as compared to the WEB-family are few
    indeed.
        Currently we have two versions of CLiP, for VAX/VMS and for MS-DOS
    platform. Although only limited user documentation is available, this
    is not felt as a big problem since CLiP works fairly intuitively


    Remark: A postscript edition of this text can be anonymously FTP-ed
    from

        ftp_node:     sun01.info.wau.nl (IPnr 137.224.133.1)
        directory:    clip
        file:         clip_ann.ps

1  Introduction

It is clearly impossible to realise literate programming (LP) without a
supporting tool. Historically Knuth was the first to report the very idea of LP
using his WEB-system and most LP practitioners today employ WEB or one of its
derivatives. The original WEB philosophy was to provide a literate programming
tool for a particular programming language (Pascal) in a particular formatting
environment (TeX). Consequently a whole family of *WEB*'s have emerged to
satisfy the needs of individuals who wanted to program literately on different
platforms.
    However, the idea to extract compilable modules from documented refinement
steps (rather then to create modules and documentation separately) has
independently originated elsewhere too. Not surprisingly, the corresponding
LP-tools have been based on different principles and show rather distinct
characteristics. At the Wageningen Agricultural University e.g. we have
developed VAMP (1984) and later CLiP (1992) and these tools show interesting
differences as compared to the WEB-family [1,2,4,5]. Because the introduction
of CLiP made VAMP obsolete, we will focus our attention to the CLiP-system.
    First we explain the design philosophy of CLiP and we briefly sketch the
way CLiP works. Next we describe the major differences between the CLiP-system
and the WEB-family. These differences are mostly due to the difference in
philosophy of both systems. Then we report on the status of the CLiP project
and we conclude by a sketch of our activities in the near future. A more
extensive description of CLiP is in [5].

2  Design philosophy

CLiP (and formerly VAMP) was designed from the idea that "good" programming has
little or nothing to do with programming languages. We consider stepwise
refinement a "good" programming technique. So when we decided to build a tool
that would allow the extraction of modules from documented refinement steps, it
was evident this tool would have to operate independent of the programming
language involved. In addition this approach would be beneficial from the point
of view of maintenance. The latter perspective made us decide to design the
tool also as much as possible independent of formatter or word-processor.
    According to the CLiP approach the extracted modules definitely have a
function and should not be "deliberately unreadable" as Knuth proposes [2].
Since compiler and debugger messages relate to derived modules rather than to
the documentation proper, it should be easy to relate the code lines of the
generated modules to the corresponding documentation lines. For this reason we
want to copy the code lines of the documentation unchanged into the modules.

3  How CLiP works

A literate programming tool (LP-tool) has to extract modules from input files
(called "sourcefiles") that serve as (input for) documentation at the same
time. The first problem for an LP-tool to solve is to separate text segments
(that are meant as informal explanation) from code segments (that contain the
actual code to be extracted). The second problem is to merge the code segments
into output files (called "modules").
    For this purpose we have in a conventional literate programming environment
(like WEB or VAMP) special command lines that are added to the sourcefiles. The
command lines control the extraction of the modules by the module generator but
are ignored by the formatter. This technique does not work if the documentation
is processed by a word-processor, since the command lines would invariably show
up as lines in the documentation, which is highly undesirable.
    CLiP solves the problem by prescribing a special programming STYLE. Its
input files are either obtained directly by an editor or indirectly by an
ASCII-export from a word-processor. CLiP recognizes special comment lines as
indicators to guide the module extraction process. These comments look
'natural' in the context of the code. The syntax CLiP recognizes is
parameterized and can be adjusted to virtually any programming language.

4  CLiP compared to the WEB-family

The differences between the CLiP-system and the WEB-family are partly due to
general design decisions and partly to the difference in philosophy.

4.1  General design differences

*   CLiP works not "monolithic" (like WEB does). It processes up to 64 (the
     number can be adjusted) inputfiles in one run. From this input it produces
     as many modules as are specified by the user. Thus it is possible to
     generate a complete software system in one single CLiP-run.
*   CLiP composes modules from stubs which may be scattered over multiple
     sourcefiles.
*   CLiP allows a global redefinition of stubs. In this way one can
     temporarily put a stub in a given slot and replace it later on. This
     feature makes it possible to define abstraction levels in the description
     of a system. For instance one can introduce a particular record structure
     at a higher level as a simple name with only its most important fields and
     defer the definition of the other fields to a suitable lower level. Such a
     form of data abstraction is known as "partially specified data
     structures".
*   Unlike WEB, CLiP has no macro facilities.

4.2  Programming language independence

CLiP will work seamless with any programming language that allows comment lines
between the tokens of the language. Otherwise its applicability can in
principle be restricted, but we know of no language where this would be a
problem in practice.
    Since CLiP is completely programming language independent, it has no
knowledge of the programming language it is processing. Thus it will not
recognize keywords, identifiers or other tokens.

*   CLiP cannot automatically produce a X-reference list of identifiers the
     way WEB does (in this respect CLiP is definitely less powerful than WEB).
     With CLiP a X-reference list must be produced the same way as an index of
     an ordinary document. This feature is therefore highly dependent of the
     particular formatter or word-processor one applies. But with a modern
     word-processor like WinWord or Ami Pro, powerful tools exist to support
     the construction of an index.
*   CLiP can extract any sort of file from the documentation. So all kind of
     additional files can be documented also, rather than the pure code only.
     One can think of files containing the error message templates of a system,
     batch files, internal tables that are present as a file, etc.
*   The special lines that CLiP recognizes can be adjusted to suit virtually
     any programming language. However, the system operates strictly on a line
     basis.
*   CLiP allows a fine-tuning of the module generation process by means of
     "options". But these are cosmetical and will not be discussed here.
*   Unlike WEB, CLiP has no compiler like knowledge and it does not extend the
     programming language one uses in any way. Nor does it compensate any nasty
     features.

4.3  Formatter and word-processor independence

CLiP simply processes all the lines that are enclosed between a special type of
comment lines it recognizes. Such segment should contain only code. CLiP copies
the lines from the sources into the modules without any formatting (i.e.
"verbatim" or "literal").
    This means that CLiP will cooperate with any formatter that has a command
like "verbatim" or "literal" (all formatters that we know off do have such a
command).
CLiP will process the same files that otherwise would be formatted.
    In a word-processor environment it is required that the word-processor has
an adequate ASCII-export, which eliminates formatting information. CLiP will
analyse the ASCII-files rather than the original word-processor files and
generate the modules from there. Again we do not know of any word-processor
where there could be a problem in this respect.

*   The documentation of refinement steps using CLiP is entirely free and only
     limited by the text processing system one is using. No order is imposed
     for the refinements nor any hierarchy in terms of sections and subsections
     (WEB is fairly restricted here).
*   No restrictions exist, other than the limitation of the particular
     word-processing system one uses, to explain the program that is
     documented. Illustration by means of tables, diagrams, figures or pictures
     are no problem.
*   CLiP generates modules that strongly resemble the code one finds in the
     documentation. This is convenient for the programmer who wants to use them
     for debugging purposes and the like. Although this does not really solve
     the so called "preprocessor problem", it makes it a lot easier to live
     with than in a WEB-environment [3].

5  Project status

Currently CLiP experiences its second version which exists for VAX/VMS (written
in VAX-Pascal) and for MS-DOS (written in Turbo Pascal Vision). Both systems
are of course documented as CLiP literate programs themselves.
    The user documentation of CLiP currently consists of a short description of
how CLiP works and should be used. Although it definitely does not have the
status of a manual, it should allow programmers to get along with the
CLiP-system.
    Currently we only have a limited number of examples and demos which
moreover are fairly trivial. Better ones are on the priority list. Of course we
have real systems build with CLiP (e.g. CLiP itself is a literate program in
CLiP) but they are too complex to qualify as useful examples.

6  Future activities

From the discussion inside the LITPROG group we infer that CLiP, due to its
original design philosophy, may be a valuable addition to the set of literate
programming tools. Our goal is to make CLiP as quickly as possible available to
the LP audience by means of anonymous FTP. We aim at the following time
schedule:
1.  Executable versions of CLiP for VAX/VMS and MS-DOS + provisional operating
     manual + trivial example program will be FTP-able by March 15, 1993.
2.  More extensive example programs in different programming languages will
     follow incrementally in the successive months.
3.  We are looking for an opportunity to have CLiP ported to Unix. Resources
     for a job like this are currently extremely scarce at our university, and
     unfortunately we are unable to set a date yet. External help would be very
     welcome.

7  References

1.  Ammers E.W. van et.al. 1984. "VAMP: A Tool for Programming by Stepwise
     Refinement". Internal report. Department of Computer Science, Wageningen
     Agricultural University.
2.  Knuth D.E., 1984. "Literate Programming". The Computer Journal 27, 2, pg.
     97-111.
3.  Ramsey N., Marceau C. 1991. "Literate Programming on a Team Project".
     Software Practice and Experience 21, 7, pg 677-683.
4.  Ammers E.W. van, Kramer M.R. 1992. "VAMP: A Tool for Literate Programming
     Independent of Programming Language and Formatter". CompEuro '92
     Proceedings, May 4-8 1992, the Hague, pg. 371-376.




                             I N F O R M A T I O N


For any information on the CLiP-system please contact

              Eric W. van Ammers
              Wageningen Agricultural University
              Department of Computer Science
              Dreijenplein 2
              6703 HB  Wageningen
              The Netherlands
              Voice: +31 (0)8370 83356/84154
              Fax:   +31 (0)8370 84731
              E-mail: ammers@rcl.wau.nl
================================================================================
Archive-Date: Wed, 24 Feb 1993 14:56:58 CST
Date: Wed, 24 Feb 93 20:32 GMT
From: Frank Pappas <0004238973@mcimail.com>
Reply-To: LitProg@SHSU.edu
To: LitProg <LitProg@shsu.edu>
Subject: Literate programming and Ada
Message-ID: <72930224203227/0004238973NA1EM@mcimail.com>

Eric W. van Ammers writes
>Who can help me on references describing the c-no-web and the AdaWEB
>system?

This post is somewhat lengthy because in addition to answering part
of Eric's answer, I want to take the opportunity to let this group
know about what I'm doing with Ada and literate programming.

AdaWEB is an early effort to provide an Ada-based WEB written. It was
developed by Y. C. Wu and T. Baker at the University of Florida.
Adatangle differs from other tangle processors in that it produces
formatted source code. Adaweave bunches statements like the original
weave processor and doesn't support include files nor file modules.

I am writing a new Ada-based WEB, called AWEB, that properly formats
the entire Ada language, supports include files, file modules, and
much more. A short overview appears at the end of this posting. I'm
just putting the finishing touches on Aweave, the weave processor,
and hope to have Atangle finished in about two months. AWEB will be
released with the same type of copyright that CWEB has and will be
placed on the appropriate ftp and mail server sites.

I intend to provide two versions of Atangle. One to produce
unformatted Ada source and one to produce formatted Ada source. Wu
and Baker gave me permission to enhance their Adatangle and use a
CWEB-like copyright, so I will use that as starting point for the
formatting tangle, which I will call fangle for now.

A formatting tangle is useful for people who need to provide
formatted Ada source for contractual obligations but who prefer to
write in WEB. For that reason fangle will copy Ada comments to the
source file and not produce section number comments.

I'm interested in hearing what people think should be done with the
TeX part of a section. Should it be copied as inline comments?
(In the example that follows -- indicates an Ada comment. Ada is not
case sensitive but I use uppercase for predefined Ada identifiers.)
Consider the following sections:

     @ Finally, here is the body for the |prompts| package.

     @<Body of |prompts| package@>=
     with TEXT_IO; use TEXT_IO;
     package body prompts is
       @<|display| body@>
       @<|confirmed| body@>
     end prompts;

     @ This procedure is provided to allow the author to annoy users
       by asking for confirmation on even the most trivial operations.
       This is decidedly user-unfriendly.

     @<|confirmed| body@>=
     function confirmed(s : string) return BOOLEAN is
       c: CHARACTER;
     begin
       display(s);
       loop
         GET(c);
         @<Return if the user responded correctly@>
         display(s, bad => TRUE); -- tell user response was invalid
       end loop;
     end confirmed;

     @ As another example of
     user unfriendliness, we make the user respond in upper case.

     @<Return if the user responded correctly@>=
     if c = 'Y' then
        return TRUE;
     elsif c = 'N' then
        return FALSE;
     end if;

should fangle produce:


     -- Finally, here is the body for the |prompts| package.

     with Text_IO; use Text_IO;
     package body prompts is

       ... omitted body of display

       -- This procedure is provided to allow the author to annoy users
       -- by asking for confirmation on even the most trivial operations.
       -- This is decidedly user-unfriendly.

       function confirmed(s : string) return BOOLEAN is
         c: CHARACTER;
       begin
         display(s);
         loop
           get(c);
           -- As another example of
           -- user unfriendliness, we make the user respond in upper case.
           if c = 'Y' then
             return TRUE;
           elsif c = 'Y' then
             return FALSE;
           end if;
           display(s, bad => TRUE); -- tell user response was invalid
         end loop;
       end confirmed;

     end prompts;

Should it only copy Ada comments or should it be a user option? What
about code enclosed within | |, \&{}, @t...@>? What about TeX control
sequences?

 *************** overview of AWEB ***************

    - Formats the language as illustrated in the Ada reference manual;
      in particular:
        *  all the variations of the select statement
        *  choices in variants, case statements, and exception handlers
        *  nested blocks
        *  subprograms with long parameter lists:
             if the following appears in the AWEB file, it formats to
             a single line if it fits:
               procedure name(arg_1: type_1; arg_2: type_2;...arg_n: type_n);
             otherwise, it formats to:
                procedure name
                            (arg_1: type_1;
                             arg_2: type_2;
                             ...
                             arg_n: type_n);

     - Include files as in CWEB, with a flavor of FWEB:
         @i and @I controlled with separate switches; might use @i
         for boilerplate like Mil-Std 2167A, and @I for program
         documentation.
     - Web macros with parameters as in spider
     - Style files and command line arguments
         * ALL COMMAND LINE SWITCHES can be placed in a style file
         * nested and default style files
         * separate switch for size of each main data structures:
           max_bytes, max_texts, max_modules, max_names, max_scraps,
           max_tokens, max_refs, stack_size, input line length,
           output line length;
           for example max_refs can be specified as -mb10k or -mb10240
         * separate switches to control special treatment of assignment
           operation, relational operators, and/or operators, negation,
           and membership operations.
     - Limbo option for placing user limbo text in generated file
     - TeX and LaTeX support selectable from command line switch
          Features that depend on LaTeX output routine may not work;
          I try to do something about this for LaTeX 3.0
     - Special formatting of Ada predefined identifiers:
          identifiers, such as CHARACTER, TEXT_IO, and TRUE, are
          supplied via a text file; user can altered file contents to
          reflect particular compiler\environment.
     - Special formatting of user predefined identifiers:
          like Ada-predefined, but formatted using different macro;
          can be used to highlight identifiers from project lexicon, like
          motor, volt, cell, CPU, etc.
     - Switch to allow automatic xref of single letter identifiers
     - Automatic xref of operator symbols used in infix form
     - Index entry for identifier declaration is underlined; entry
       for body is in italics.
     - Special formatting of based numbers:
          #16#EF9# formatted as $EF9_{16}$
     - Atangle will probably allow command line replacement of web macros
     - Atangle will allow command line selection of which file modules
       should/should not be generated. (Eventually I plan to optionally
       generate only those modules that have changed, but I won't promise
       this for the coming release)
     - custom identifier as in CWEB
     - custom_i identifier:
         similar to custom, but identifier is placed in index, not the
         control sequence, and if the identifier is followed by a
         parenthesized list, the list is treated as the parameter list for
         the custom control sequence:
         * example:
                % place this in limbo
                \def\Inty(#1,#2){\int_{#1}^{#2}f(x)dx}

                -- place the following in a definition section
                @f Inty TeXi

                -- place the following in a code section
                s := Inty(a,b);

           Then Inty, not \Inty, is placed in the index and
                \|s := \Inty(\|a,\|b);
           is generated in the code section.

 *************** end of overview of AWEB ***************

In addition to Aweave and Atangle, all the examples in the Ada
reference manual in have been rewritten in AWEB. I also developed
some torture tests. Once I release AWEB I will add any user reported
problems to the test suite. I am writing all of my commercial
software in AWEB so I intend to make whatever corrections or
enhancements are necessary to keep it production quality. (Also, note
the name of the company.)

I know there some literate programming tools available, but since my
network access is limited to e-mail, ftpmail, and mail servers, I'd
appreciate any explicit pointers to these tools. I will modify these
to support AWEB and add them to the distribution.

When AWEB is ready I will post a short notice to this group. As I
said before, that should be in about two months.

T. L. (Frank) Pappas
AWEB Software Technology
phone:(215) 789-3206
e-mail: fpappas@mcimail.com
================================================================================
Archive-Date: Wed, 24 Feb 1993 16:11:34 CST
Message-ID: <199302242207.AA18426@postoffice.mail.cornell.edu>
Date: Wed, 24 Feb 1993 17:07:57 +0730
To: LitProg@SHSU.edu
From: eds2@cornell.edu (Eric Scharff)
Reply-To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX

On Tue, 23 Feb 23:44, "Edward F. Keith" <ed@efkport.kew.com> wrote:

>Who said any thing about ASCII? Winword (aka Word for windows) is
>GUI. You can include mathematical formulas, graphs, you could even
>scan in your photo (as someone on this list suggested). I'm not a TeX
>expert, but I suspect Word for Windows can do anything it can do,
>with less of a learning curve.

I've never used Microsoft Word for Windows, so I can't comment on its power
as a desktop publisher.  However, from what I know about its style sheets,
if you have a good understanding of the file format, it shouldn't be
difficult to WEAVE WEB output that would use these style options (for code
and such.)  However, are you suggesting a TANGLE that takes a Microsoft
Word for Windows file as input?  That sounds a bit more complex...

-Eric Scharff
 eds2@cornell.edu

================================================================================
Archive-Date: Wed, 24 Feb 1993 16:58:19 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX
To: LitProg@shsu.edu
Date: Wed, 24 Feb 93 22:43:53 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9302242243.aa21136@salmon.maths.tcd.ie>

> Who said any thing about ASCII? Winword (aka Word for windows) is
> GUI. You can include mathematical formulas, graphs, you could even
> scan in your photo (as someone on this list suggested). I'm not a TeX
> expert, but I suspect Word for Windows can do anything it can do,
> with less of a learning curve.

Doubt if you'll sell that one here ...

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Wed, 24 Feb 1993 18:19:51 CST
Date: Wed, 24 Feb 93 18:19:12 -0600
From: plyon@emx.cc.utexas.edu (Paul Lyon)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302250019.AA28215@emx.cc.utexas.edu>
To: LitProg@SHSU.edu
CC: LitProg@SHSU.edu
Subject: Literate Programming without WEB & TeX


> Who said any thing about ASCII? Winword (aka Word for windows) is
> GUI. You can include mathematical formulas, graphs, you could even
> scan in your photo (as someone on this list suggested). I'm not a TeX
> expert, but I suspect Word for Windows can do anything it can do,
> with less of a learning curve.

I agree on the learning time for GUI based word processors, but TeX
has several advantages here that one needs to bear in mind.

First of all, TeX runs on much larger variety of platforms than any
GUI based word processor at present (so far as I know, at any rate),
and this seems unlikely to change any time soon.

Secondly, because TeX is (deliberately) limited to fonts that have TeX
font metrics files, it is able to do a better job of formatting than
word processor sytems that must cope with the vagarities of a thousand
and one printers. TeX is, after all, a *typesetter*, not a word
processor.

Thirdly, though its macro language is not easy to use, it does give
one a certain flexibility in formatting that GUI based word processors
do not often have. Adjustments in layout can be made as precisely as
one likes by altering TeX formatting parameters, repetitive bits can
be reduced to macros, and so on.

Fourthly, TeX is public domain. Not only is one not tied to a
proprietary system, but one can also benefit from the contributions of
others to the publically available pool of TeX (and LaTex, AMS Tex,
etc.) macros and macro packages. One need only obtain a copy of the
TeX-index from niord to see what is available. Provided that something
suitable is out there, one may be able to get around part of the
difficulties of TeX's command language courtesy the time and effort
that someone else has already put in. For example, if one wants
attractive tree diagrams in the woven source, one can use the TreeTeX
package that Anne Brueggemann-Klien and Derick Wood put together.
(Mind you, I have not tried TreeTeX with Cweb or Fweb, so I do not
whether there are any name conflicts in need of resolution, or the
like, that might prevent use of TreeTex as is.)

For me, at least, given that I have already invested the time and
energy to learn TeX (however imperfectly :-), these considerations are
sufficient.

Ciao,

Paul Lyon

================================================================================
Archive-Date: Thu, 25 Feb 1993 04:16:49 CST
From: stephan@stack.urc.tue.nl (Stephan Eggermont)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302251001.AA00940@blade.stack.urc.tue.nl>
Subject: Re: Literate Programming without WEB & TeX
To: LitProg@SHSU.edu
Date: Thu, 25 Feb 1993 11:01:17 +0100 (MET)

> Who said any thing about ASCII? Winword (aka Word for windows) is
> GUI. You can include mathematical formulas, graphs, you could even
> scan in your photo (as someone on this list suggested). I'm not a TeX
> expert, but I suspect Word for Windows can do anything it can do,
> with less of a learning curve.
>
> 	-Ed K.

Apart from the problems noted by others, I see a few others:
- TeX has a lot less bugs, which is very important to those of us with
  deadlines;
- there is no way to automatically change font style for the (pascal) keywords
  in Word (at least the Mac version, does wordbasic help?);
- the interchange format of Word, RTF, is not very well defined (at least in
  the document Microsoft makes available), and is subject to changes.

Extracting code from an RTF document is rather trivial when you define a
code style, just copy the part after the '{\codestyle' till the corresponding
'}' into the code file.

  Stephan Eggermont
  stephan@stack.urc.tue.nl
================================================================================
Archive-Date: Thu, 25 Feb 1993 05:57:40 CST
From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9302251045.AA19086@spice.iti.informatik.th-darmstadt.de>
Subject: Re: Literate programming and Ada
To: LitProg@SHSU.edu
Date: Thu, 25 Feb 1993 11:45:05 +0100 (MEZ)

Frank Pappas wrote:
>
> AdaWEB is an early effort to provide an Ada-based WEB written. It was
> developed by Y. C. Wu and T. Baker at the University of Florida.

Is this system freely distributable?
May you point us to a location where to get it from?

> I am writing a new Ada-based WEB, called AWEB

Hmm, there is already an AWEB, written by U. Schweigert.

I'm posting retrieval info RSN.

--
Joachim
================================================================================
Archive-Date: Thu, 25 Feb 1993 05:58:50 CST
From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9302251041.AA15490@spice.iti.informatik.th-darmstadt.de>
Subject: Re: CLiP: a universal literate programming tool
To: LitProg@SHSU.edu
Date: Thu, 25 Feb 1993 11:41:55 +0100 (MEZ)

Eric. W. van Ammers wrote:
>
> 4.1  General design differences
>
> *   CLiP works not "monolithic" (like WEB does). It processes up to 64 (the
>      number can be adjusted) inputfiles in one run. From this input it produces
>      as many modules as are specified by the user. Thus it is possible to
>      generate a complete software system in one single CLiP-run.

Two questions:

(1) Where is WEB "monolithic"?
	(Please don't answer me that Pascal is monolithic. I ask where
    *WEB* itself is monolithic.)

(2) I get the impression that in the text above the ability to process
    only one file at time is synonym to "monolitic".
    	Is this correct?
        If yes, this would mean that a C++ compiler who can process
    only one C++ source file makes the C++ language monolithic...


Furthermore I have the impression that you compare mostly with the
original WEB (ie, Knuth's Pascal WEB).
    May you please include the capabilities of more modern WEBs (eg,
FWEB, CWEB, noweb, or FunnelWEB) in your comparison as well?
Otherwise I would not consider it objective.
    And if you talk of a ``WEB-environment'': May you also consider
some WEB environments as outlined in the usual bibligraphies on
Literate Programming? There has been dissertations and a lot of
publications in this area...

Oh yes, and I don't understand why pseudo-comments are better than
explicit tags. Both is markup.

Regards,

    Joachim

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Joachim Schrod			Email: schrod@iti.informatik.th-darmstadt.de
Computer Science Department
Technical University of Darmstadt, Germany
================================================================================
Archive-Date: Thu, 25 Feb 1993 08:24:23 CST
Date: Thu, 25 Feb 93 15:21:19 MDT
From: Zdenek Wagner <WAGNER%CSEARN.BITNET@SHSU.edu>
Reply-To: LitProg@SHSU.edu
Subject: address of clowney???
To: Literate Progaramming list <litprog@SHSU.edu>

I apologize myself for bothering you. I tried to answer to a person with
address  which looked as clowney@gandals.rutgers.edu. I made probably a
misprint somewhere so that it returned to me as undelivarable. Unfortunately,
due to small disk space, I have already scratched the original mail which
I received from LitProg. I therefore ask that person for a correct address
so that I can send the mail and files.

                                                ,
,~~~/        /`               /     /|      /~~~
   /        /           |_/  /__/  ' |     /
  /     /~~/ /~~/ /~~/ /~~/ /\       | /| / /~~/ /~~/ /~~/ /~~/ /~~~
 /   , /  / /~~~ /  / /~~~ /  \      |/ |/ /  /_/  / /  / /~~~ /
 ~~~~  ~~~  ~~~ '  '  ~~~ '    `           ~~~  ~~/ '  '  ~~~
                              Zdenek Wagner______/
================================================================================
Archive-Date: Thu, 25 Feb 1993 10:31:48 CST
Date: 25 Feb 1993 10:31:53 -0500 (EST)
From: bbeeton <BNB@MATH.AMS.ORG>
Reply-To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX
To: LitProg@SHSU.edu
Message-ID: <730654313.401372.BNB@MATH.AMS.ORG>

Edward F. Keith, 23 Feb 1992:

   "I'm not a TeX expert, but I suspect Word for Windows can do
    anything it can do, with less of a learning curve."

maybe it's not really relevant to literate programming, but some
of us represent publishers.  there are only a few text processing
systems that produce publishable-quality mathematics, and word
for windows is *not* one of them.  tex is the only one that is
not proprietary, and available at prices that our authors can
afford.
						-- bb
================================================================================
Archive-Date: Thu, 25 Feb 1993 10:35:13 CST
Date: Thu, 25 Feb 1993 18:25:43 +0100
From: " (Bernhard Lang)" <Lang@tu-harburg.dbp.de>
Reply-To: LitProg@SHSU.edu
Message-ID: <9302251625.AA14821@ti1ibm.ti1.tu-harburg.de>
To: LitProg@SHSU.edu
Subject: Re: Timpthy Murphy

>
> >   some days ago I did mail a request for a running Spiderweb on IBM
> >...
>
> Isn't Spiderweb itself written in WEB?
> In which case should changes not be in the form of .ch files?
>
> Timothy Murphy
> ...

What are .ch files ?

Bernhard

----------------------------------------------------------------------
Dr. Bernhard Lang                        TU Hamburg Harburg
					 Technische Informatik I
                                         email: lang@tu-harburg.dbp.de
----------------------------------------------------------------------
================================================================================
Archive-Date: Thu, 25 Feb 1993 11:15:14 CST
From: adb-b@minster.york.ac.uk
Reply-To: LitProg@SHSU.edu
Date: Thu, 25 Feb 93 16:54:14
Message-ID: <swordfish.730660060@minster.york.ac.uk>
To: LitProg@SHSU.edu
Subject: String pools

As part of my final year project I am investigating
literate programming, and in particular, an WEB system
for Ada. This is based very closely on Knuth's orginal
TANGLE and WEAVE.

Examining TANGLE, however, I am confused by the notion
of ``string pools''. Coming from an Ada background I
have not come across such a facility. I am especially
puzzled by the different handling by TANGLE of strings
terminated by '' and "".

Can anyone help?

thanks,
andy

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Andrew D. Brydon   |      Email:    adb-b@minster.york.ac.uk             |
| University of York |-----------------------------------------------------|
| York, ENGLAND.     |    Project:    Literate programming in Ada          |
| YO1 5DD            |     (email:    adb-b-web@minster.york.ac.uk)        |
|--------------------------------------------------------------------------|
|     "There are no bugs in my software - just undocumented features."     |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

================================================================================
Archive-Date: Thu, 25 Feb 1993 12:17:20 CST
Message-ID: <9302251814.AA22529@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Thu, 25 Feb 1993 12:14:47 -0600
To: LitProg@shsu.edu
Subject: Re: weave+tangle for Oberon-2 ??

Lothar Meyer-Lerbs writes:

  > Has anyone created a beast like that? Or is FWEB going to do
  > that too (real soon now) ?
  >
  > Thanks Lothar

Spidery WEB is probably the tool you want to use to create an Oberon-based
WEB system.  The prettyprinting grammar should be relatively easy to write.
The only problem you might have is in using D instead of E in floating
point constants.  Spidery WEB has the character 'E' hard-coded into the
lexical analysis code.  However, you could create a simple change file for
the Oberon version, or don't use constructions like 7.5D27.

		-- Lee
================================================================================
Archive-Date: Thu, 25 Feb 1993 12:18:17 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Re: Timpthy Murphy
To: LitProg@shsu.edu
Date: Thu, 25 Feb 93 18:14:53 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9302251814.aa16406@salmon.maths.tcd.ie>

> What are .ch files ?

In Knuth's WEB system, you run tangle
on x.web and x.ch to get the Pascal file x.pas.

tangle x.web x.ch |-> x.pas

Similarly with CWEB (to get x.c),
and I would presume all kinds of WEB.

(Similarly you run weave to get x.tex

weave x.web x.ch |-> x.tex

giving the documentation for your program.)

So eg there are tex.ch's, mf.ch's, ...
for different machines,
different compilers, etc.
Knuth says in tex.web that it may not be changed
under nameless penalty
"unless your name is Donald Knuth".

The idea in general -- to which I was referring --
is that web files are sacrosanct,
but anybody, no matter how humble,
can roll their own .ch file.

(.ch = change, I assume.)

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Thu, 25 Feb 1993 12:19:11 CST
Date: Thu, 25 Feb 93 09:41:03 MST
From: gilligan@central (Jonathan M. Gilligan)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302251641.AA06915@central.bldrdoc.gov>
To: LitProg@SHSU.edu
Subject: Some thoughts on Word-for-Windows as part of a WEB system

Eric Scharff writes:
   On Tue, 23 Feb 23:44, "Edward F. Keith" <ed@efkport.kew.com> wrote:

   I've never used Microsoft Word for Windows, so I can't comment on its power
   as a desktop publisher.  However, from what I know about its style sheets,
   if you have a good understanding of the file format, it shouldn't be
   difficult to WEAVE WEB output that would use these style options (for code
   and such.)  However, are you suggesting a TANGLE that takes a Microsoft
   Word for Windows file as input?  That sounds a bit more complex...

Actually, WFW has a pretty powerful macro language (which bears a
strong resemblance to BASIC, surprising no one who's followed Bill's
excellent adventure) and it might be possible for an ambitious WFW
programmer to write a weave/tangle pair in WFW BASIC, avoiding the
problems of reading a weird file format, and with the added feature
that a Windows hypertext help-file could be generated at the same time
(a hypertext woven output with hotlinks between different parts of a
module would be a fantastic alternative to reading the unformatted WEB
or printing it out every day or two---I'm contemplating building a
texinfo-like interface to CWEB, but I need to become much more
familiar with WEB programming to be able to make appropriate design
decisions, so this idea is not even at the vapor stage yet). I am not
intimate with WFW, since I like TeX and don't want to spend lots of
time now learning a new system, but the possibilities seem promising
for the more WYSIWYG oriented.

It's possible that this could even be a quasi-real-time incremental
WYSIweave, although I'm not sure how one should handle
cross-references to still-undefined symbols.

The great advantage this would give a programmer is that I often want
to put a figure into my documentation and doing this with TeX and CWEB
is enough of a pain that I avoid doing it. If I could sketch a figure
in a drawing program and cut-and-paste into my WEB, that would be a
real treat.

---Jon
================================================================================
Archive-Date: Thu, 25 Feb 1993 13:12:15 CST
Message-ID: <9302251907.AA26413@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Thu, 25 Feb 1993 13:07:22 -0600
To: LitProg@shsu.edu
Subject: Re: address of clowney???

Zdenek Wagner writes about an email address that looks like
"clowney@gandals.rutgers.edu" that didn't work.  It may be that "gandals"
should be "gandalf", as Tolkien is rather popular as a source for machine
names.

		-- Lee
================================================================================
Archive-Date: Thu, 25 Feb 1993 13:55:04 CST
Message-ID: <9302251922.AA27651@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Thu, 25 Feb 1993 13:22:38 -0600
To: LitProg@shsu.edu
Subject: Re:  Portable C/F/WEB

Philip Rubini writes:

  >What I think I need is a small litprog tool that allows embedded
  >documentation but also keeps the destination code fairly visible so
  >that I can argue that I am using a documented form of, in my case,
  >Fortran, that is readily understandable to someone familiar with
  >Fortran. Obviously all of the features of a Web variant would be
  >usefull, such as contents lists, indexes, variable lists/xrefs etc.

You might want to look at Norman Ramsey's NOWEB (available via anonymous ftp
from princeton.edu in the pub/noweb directory.  It's programming-language
independent, and is compatible with either plain TeX or LaTeX.  It also
includes a tool called NOUNTANGLE, that "transforms a literate program into
a traditional commented program, without loss of information and with only
a modest penalty in readability."\footnote{from Ramsey's article,
"Literate-Programming Tools Need Not Be Complex", included in the NOWEB
distribution.}  NOUNTANGLE is designed so that if the literate programming
"experiment is unsatisfying, it is easy to abandon".\footnote{Ibid.}

NOWEB is mostly a collection of shell and awk scripts, so it should run on
almost any UNIX system.  It can also be converted (painfully) to run under
MS-DOS (if you need a DOS version, don't go through the agony yourself --
I'll be glad to send it to you).

Hope this helps.

		-- Lee
================================================================================
Archive-Date: Thu, 25 Feb 1993 14:45:42 CST
From: cliffc@cs.rice.edu (Cliff Click)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302252042.AA13733@antigone.cs.rice.edu>
Subject: unsubscribe
To: LitProg@shsu.edu
Date: Thu, 25 Feb 93 14:42:37 CST


How do I unsubscribe from this mailing list?

Thanx,
Cliff
================================================================================
Archive-Date: Thu, 25 Feb 1993 17:42:33 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Re: String pools
To: LitProg@shsu.edu
Date: Thu, 25 Feb 93 23:34:09 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9302252334.aa26021@salmon.maths.tcd.ie>

> Examining TANGLE, however, I am confused by the notion
> of ``string pools''. Coming from an Ada background I
> have not come across such a facility. I am especially
> puzzled by the different handling by TANGLE of strings
> terminated by '' and "".

Tangle removes all "This is a string" strings
and replaces them, effectively,
by the number of the string.
These strings are then saved in the file prog.pool,
assuming the program is prog.web .
(By convention 1-character strings "A", etc,
are replaced by their ASCII code,
but are not saved in prog.pool.
So the first string in prog.pool is actually no 128.)

I think one of the aims of this
was to facilitate multilingual programs,
but I'm not sure about that.
Or it may just have been to make the program smaller,
in the old days when a byte was a byte.

Not many web files actually use this facility --
I think only tex.web and mf.web.
The contents of tex.pool or mf.pool
are included in the .fmt and .base files.
That is why initex and inimf
require the appropriate pool files
to be present.

A string 'This is a string'
is just treated as a string in the usual way.


Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Thu, 25 Feb 1993 19:53:39 CST
Date: Thu, 25 Feb 93 20:27:09 -0500
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302260127.AA20213@stnfor.ae.ge.com>
To: LitProg@shsu.edu
Subject: Re: weave+tangle for Oberon-2 ??

Spidery WEB and FunnelWEB are the only two that I know can be used for
most any language.
================================================================================
Archive-Date: Thu, 25 Feb 1993 19:54:56 CST
Date: Thu, 25 Feb 93 20:22:32 -0500
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302260122.AA20210@stnfor.ae.ge.com>
To: LitProg@shsu.edu
Subject: Re: Literate Programming without WEB & TeX

I think a lot of people are just talking about the look of the document.
But how about the code fragments and macro expansions that are done by
the WEB systems? I dont think that can be accomplished easily!
================================================================================
Archive-Date: Fri, 26 Feb 1993 02:46:16 CST
Date: Fri, 26 Feb 93 09:38:11 +0100
From: Reino de Boer <sysrb@cs.few.eur.nl>
Reply-To: LitProg@SHSU.edu
Message-ID: <9302260838.AA12961@cs.few.eur.nl>
To: LitProg@shsu.edu
Subject: Re: String pools
CC: tim@maths.tcd.ie

Timothy Murphy <tim@maths.tcd.ie> wrote

> I think one of the aims of this
> was to facilitate multilingual programs,
> but I'm not sure about that.
> Or it may just have been to make the program smaller,
> in the old days when a byte was a byte.

From page xii of "TeX: The Program":

	This makes it possible to circumvent Pascal's limited
	string-manipulation capabilities.

In the old days of the current version of standard Pascal level 0, it is not
possible to have variable length strings.  Strings are represented as
"packed array of char".  This means that a routine like

	function f(s : string) : boolean;
	begin
		{ check some condition for s, e.g., if it's in a table }
	end;

would need a type declaration like

	type	string = packed array [1..STRINGMAX] of char;

where "STRINGMAX" would be a suitably large constant.  These `strings' would
then be padded with blanks, making it almost mandatory to rewrite our function
as

	function f(s : string; len : integer) : boolean;
	...

I suspect that this is part of what Knuth meant by "limited string-manipulation
capabilities".

Reino
--
Reino R. A. de Boer
CS Dept, Faculty of Economics, Erasmus University Rotterdam
email: sysrb@cs.few.eur.nl
NIS has given `world readable' a somewhat broader meaning (Casper H.S. Dik)
================================================================================
Archive-Date: Fri, 26 Feb 1993 03:13:57 CST
Message-ID: <9302260905.7339@bhars173.bnr.co.uk>
From: B.F.Potter@bnr.co.uk
Reply-To: LitProg@SHSU.edu
Date: Fri, 26 Feb 93 09:05:19 GMT
To: LitProg@SHSU.edu


unsubscribe litprog
================================================================================
Archive-Date: Fri, 26 Feb 1993 04:07:46 CST
From: me028a@xdm001.ccc.cranfield.ac.uk
Reply-To: LitProg@SHSU.edu
Message-ID: <9302260958.AA10513@xdm055>
To: LitProg@shsu.edu
CC: 
Subject: Portable C/F/Web - Summary
Date: Fri, 26 Feb 93 09:58:31 GMT


Recently I posted the following question regarding the portability of
Web programs ....

> I am keen to use a WEB variant but am concerned about the question of
> portability of my web code. I am developing a modest program of approx.
> 20000 lines of Fortran which will continue to be developed in the
> future, hence the desire to document the code. However the actual
> source code will be distributed to a number of different groups (those
> funding the research !) - here is my concern - if I write the code in a
> Web variant then I must distribute not only my code but possibly a much
> larger Web environment. It seems to me that a well written web code
> will not resemble the destination language to any great extent hence
> the second problem - those I distribute the code to must learn the Web
> syntax if they wish to further develop the code, which they probably will.

> What I think I need is a small litprog tool that allows embedded
> documentation but also keeps the destination code fairly visible so
> that I can argue that I am using a documented form of, in my case,
> Fortran, that is readily understandable to someone familiar with
> Fortran. Obviously all of the features of a Web variant would be
> usefull, such as contents lists, indexes, variable lists/xrefs etc.


The suggested possibilities are summarised below :-

1) Use FWEB for its features but suffer its complexities and pursuade those
   who receive my programs to learn FWEB or let them update only the Fortran
   code.

2) Use FunnelWeb - simpler than FWEB, produces readable program code, no pretty
   printing.

3) Use NoWeb - even simpler, no macros etc., produces readable program code.

4) Use Loom. Not a Web variant, extremely simple -suitable for documenting
   existing codes (?).



At present I think I can use both Loom and Noweb, Loom (or a Fortran
version of it) for existing programs and Noweb for new programs.
Personally I found FunnelWeb, although much simpler than FWeb, to still
have a confusing syntax with @'s everywhere (I would prefer readable
words like 'Begin macro' etc.). I do think that pretty printed code
would be nice (pretty !) - do (La)Tex pretty printers exists for C and
Fortran outside of the LitProg environment ?

Any other comments or additions would be most welcome.

Philip Rubini

School of Mechanical Engineering
Cranfield Institute of Technology
Cranfield
Bedfordshire, MK43 0AL
ENGLAND

Tel. +44 234 754649
Fax. +44 234 750728

Email.   p.rubini@uk.ac.cranfield    (UK - JANET)
         p.rubini@cranfield.ac.uk    (Elsewhere in the world)
================================================================================
Archive-Date: Fri, 26 Feb 1993 07:00:53 CST
Date: Fri, 26 Feb 93 13:51:03 +0100
From: coates@spectro.jussieu.fr
Reply-To: LitProg@SHSU.edu
Message-ID: <9302261251.AA01982@lutidine.spectro.jussieu.fr>
To: LitProg@shsu.edu
Subject: Re: Literate Programming without WEB & TeX

> I think a lot of people are just talking about the look of the document.
> But how about the code fragments and macro expansions that are done by
> the WEB systems? I dont think that can be accomplished easily!
>

I suspect that by writing a separate program under Windows, and hot-linking to
the WFW file via DDE, that you could do the macro expansions, etc., if it
seemed infeasible via WordBasic.  The code for this could be taken largely
from current WEB-type code, with the additions necessary for handling DDE.
It should be possible, as with other DDE hot-links, to then have the macros
updated whenever the sources are updated.  At least, in theory this all
should work anyway, but I'm not saying that I've yet done enough Windows
programming to be sure.
						Cheers,
								Tony.
________________________________________________________________________________
A.B.Coates (Tony)
Laboratoire de Spectroscopie Hertzienne de l'ENS
Universite Pierre et Marie Curie
Case 74, 4 place Jussieu		Email:	   coates@spectro.jussieu.fr
F-75252 Paris CEDEX 05			Telephone: +33 1 44 27 44 09
France					Fax:	   +33 1 44 27 38 45

"J'ai mes opinions.  L'universite a ses opinions.  L'intersection de ces deux ensembles est probablement vide."
"I have my opinions.  The university has its opinions.  The intersection of these two sets is probably empty."
________________________________________________________________________________

================================================================================
Archive-Date: Fri, 26 Feb 1993 07:31:05 CST
Date: Fri, 26 Feb 93 08:28:36 -0500
From: ae1181t@stnfor.ae.ge.com (Osman F Buyukisik)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302261328.AA20973@stnfor.ae.ge.com>
To: LitProg@shsu.edu
Subject: Re:  Portable C/F/Web - Summary

I just learned of another litprog tool that claims to be universal:
CLiP from netherlands (sun01.info.wau.nl). But it not ready to be
distributed, will be by march 15. The only problem is that it works
on only VAX VMS and MSDOS !

================================================================================
Archive-Date: Fri, 26 Feb 1993 08:48:28 CST
Date: Fri, 26 Feb 93 14:44 GMT
From: Frank Pappas <0004238973@mcimail.com>
Reply-To: LitProg@SHSU.edu
To: LitProg <LitProg@shsu.edu>
Subject: Ada and literate programming
Message-ID: <60930226144406/0004238973NA3EM@mcimail.com>

The mail I get from LitProg@shsu.edu does not provide the senders
mailing information. It has LitProg for the senders name and
MCI mail's INTERNET address as the sender's address. For that reason
I don't know Joachim's last name, but he writes

>> AdaWEB is an early effort to provide an Ada-based WEB written. It was
>> developed by Y. C. Wu and T. Baker at the University of Florida.

>Is this system freely distributable?
>May you point us to a location where to get it from?

First, let me correct a mistake on my part. Wu and Baker are from
Florida State University, not the University of Florida.

As for distribution, I have a copy but I don't think it would be
proper for me to distribute it. I will check with Baker if he still
wants to distribute it. However, you should be aware that AdaWeave is
written in Pascal and AdaTangle is written in Ada. Both are Sun
dialects.

I didn't mention it in my earlier posting, but my Ada web is written
in portable Ada and should compile and execute on a PC AT clone. I
have 286 and 386 Ada compilers from two different vendors, so I will
make sure it works properly under DOS and hopefully Microsoft
Windows.  I will distribute executables for DOS. By the end of the
year GNU Ada will available for DOS and (I think) UNIX, so you won't
have to go out and buy an Ada compiler.

There is a change in plan about releasing my AWEB. Someone is
seriously considering using it on a significant Ada project. The
project, which I won't mention unless they decide to go ahead with
using AWEB, will be a substantial example of literate programming
that doesn't involve TeX or web. The project will have a great deal
of visibility in the Ada programming community and in the U.S.
Department of Defense, and will be highly visible to the general
programming community as well.

Because I think this project provides an excellent opportunity to
demonstrate the applicability of literate programming, because the
project leader likes literate programming, and because I'm a really
nice guy, I have promised him that I would have the complete weave
and the nonformatting version of tangle ready in about two weeks.
Some of the items I planned for tangle that are not essential, like
command line replacement of macros, will be postponed.

Anyway, when I this release ready I will make it a general release
and place it on the appropriate archives. The formatting version of
tangle and the features I don't put in now, should still be ready in
about two months.

>> I am writing a new Ada-based WEB, called AWEB

>Hmm, there is already an AWEB, written by U. Schweigert.

>I'm posting retrieval info RSN.

Yes, I'm familiar with Schweigert's ``AWEB'' but I have decided to
use the name for several reasons. First, I don't think Schweigert's
version has been supported in years. Second, I have been using the
name for several years for an earlier version of web that I wrote
several years ago, but never released. Third, it happens to be part
of the name of my company, so it shows commitment to the product. In
some circles that is important.

Finally, with my apologies to Schweigert, the version I have access
to has problems. It may be that I have an old version or beta version
of his AWEB, or that someone modified it before placing it on the
archive I retrieved it from.  Anyway, It doesn't support real Ada
since it doesn't support Ada comments. Instead you must use @{, @}
for comments.  It doesn't support the allowable replacement symbols
which are probably useful in Europe. His weave bunches statements
together and could do a better job of formatting. I also ran into
runtime errors on legitimate web programs.

However, Schweigert's weave did provide me with some ideas for my
weave. His weave highlights Ada predefined identifiers, which gave me
the idea to add that to my weave. I used his grammar as a starting
point and then changed it significantly as I improved the formatting.
(I doubt if I'm using more that 10 percent of his original grammar).
There are a few other ideas I borrowed from his weave as well.

Actually, the introduction to my weave credits Schweigert, along with
Wu and Baker, and of course DEK, Silvio Levy, Norman Ramsey, and John
Krommes for influencing my Ada web system. Anyway, unless I hear from
Schweigert that he is actively planning to support his version and
bring it up to the level that I have brought mine, I will continue to
call my version AWEB. For that reason I would appreciate not having
Schweigert's version distributed.

If someone wants to use an Ada-based web immediately, try Norman
Ramsey's outstanding Spider to generate an Ada web. It generates a
weave and tangle for Ada, both of which are written in C. I know the
University of Washington Unix TeX archive has Spider. I don't know if
Norman still has his at princeton.edu.

If I remember correctly, there are some Ada limitations since Spider
is a general purpose web generator. For example, I think there are
some errors in its handling of lexical elements, which shouldn't be
too difficult to fix. Another problem is the grammar. It handles
much of Ada correctly but there are some places where the indentation
isn't handled properly. Let me emphasize that it is not a problem
with Spider, just the grammar, which you are free to modify.

If you want to use Spider's Ada web for now and my AWEB later, just
use lowercase for all of the control codes and don't use the @' or @`
control codes. Following those guidelines programs that weave and
tangle correctly with Spider's Ada web should also do so with my
AWEB, although the formatting will be different.

--Frank Pappas
  e-mail:fpappas@mcimail.com
  phone: (215) 789-3206
================================================================================
Archive-Date: Fri, 26 Feb 1993 09:12:51 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Re:  Portable C/F/Web - Summary
To: LitProg@shsu.edu
Date: Fri, 26 Feb 93 15:07:26 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9302261507.aa00807@salmon.maths.tcd.ie>

> I just learned of another litprog tool that claims to be universal:
> CLiP from netherlands (sun01.info.wau.nl). But it not ready to be
> distributed, will be by march 15. The only problem is that it works
> on only VAX VMS and MSDOS !

A universal program that works only on PC's.
This has to be an oxymoron ...

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Fri, 26 Feb 1993 09:18:19 CST
Date: 26 Feb 93 09:12:00 CST
From: "Thompson, David B." <wqdbt@ttacs1.ttu.edu>
Reply-To: LitProg@SHSU.edu
Subject: Re: weave+tangle for Oberon-2 ??
To: "litprog" <litprog@shsu.edu>


> Spidery WEB and FunnelWEB are the only two that I know can be used for


> most any language.

FWIW, I think that Norman Ramsey's noweb will work too.  (Did someone
already say this??? ;-)

-=d

================================================================================
Archive-Date: Fri, 26 Feb 1993 10:14:42 CST
Date: Fri, 26 Feb 1993 05:44:05 EST
From: "Edward F. Keith" <ed@efkport.kew.com>
Reply-To: LitProg@SHSU.edu
Message-ID: <2b8df47d.efkport@efkport.kew.com>
To: "Literate Programming List" <LitProg@SHSU.edu>
Subject: Re: Literate Programming without WEB & TeX

On Wed, 24 Feb 1993 17:07:57 +0730, "Eric Scharff" <eds2@cornell.EDU> wrote:
>
> I've never used Microsoft Word for Windows, so I can't comment on its power
> as a desktop publisher.  However, from what I know about its style sheets,
> if you have a good understanding of the file format, it shouldn't be
> difficult to WEAVE WEB output that would use these style options (for code
> and such.)  However, are you suggesting a TANGLE that takes a Microsoft
> Word for Windows file as input?  That sounds a bit more complex...
>
That's what I'm suggesting. I'm not sure how to do it.
	-Ed K.

--
Ed Keith
Telephone: 1(703)370-5217      U.S. Snail: 4535 Taney Ave. #201
Internet : ed@efkport.kew.com              Alexandria, VA 22304

I am I, Don Quixote, The Lord of La Mancha . . .
================================================================================
Archive-Date: Fri, 26 Feb 1993 10:16:48 CST
Date: Fri, 26 Feb 1993 05:50:28 EST
From: "Edward F. Keith" <ed@efkport.kew.com>
Reply-To: LitProg@SHSU.edu
Message-ID: <2b8df5fb.efkport@efkport.kew.com>
To: "Literate Programming List" <LitProg@SHSU.edu>
Subject: Re: Literate Programming without WEB & TeX

On Wed, 24 Feb 93 22:43:53 GMT, "Timothy Murphy" <tim@maths.tcd.IE> wrote:
> > Who said any thing about ASCII? Winword (aka Word for windows) is
> > GUI. You can include mathematical formulas, graphs, you could even
> > scan in your photo (as someone on this list suggested). I'm not a TeX
> > expert, but I suspect Word for Windows can do anything it can do,
> > with less of a learning curve.
>
> Doubt if you'll sell that one here ...

I realize that this violates the religious dogma, and that no
rational argument can have any effect. So I will not press it.

"There is no got but DEK, and TeX is his holy word."

	-Ed K.

--
Ed Keith
Telephone: 1(703)370-5217      U.S. Snail: 4535 Taney Ave. #201
Internet : ed@efkport.kew.com              Alexandria, VA 22304

I am I, Don Quixote, The Lord of La Mancha . . .
================================================================================
Archive-Date: Fri, 26 Feb 1993 11:18:34 CST
Message-ID: <9302261715.AA11809@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Fri, 26 Feb 1993 11:15:11 -0600
To: LitProg@shsu.edu
Subject: Re: Literate Programming without WEB & TeX

Osman F Buyukisik writes:

  > I think a lot of people are just talking about the look of the document.
  > But how about the code fragments and macro expansions that are done by
  > the WEB systems? I dont think that can be accomplished easily!

True.  But I suspect that it can be done.  I suspect that a MS Word-based
WEB would provide a TANGLE menu item, which would produce the C, Pascal, or
whatever code (maybe even call the compiler!).  The tangling algorithm
could be ``borrowed'' from any of the extant tangle tools, and if internal
macros are desired, Kernighan & Plauger's "Software Tools" books provide a
lovely little macro preprocessor that could (probably) be translated into
WordBasic.

		-- Lee
================================================================================
Archive-Date: Fri, 26 Feb 1993 11:28:40 CST
Message-ID: <9302261725.AA12607@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Fri, 26 Feb 1993 11:25:27 -0600
To: LitProg@shsu.edu
Subject: Re: Portable C/F/Web - Summary

Philip Rubini asks:

  > I do think that pretty printed code
  > would be nice (pretty !) - do (La)Tex pretty printers exists for C and
  > Fortran outside of the LitProg environment ?

There is a cprog.sty file for typesetting C code.  It's available via
anonymous ftp somewhere (I forget where -- anyone?).  It does a pretty good
job of typesetting C, and is also supposed to work for C++, Pascal, and
Modula-2.

		-- Lee
================================================================================
Archive-Date: Fri, 26 Feb 1993 12:25:58 CST
Message-ID: <9302261645.13746@bhars173.bnr.co.uk>
From: S.C.Cross@bnr.co.uk
Reply-To: LitProg@SHSU.edu
Date: Fri, 26 Feb 93 16:45:54 GMT
To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX


In my previous post to this group I wrote:

>
> Do we realy need to use TeX and WEB?
>
> Why not write literate programs in a wordprocessor or some kind of WYSIWYG
> desktop publishing tool and extract the code from there.  It seems to me that
> this approach would be far more programmer friendly.  Such a system could
> make use of hypertext links to requirements, analysis, designs, and other
> source documents.
>
> Does any such system aready exist?  The reason why I ask is because I am
> thinking of writting such a tool as a final year project.  Any suggestions?
>
> Steve.
>

Well all the followup posts have been very helpful and my current idea for a final year project is to:

(1) Look at extending the method for object oriented literate programming

(2) Look at how analysis and designs can be incorporated into a literate
    document

(3) Write Literate programs direct into a WYSIWYG word processor (ie write the
    woven document, no need to weave it from a source file)

(4) Look at how hypertext links could be used to improve the method

(5) Write a tool to extract (Tangle) the code from the word processor.  This
    could be done from within the word processor using macros, or a command
    line tool which processes a document file.

(6) The tool/method will support C++


I have not decided what operating system or word processor to use yet but it is likely to be one of

-  Unix/Framemaker
-  Windows/Framemaker
-  Windows/Word
-  Windows/Wordperfect
-  Windows/Amipro

It all depends on what I can get access to.  Framemaker or Word seem the most likely.

Your comments are welcome

Steve.

----------------------------------------------
Stephen Cross,  Systems & Software Engineering
BNR Europe Ltd, Harlow, Essex, England
Email: scc@bnr.co.uk
Internal Tel  : 742 2861
External Tel  : +44 (0)279 402861
================================================================================
Archive-Date: Fri, 26 Feb 1993 13:53:57 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX
To: LitProg@shsu.edu
Date: Fri, 26 Feb 93 19:46:39 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9302261946.aa15423@salmon.maths.tcd.ie>

> On Wed, 24 Feb 93 22:43:53 GMT, "Timothy Murphy" <tim@maths.tcd.IE> wrote:
> > > Who said any thing about ASCII? Winword (aka Word for windows) is
> > > GUI. You can include mathematical formulas, graphs, you could even
> > > scan in your photo (as someone on this list suggested). I'm not a TeX
> > > expert, but I suspect Word for Windows can do anything it can do,
> > > with less of a learning curve.
> >
> > Doubt if you'll sell that one here ...
>
> I realize that this violates the religious dogma, and that no
> rational argument can have any effect. So I will not press it.
>
> "There is no got but DEK, and TeX is his holy word."

What I doubt if you will sell is that Word for Windows
will do anything TeX will do.
Especially printing mathematical formulae,
which you explicitly cite.
Do you claim that it does this as well as TeX?
If so, could you point to some published mathematical work
to support your claim?

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Fri, 26 Feb 1993 15:07:46 CST
Date: Fri, 26 Feb 93 22:04:33 +0100
From: dak@POOL.Informatik.RWTH-Aachen.DE
Reply-To: LitProg@SHSU.edu
Message-ID: <9302262104.AA09364@messua>
To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX

>On Wed, 24 Feb 93 22:43:53 GMT, "Timothy Murphy" <tim@maths.tcd.IE> wrote:
>> > Who said any thing about ASCII? Winword (aka Word for windows) is
>> > GUI. You can include mathematical formulas, graphs, you could even
>> > scan in your photo (as someone on this list suggested). I'm not a TeX
>> > expert, but I suspect Word for Windows can do anything it can do,
>> > with less of a learning curve.
>>
>> Doubt if you'll sell that one here ...
>
>I realize that this violates the religious dogma, and that no
>rational argument can have any effect. So I will not press it.
>
>"There is no got but DEK, and TeX is his holy word."

Come on, take a break here. TeX works with ASCII, or even stranger
character sets. TeX is free, and available for almost any platform.
Even if you disregard that Winword must be paid for, and paid for
dearly, you cannot presume that everybody will only work under PCs,
and don't presume that DOS is the only thing (apart from its
succubus Windows) which will ever be of interest on these gadgets.

Besides, different versions of that word processing package have
a difficult time understanding each other. You can rely on TeX
remaining absolutely compatible, not because it is the best thing
possible around, but because it is a reasonable good and versatile
thing, INTENDED to stay fixed and free.

And you get complete source as well for the Literate Tools. That
ensures you that you can do a change of computing platform
painlessly. Winword would fix you on one Platform, and one
system typo, and one OS, and payable as well. While this might
be acceptable to a certain degree in companies, it is certainly
not so in an academic field, if you want to do something of
general interest.
================================================================================
Archive-Date: Fri, 26 Feb 1993 17:41:59 CST
Date: Fri, 26 Feb 93 23:28:38 GMT
Message-ID: <1601@apusapus.demon.co.uk>
From: tfj@apusapus.demon.co.uk (Trevor Jenkins)
Reply-To: LitProg@SHSU.edu
To: LitProg@shsu.edu
Subject: Re: Literate Programming without WEB & TeX

In message <9302261715.AA11809@im4u.cs.utexas.edu> you write:
> Osman F Buyukisik writes:
>
>   > I think a lot of people are just talking about the look of the document.
>   > But how about the code fragments and macro expansions that are done by
>   > the WEB systems? I dont think that can be accomplished easily!
>
> True.  But I suspect that it can be done.  I suspect that a MS Word-based
> WEB would provide a TANGLE menu item, which would produce the C, Pascal, or
> whatever code (maybe even call the compiler!).  The tangling algorithm
> could be ``borrowed'' from any of the extant tangle tools, and if internal
> macros are desired, Kernighan & Plauger's "Software Tools" books provide a
> lovely little macro preprocessor that could (probably) be translated into
> WordBasic.

I have long dreamt of such a tool. Shortly after hearing DEK's London talk
I wrote in answer to a question in my Master's examination that with (the
then emerging) powerful workstations ever programmer should have a WEB
system available.

As a result of my recent real use of Literate Programming (reported last
month) my thoughts have returned to the features that such a tool would
provide. My programming environment of choice (given that I paid for it
with my hard-earned pounds) is MS-Windows the discussion of using WordBasic
is interesting but I think misguided.

As a programmer I need assistance during the writing of the code. I need to
be able to examine another section of the (potentionally incomplete) WEB. I
want to be able to scroll through the code section, the macros and the text
description for any one section of the text. I want to be able to point at
a ``variable'' and have the details of the item shown to be, irrespective
of whether it is a named code section, a macro, a variable or something
that I've forgotten to define/decalre.

I dont think that WordBasic excellent as it might be (and I intend to
invest more of my hard-earned cash upon a copy soon) will actually be up to
performing all tose things.

Regards, Trevor.

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

   "We need bigger and better books", Jimmy Tingle (Damned in the USA)
================================================================================
Archive-Date: Sat, 27 Feb 1993 06:38:47 CST
Date: Sat, 27 Feb 93 07:37:19 EST
From: pcolsen@super.org (Peter C Olsen)
Reply-To: LitProg@SHSU.edu
Message-ID: <9302271237.AA18745@super.super.org>
To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX
References: <9302261645.13746@bhars173.bnr.co.uk>


Let me suggest another approach to Stephen Cross and his project...

I don't think that the objection most people have to WEB, CWEB, FWEB,
and friends is the "back end" *output* of TeX (which looks wonderful
and is a pleasure to the eye), but rather the *front* end (which often
looks like the set of characters you get when your parity is wrong).
I'm a regular TeX user, and I still find all the special WeB
constructs intimindating.

One way around this is to try to fix only that which is "broken" ---
the front end.  I don't think that "full WYSISYG" is the best way to
do that.  I think that most WYSIWYG word processors spend too much
time on their screen presentation and too little on making it easy to
write.  Even then their screen presentations aren't true WYSIWIG
because the paper *never* looks exactly like the screen.  I think that
there's a broad gulf between raw WEB and FrameMaker or Microsoft WORD
*and* that there are some tools that will let you nicely fill it.

One is, for example, Lucid Emacs 19 running under a windowing system.
As I understand it (unfortunately, my installation isn't working very
well yet), you can change the color or font of individual words to
mark different sections of text.  These changes could indicate all the
different attributes of WEB tokens.  Because emacs already contains a
powerful programming language (emacs LISP) built right in, it ought to
be straight-forward to write out the high-lighted file with the
equivalent WEB construct replacing all the colored highlights.  Now
just run weave and tangle on the output (for the "back end").  In
fact, in many windowing systems it ought to be possible to recognize
when a file is "WEB-able" and pop up a window showing the current page
as it would be output using an already existing previewer.

This seems to me both to be a much more feasible project that writing
a new WEB on top of either Framemaker or Microsoft WORD and, as Lucid
Emacs is under the GNU Public License, it seems more in keeping with
the noncommercial tradition of TeX.

Peter Olsen

   Peter Olsen, n2ell, pcolsen@super.super.org  ...!uunet!super!pcolsen
          P.O. Box 410, Simpsonville, MD 21150; 410-997-8584
     "Engineering is the art of applying a professional knowledge of
   mathematics and the physical sciences to improve the quality of life"
================================================================================
Archive-Date: Sat, 27 Feb 1993 18:30:57 CST
Date: Sun, 28 Feb 93 01:29:42 +0100
From: dak@POOL.Informatik.RWTH-Aachen.DE
Reply-To: LitProg@SHSU.edu
Message-ID: <9302280029.AA20355@messua>
To: LitProg@SHSU.edu
Subject: Re: Literate Programming without WEB & TeX

>From: S.C.Cross@bnr.co.uk
>
>In my previous post to this group I wrote:
>
>>
>> Do we realy need to use TeX and WEB?
>>
Some details about an aspired tool deleted.
>
>I have not decided what operating system or word processor to use yet but it is likely to be one of
>
>-  Unix/Framemaker
>-  Windows/Framemaker
>-  Windows/Word
>-  Windows/Wordperfect
>-  Windows/Amipro
>
>It all depends on what I can get access to.  Framemaker or Word seem the most likely.
That is one of the things going to make it very hard for you convincing
anyone here. As you said for yourself, you have to decide what commercial
OS you use, and what commercial Word Processor. So your tool would be
available for only a limited circle of users, and only on an architecture
probably seeming archane in a few years. I have developped serious
programs and libraries under CP/M once. Most in the bin by now.

The TeX/Weave/Tangle approach is VERY future-safe, because it works
on a vast variety of systems, and is freely available. It works, for
example, admiringly well on linux.

Second problem, most of these people on this list already have worked
with TeX. Although starters are difficult at first, the result achievable
are remarkable, and once you have invested the initial learning time,
you can produce amazing results in amazing time.

And when you can use TeX, the rest of the Weave/Tangle/Web design
is a breeze to master.

Honestly, I would rather not want to invest any time needed in
WYSIAYG systems to do the markup of typeset texts myself. I am
glad having TeX to do that for me.


 David Kastrup        dak@messua.informatik.rwth-aachen.de
 Tel: +49-241-72419 Fax: +49-241-79502
 Goethestr. 20, W-5100 Aachen, Germany
================================================================================
Archive-Date: Sat, 27 Feb 1993 23:13:26 CST
Date: Sat, 27 Feb 1993 09:02:48 EST
From: "Edward F. Keith" <ed@efkport.kew.com>
Reply-To: LitProg@SHSU.edu
Message-ID: <2b8f7490.efkport@efkport.kew.com>
To: "Literate Programming List" <LitProg@SHSU.edu>
Subject: Re: Literate Programming without WEB & TeX

On Fri, 26 Feb 93 19:46:39 GMT, "Timothy Murphy" <tim@maths.tcd.IE> wrote:
> What I doubt if you will sell is that Word for Windows
> will do anything TeX will do.
> Especially printing mathematical formulae,
> which you explicitly cite.
> Do you claim that it does this as well as TeX?
> If so, could you point to some published mathematical work
> to support your claim?

I have never used TeX for mathematical formulae. I have used Word for
Windows. It is very easy, and I have never had asny complaints about
the results. However, I have never published anything.

A friend of mine used TeX for her thesis (very math intensive). She
now uses Word for Windows, and says she will never go back.

	-Ed K.

--
Ed Keith
Telephone: 1(703)370-5217      U.S. Snail: 4535 Taney Ave. #201
Internet : ed@efkport.kew.com              Alexandria, VA 22304

I am I, Don Quixote, The Lord of La Mancha . . .
================================================================================
Archive-Date: Sat, 27 Feb 1993 23:13:43 CST
Date: Sat, 27 Feb 1993 09:09:26 EST
From: "Edward F. Keith" <ed@efkport.kew.com>
Reply-To: LitProg@SHSU.edu
Message-ID: <2b8f761d.efkport@efkport.kew.com>
To: "Literate Programming List" <LitProg@SHSU.edu>
Subject: Re: Literate Programming without WEB & TeX

On Fri, 26 Feb 93 16:45:54 GMT, S.C.Cross@bnr.co.UK wrote:
> Well all the followup posts have been very helpful and my current idea for a final year project is to:
>
> (1) Look at extending the method for object oriented literate programming
>
> (2) Look at how analysis and designs can be incorporated into a literate
>     document
>
> (3) Write Literate programs direct into a WYSIWYG word processor (ie write the
>     woven document, no need to weave it from a source file)
>
> (4) Look at how hypertext links could be used to improve the method
>
> (5) Write a tool to extract (Tangle) the code from the word processor.  This
>     could be done from within the word processor using macros, or a command
>     line tool which processes a document file.
>
> (6) The tool/method will support C++
>
>
> I have not decided what operating system or word processor to use yet but it is likely to be one of
>
> -  Unix/Framemaker
> -  Windows/Framemaker
> -  Windows/Word
> -  Windows/Wordperfect
> -  Windows/Amipro
>
> It all depends on what I can get access to.  Framemaker or Word seem the most likely.
>
> Your comments are welcome

Sounds like an excellent, and very useful project to me. Keep us
posted.

	-Ed K.

--
Ed Keith
Telephone: 1(703)370-5217      U.S. Snail: 4535 Taney Ave. #201
Internet : ed@efkport.kew.com              Alexandria, VA 22304

I am I, Don Quixote, The Lord of La Mancha . . .
================================================================================
Archive-Date: Sun, 28 Feb 1993 05:01:32 CST
From: adb-b@minster.york.ac.uk
Reply-To: LitProg@SHSU.edu
Date: Sun, 28 Feb 93 10:48:24
Message-ID: <swordfish.730897247@minster.york.ac.uk>
To: LitProg@SHSU.edu
Subject: Pascal file handling

Thanks to all who answered my last question. Alas, I have
another:

I am interested in the reaction of the Pascal run-time
system to running tangle or weave with no change files.
>From my basic understanding of Pascal, and trials on our
local compiler, it appears that tangle and weave should
halt with an I/O message: file not found.

Is this the case? I appreciate that most Pascal compilers are
different [ :) ]; our local compiler claims compatability
with the BSI 6192:1982 definition of the language. Of all
the features most likely to change, in my experience, I/O
is the most likely.

My question: how does the run-time system treat the absence
of a change file? (A supplementary question: how does it treat
absence of a web file?!)

Thanks again.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Andrew D. Brydon   |      Email:    adb-b@minster.york.ac.uk             |
| University of York |-----------------------------------------------------|
| York, ENGLAND.     |    Project:    Literate programming in Ada          |
| YO1 5DD            |     (email:    adb-b-web@minster.york.ac.uk)        |
|--------------------------------------------------------------------------|
|     "There are no bugs in my software - just undocumented features."     |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

================================================================================
Archive-Date: Sun, 28 Feb 1993 13:22:26 CST
From: Timothy Murphy <tim@maths.tcd.ie>
Reply-To: LitProg@SHSU.edu
Subject: Re: Pascal file handling
To: LitProg@shsu.edu
Date: Sun, 28 Feb 93 19:21:07 GMT
Sender: tim@maths.tcd.ie
Message-ID: <9302281921.aa25890@salmon.maths.tcd.ie>

> My question: how does the run-time system treat the absence
> of a change file? (A supplementary question: how does it treat
> absence of a web file?!)

I don't think this question has an answer,
as all the versions of tangle I have ever seen
have been compiled with tangle.ch's,
which generally start by dealing in their own special way
with exactly the question you raise.
For example, the standard UnixTeX tangle
takes the change file to be /dev/null if no change file is given.
(If you give no web file either,
it just advises you of the usage "tangle web-file [change-file]",
and exits.)

(I imitated this on the Mac with Think C
by inventing a file called "/dev/null",
which is a perfectly good file name on the Mac.
But this was universally regarded as Very Bad Taste.)

But if tangle.web were itself tangled without a tangle.ch,
and then compiled (in Pascal),
it would actually require a web-file and a change-file
to be provided, as the heading says

program TANGLE(web_file,change_file,Pascal_file,pool);

Timothy Murphy

e-mail: tim@maths.tcd.ie
tel: +353-1-2842366 (home/office)
     +353-1-7021507 (university)
fax: +353-1-2842295
s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland

================================================================================
Archive-Date: Sun, 28 Feb 1993 18:46:30 CST
Message-ID: <9303010044.AA27731@im4u.cs.utexas.edu>
From: leew@cs.utexas.edu (Lee Wittenberg)
Reply-To: LitProg@SHSU.edu
Date: Sun, 28 Feb 1993 18:44:36 -0600
To: LitProg@shsu.edu
Subject: WEB for Scheme

 Anyone out there know of a WEB system for Scheme or LISP?  I've just
 started fooling around with Scheme, and naturally, prefer to work with a
 literate programming system.  If there already is a SchemeWEB, it will save
 me the trouble of hacking out a Spidery grammar.

 Thanks in advance.

 		-- Lee


