% /u/sy/beebe/tex/bib/litprog.bib, Wed Mar 11 07:57:40 1992
% Edit by Nelson H. F. Beebe <beebe at eros.math.utah.edu>
%
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.54",
%%%     date            = "27 January 1995",
%%%     time            = "13:47:33 MST",
%%%     filename        = "litprog.bib",
%%%     address         = "Center for Scientific Computing
%%%                        Department of Mathematics
%%%                        University of Utah
%%%                        Salt Lake City, UT 84112
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     checksum        = "20687 2194 10066 92225",
%%%     email           = "beebe at eros.math.utah.edu (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography, literate programming",
%%%     supported       = "yes",
%%%     docstring       = "This BibTeX file records books and articles
%%%                        about literate programming.  The ISBN fields will
%%%                        be printed if the is-alpha.bst or is-plain.bst
%%%                        style files are used.
%%%
%%%                        CONVENTIONS
%%%
%%%                        Books are tagged by the first author's last
%%%                        name, a colon, up to 3 upper-case letters
%%%                        taken from the first three upper-case words
%%%                        in the title (ignoring words like A, And,
%%%                        The), followed by the last two digits of
%%%                        the publication year.  If there is a volume
%%%                        entry, it is appended to the tag, prefixed
%%%                        by a hyphen.
%%%
%%%                        For Dutch authors, a van part is included
%%%                        in the author tag.  For names with accented
%%%                        letters, accents are dropped in the author
%%%                        tag.
%%%
%%%                        This scheme is systematic enough that it
%%%                        can be programmed: most of the
%%%                        Addison-Wesley book entries were created
%%%                        with an awk program from a dump of the AW
%%%                        database supplied by Mona Zeftel.  Older
%%%                        entries in this bibliography were modified
%%%                        on 28-Nov-1990 to conform to this tagging
%%%                        scheme.
%%%
%%%                        The choice of a limit of 3 letters was
%%%                        determined from experiments on the
%%%                        Addison-Wesley collection.  Long tags are
%%%                        undesirable because they are a nuisance to
%%%                        type, and also interfere with the tagged
%%%                        bibliography output produced using the
%%%                        LaTeX showtags style option.
%%%
%%%                        Journal article tags look like
%%%                        author:abbrev-volume-number-page, where the
%%%                        author part is the last name of the first
%%%                        author: for example, VanWyk:CACM-33-3-361.
%%%
%%%                        Technical report tags look like
%%%                        author:abbrev-number: for example,
%%%                        Billawala:STAN-CS-89-1256.
%%%
%%%                        The Como InProceedings entries look like
%%%                        author:TEX85-page: for example,
%%%                        Agostini:TEX85-117.  Other InProceedings
%%%                        entries should follow a similar style.
%%%
%%%                        Entries are stored ordered by the BibTeX
%%%                        tag name, independent of the entry type
%%%                        (the GNU Emacs function sort-bibtex-entries
%%%                        can be used to ensure correct ordering).
%%%                        However, entries that are cross-referenced
%%%                        by others are stored at the end of the
%%%                        file, since that order is required by
%%%                        BibTeX.
%%%
%%%                        With few exceptions, value fields for
%%%                        acknowledgement, address, journal, and
%%%                        publisher keywords should use macros
%%%                        defined in the string preamble below.  This
%%%                        helps to ensure consistency, and reduces
%%%                        the entry sizes.  Address entries must
%%%                        always include the country.
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility."
%%%  }
%%% ====================================================================

%%%
%%% Thanks go to:
%%% Mark B. Motl <motl at cs.tamu.edu> for additions and corrections
%%% [05-Jul-1990]
%%%

@Preamble{"\input bibnames.sty "
 # "\hyphenation{Ker-n-i-ghan Port-able  Post-Script Pren-tice Richt-er
    Spring-er} "
}

%=======================================================================
% Acknowledgement abbreviations:

@String{ack-bc = "S. Bart Childs,
                   e-mail: \path|bart@cs.tamu.edu|"}
@String{ack-bnb = "Barbara N. Beeton
                   e-mail: \path|bnb@math.ams.com|"}
@String{ack-dl = "Dave Love,
                   e-mail: \path|d.love@daresbury.ac.uk|"}
@String{ack-eg = "Eitan M. Gurari,
                  e-mail: \path|gurari@cis.ohio-state.edu|"}
@String{ack-ma = "M. Afzal
                 e-mail: \path|M.Afzal@greenwich.ac.uk|"}
@String{ack-nhfb = "Nelson H. F. Beebe,
                    Center for Scientific Computing,
                    Department of Mathematics,
                    University of Utah,
                    Salt Lake City, UT 84112, USA,
                    Tel: +1 801 581 5254,
                    FAX: +1 801 581 4148,
                    e-mail: \path|beebe@math.utah.edu|"}
@String{ack-nr  = "Norman Ramsey,
                   e-mail: \path|norman@bellcore.com|"}
@String{ack-pb  = "Preston Briggs,
                   e-mail: \path|preston@cs.rice.edu|"}
@String{ack-pt  = "Piet Tutelaers
                   e-mail: \path|rcpt@urc.tue.nl|"}

%=======================================================================
% Journal abbreviations:

@String{j-ACM-ADALET    = "ACM Ada Letters"}
@String{j-ACM-COMPREV   = "ACM Computing Reviews"}
@String{j-CACM = "Communications of the Association for Computing Machinery"}
@String{j-CJ            = "The Computer Journal"}
@String{j-COMPLANG      = "Computer Language"}
@String{j-COMPUTER      = "Computer"}
@String{j-IEEE-SOFTWARE = "IEEE Software"}
@String{j-LNCS          = "Lecture Notes in Computer Science"}
@String{j-OOP           = "Journal of Object Oriented Programming"}
@String{j-RS-MAGAZINE   = "RS\slash Magazine"}
@String{j-SIGPLAN       = "ACM SIGPLAN Notices"}
@String{j-SEJ           = "Software Engineering Journal"}
@String{j-SP            = "Journal of Structured Programming"}
@String{j-SPE           = "Soft{\-}ware\emdash Prac{\-}tice and Experience"}
@String{j-TEXHAX        = "{\TeX{}{\-}hax}"}
@String{j-TUGboat       = "{\TUB{}}"}

%=======================================================================
% Publishers and their addresses:

@String{pub-ACM         = "ACM Press"}
@String{pub-ACM:adr     = "New York, NY 10036, USA"}
@String{pub-AW          = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
@String{pub-AW:adr      = "Reading, MA, USA"}
@String{pub-BENCUM      = "Benjamin/Cummings Pub. Co."}
@String{pub-BENCUM:adr  = "Redwood City, CA, USA"}
@String{pub-IEEE-CSP    = "IEEE CS Press"}
@String{pub-IEEE-CSP:adr = "Los Alamitos, CA, USA"}
@String{pub-MH          = "McGraw-Hill"}
@String{pub-MH:adr      = "New York, NY, USA"}
@String{pub-PH          = "Pren{\-}tice-Hall"}
@String{pub-PH:adr      = "Englewood Cliffs, NJ 07632, USA"}
@String{pub-SUCSLI      = "Stanford University Center for the Study of
                           Language and Information"}
@String{pub-SUCSLI:adr  = "Stanford, CA, USA"}
@String{pub-SV          = "Spring{\-}er-Ver{\-}lag"}
@String{pub-SV:adr      = "Berlin, Germany~/ Heidelberg,
                          Germany~/ London, UK~/ etc."}
@String{pub-TEXPLORATOR = "The {\TeX}plorators Corporation"}
@String{pub-TEXPLORATOR:adr = "3701 W. Alabama, Suite 450-273,
                               Houston, TX 77027, USA"}
@String{pub-VNR         = "Van Nostrand Reinhold"}
@String{pub-VNR:adr     = "New York, NY, USA"}

%=======================================================================
% Bibliography entries.

@Article{Akiguchi:AUC92,
  author =       "C. Akiguchi",
  title =        "Application of {UIMS} to {CASE} environment",
  journal =      "Joho Shori",
  volume =       "33",
  number =       "11",
  pages =        "1314--1323",
  month =        nov,
  year =         "1992",
  ISSN =         "0447-8053",
  abstract =     "Discusses graphical user interfaces; interaction
                 techniques; PERT; work breakdown structure; the X
                 Window System; the Model-View-Controller; the
                 EditorWidget; Adobe PostScript; XSPD*C; SPECDESSIN/SA
                 and SPECDESSIN/FLOW; IX; and literate programming. (12
                 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Software Eng. Dev. Labs., NEC Corp., Tokyo, Japan",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support); C6180 (User
                 interfaces)",
  CODEN =        "JOSHA",
  keywords =     "User interface management systems; CASE environment;
                 Graphical user interfaces; Interaction techniques;
                 PERT; Work breakdown structure; X Window System;
                 Model-View-Controller; EditorWidget; PostScript;
                 XSPD*C; SPECDESSIN/SA; SPECDESSIN/FLOW; IX; Literate
                 programming",
  language =     "Japanese",
  thesaurus =    "Graphical user interfaces; Programming environments;
                 Software tools; User interface management systems",
}

@Article{Appelt:TB7-1-20,
  author =       "W. Appelt and K. Horn",
  title =        "{{Multiple changefiles in \WEB{}}}",
  journal =      j-TUGboat,
  year =         "1986",
  volume =       "7",
  number =       "1",
  pages =        "20",
  month =        Mar,
}

@Article{Avenarius:SIGPLAN-25-1-52,
  author =       "Adrian Avenarius and Siegfried Oppermann",
  title =        "{\FWEB}: {A} Literate Programming System for {Fortran
                 8X}",
  journal =      j-SIGPLAN,
  year =         "1990",
  volume =       "25",
  number =       "1",
  pages =        "52--58",
  month =        jan,
  ISSN =         "0362-1340",
  abstract =     "The new FWEB system applies the concept of literate
                 programming to the FORTRAN8X language. Its design and
                 implementation provided an opportunity to field-test
                 WEB's applicability and provoked some reflections on
                 its underlying concepts. (12 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Tech. Hochschule, Darmstadt, West Germany",
  bibdate =      "Wed Aug 31 23:26:29 1994",
  classification = "C6115 (Programming support); C6140D (High level
                 languages)",
  CODEN =        "SINOD",
  keywords =     "Programming tools; Structural documentation; FWEB;
                 Literate programming system; FORTRAN8X",
  thesaurus =    "FORTRAN; Software tools",
}

@InProceedings{Baecker:CHI86-51,
  author =       "Ronald Baecker and Aaron Marcus",
  title =        "Design Principles for the Enhanced Presentation of
                 Computer Program Source Text",
  booktitle =    "Proceedings {CHI}'86 (Human Factors in Computing
                 Systems)",
  year =         "1986",
  pages =        "51--58",
  organization = "Association for Computing Machinery",
  address =      "New York, {NY}, {USA}",
  month =        apr,
}

@Book{Baecker:HFT90,
  author =       "Ronald Baecker and Aaron Marcus",
  title =        "Human Factors and Typography for More Readable
                 Programs",
  publisher =    pub-AW,
  year =         "1990",
  ISBN =         "0-201-10745-7",
  address =      pub-AW:adr,
}

@InProceedings{Ballard:EDT89,
  author =       "F. Ballard",
  booktitle =    "Conference proceedings / SIGDOC 89, November 8--10, 1989,
                 Pittsburgh Hilton and Towers, Pittsburgh, Pennsylvania",
  title =        "`Executable' documentation: testing the documentation
                 documenting the testing",
  pages_whole =  "iv + 146",
  pages =        "143--146",
  month =        nov,
  year =         "1989",
  publisher =    "ACM",
  address =      "New York, NY, USA",
  ISBN =         "0-89791-337-X",
  LCCN =         "QA 76.9 D6 S54 1989",
  abstract =     "Too often documentation represents wishful thinking.
                 It is what the designer hopes the program will do. It
                 is what the programmer thinks the program does. It is
                 what the customer wants the program to do. Often little
                 effort is made to check the documentation against what
                 the program actually does. As with many tasks performed
                 in the program development environment, even less
                 effort is made to automate checking the correspondence
                 of expected, documented, results to actual results. The
                 paper describes a modest effort to allow the computer
                 testing of expected results against actual output in a
                 `literate' style. (3 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Synectics Inc., Chicago, IL, USA",
  bibdate =      "Sat Sep 17 11:05:18 1994",
  classification = "C6110 (Systems analysis and programming)",
  conf_date =    "8--10 Nov. 1989",
  conf_location = "Pittsburgh, PA, USA",
  conf_sponsor = "ACM",
  keywords =     "Documentation; Testing",
  language =     "English",
  pub_country =  "USA",
  thesaurus =    "Program testing; System documentation",
}

@Article{Becker:TB7-2-109,
  author =       "Helmut Becker",
  title =        "{{\WEB{} system extensions}}",
  journal =      j-TUGboat,
  year =         "1986",
  volume =       "7",
  number =       "2",
  pages =        "109",
  month =        Jun,
}

@Article{Ben-Ari:j-SPE-16-10-915,
  author =       "Mordechai Ben-Ari",
  title =        "{FOREET}: {A} Tool for Design and Documentation of
                 {Fortran} Programs",
  journal =      j-SPE,
  volume =       "16",
  number =       "10",
  year =         "1986",
  pages =        "915--924",
  acknowledgement = ack-eg,
}

@Article{Bentley:CACM-29-5-364,
  author =       "Jon Bentley",
  title =        "Programming Pearls\emdash{}Literate Programming",
  journal =      j-CACM,
  year =         "1986",
  volume =       "29",
  number =       "5",
  pages =        "364--369",
  month =        may,
}

@Article{Bentley:CACM-29-6-471,
  author =       "Jon Bentley and Donald E. Knuth and Doug McIlroy",
  title =        "Programming Pearls\emdash{}{A} Literate Program",
  journal =      j-CACM,
  year =         "1986",
  volume =       "29",
  number =       "6",
  pages =        "471--483",
  month =        jun,
}

@Article{Bentley:CACM-30-4-284,
  author =       "Jon Bentley and David Gries",
  title =        "Programming Pearls\emdash{}Abstract data types",
  journal =      j-CACM,
  year =         "1987",
  volume =       "30",
  number =       "4",
  pages =        "284--290",
  month =        apr,
}

@Article{Bishop:SP-13-1-23,
  author =       "Judy M. Bishop and Kevin M. Gregson",
  title =        "Literate Programming and the {LIPED} Environment",
  journal =      j-SP,
  year =         "1992",
  volume =       "13",
  number =       "1",
  pages =        "23--34",
  acknowledgement = ack-bnb # " and " # ack-pt  # " and " # ack-nhfb,
  ISSN =         "0935-1183",
  abstract =     "The philosophy of literate programming was introduced
                 by Donald Knuth while developing the documentation
                 system {\TeX}. His WEB system consists of two
                 processes, WEAVE and TANGLE, that read a specially
                 constructed literate program source file and produce as
                 output a file containing compilable code and a file for
                 input into {\TeX}. WEB uses a batch approach that
                 seems to hinder the development of new literate
                 programs, and it has not been widely used outside its
                 home base. The literate programming environment LIPED,
                 described in this paper, aims to make the development
                 of literature programs easier by being interactive
                 (rather than batch as is WEB) and by providing instant
                 access to a table of contents, a cross-reference table,
                 and the extracted code. Language independence is
                 achieved, and special facilities are made available to
                 cater for modern programming paradigms. The system runs
                 on minimal hardware and interfaces easily to existing
                 compilers and text processors. This paper describes the
                 background and progress of literate programming,
                 compares the available literate programming systems,
                 and provides an overview of LIPED. (18 Refs.)",
  affiliation =  "Dept. of Comput. Sci., Univ. of Witwatersrand,
                 Johannesburg, South Africa",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support); C6110 (Systems analysis
                 and programming)",
  CODEN =        "STPGE",
  keywords =     "LIPED environment; Literate programming; WEB system;
                 WEAVE; TANGLE; Compilable code; Programming
                 environment; Cross-reference table; Programming
                 paradigms",
  language =     "English",
  pub_country =  "USA",
  thesaurus =    "Programming environments; Structured programming",
}

@TechReport{Briggs:NUWEB-93,
  author =       "Preston Briggs",
  title =        "{Nuweb}, {A} Simple Literate Programming Tool",
  institution =  "Rice University",
  year =         "1993",
  type =         "\path|cs.rice.edu:/public/preston|",
  address =      "Houston, TX",
  acknowledgement = ack-bc,
  bibdate =      "Mon Oct 4 17:27:43 1993",
}

@PhdThesis{Brown:lit-prog-thesis,
  author =       "Marcus E. Brown",
  title =        "An Interactive Environment for Literate Programming",
  school =       "Texas A\&M University",
  address =      "College Station, TX",
  year =         "1988",
  month =        aug,
}

@InProceedings{Brown:PCE90-548,
  author =       "Marcus E. Brown and David Cordes",
  title =        "A Literate Programming Design Language",
  booktitle =    "COMPEURO'90: Proceedings of the 1990 IEEE International
                 Conference on Computer Systems and Software Engineering, May
                 8--10, 1990, Tel-Aviv, Israel",
  year =         "1990",
  pages_whole =  "xiii + 574",
  pages =        "548--549",
  publisher =    pub-IEEE-CSP,
  address =      pub-IEEE-CSP:adr,
  ISBN =         "0-8186-2041-2",
  LCCN =         "QA76.9.S88 C66 1990",
  abstract =     "A literate programming paradigm that provides an
                 environment suitable for documenting and organizing the
                 low-level design of a system is presented. It is shown
                 that a literate program design language (PDL)
                 strengthens the bridge design and implementation
                 activities since the documentation generated during the
                 design phase can be used directly as a shell for
                 program construction. In this type of language, module
                 names and program constructs appear as labeled modules
                 which can be directly expanded into their equivalent
                 code. (4 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Huntsville, AL,
                 USA",
  bibdate =      "Sat Sep 17 11:05:29 1994",
  classification = "C6115 (Programming support); C6140D (High level
                 languages)",
  conf_date =    "8--10 May 1990",
  conf_location = "Tel-Aviv, Israel",
  conf_sponsor = "IEEE; Inf. Processing Assoc. Israel",
  keywords =     "Literate programming design language; Low-level
                 design; Documentation; Program construction; Module
                 names; Program constructs",
  thesaurus =    "High level languages; Software tools; Specification
                 languages",
}

@Article{BrinchHansen:j-SPE-24-6-579,
  author =       "Per {Brinch Hansen}",
  title =        "Multiple-length Division Revisited: a Tour of the
                 Minefield",
  journal =      j-SPE,
  year =         "1994",
  volume =       "24",
  number =       "6",
  pages =        "579--601",
  month =        jun,
  note =         "This paper derives an algorithm for division of long
                 integers, and implements it as a literate program,
                 although without identifier cross-references.",
  bibdate =      "Wed Aug 24 15:30:29 1994",
  acknowledgement = ack-nhfb,
}

@Article{Brown:SP-11-1-11,
  author =       "Marcus E. Brown and Bart Childs",
  title =        "An Interactive Environment for Literate Programming",
  journal =      j-SP,
  year =         "1990",
  volume =       "11",
  number =       "1",
  pages =        "11--25",
  ISSN =         "0935-1183",
  abstract =     "Interest in the field of Literate Programming is
                 increasing, but it is not yet clear whether the WEB
                 system for Literate Programming will receive widespread
                 acceptance. This is due in part to the increased
                 complexity of programming using WEB. This research
                 concerns the development of an environment aimed at
                 reducing the complexity of programming in WEB by
                 creating a user interface allowing the programmer to
                 interact more intuitively with the WEB program. (23
                 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Tuscaloosa, AL,
                 USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support); C6180 (User
                 interfaces)",
  CODEN =        "STPGE",
  keywords =     "Interactive environment; Literate programming; WEB;
                 Environment; User interface; WEB program",
  thesaurus =    "Programming environments; User interfaces",
}

@Article{Brown:SP-11-2-85,
  author =       "Marcus E. Brown and David Cordes",
  title =        "Literate Programming Applied to Conventional Software
                 Design",
  journal =      j-SP,
  year =         "1990",
  volume =       "11",
  number =       "2",
  pages =        "85--98",
  ISSN =         "0935-1183",
  abstract =     "A software maintenance costs continue to increase,
                 greater emphasis is being placed on techniques for
                 improving the readability and understandability of
                 programs. The ability of the program author to present
                 the underlying logic and design of the program plays a
                 large role in reader comprehension of the program. The
                 paper looks at the use of literate programming to help
                 capture the system design within the generated code.
                 (20 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Tuscaloosa, AL,
                 USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110B (Software engineering techniques)",
  CODEN =        "STPGE",
  keywords =     "WEB; Structured programming; Software design; Software
                 maintenance; Readability; Understandability; Program
                 author; Underlying logic; Literate programming; System
                 design",
  thesaurus =    "Software engineering; Structured programming; System
                 documentation",
}

@InProceedings{Brown:HLP90,
  author =       "M. Brown and B. Czejdo",
  booktitle =    "{Advances in computing and information--ICCI '90 /
                 International Conference on Computing and
                 Information, Niagara Falls, Canada, May 23--26, 1990,
                 Proceedings}",
  title =        "A hypertext for literate programming",
  pages_whole =  "vii + 529",
  pages =        "250--259",
  month =        may,
  year =         "1990",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  ISBN =         "3-540-53504-7",
  LCCN =         "QA75.5 .I578 1990",
  abstract =     "The authors describe a hypertext presentation for the
                 WEB system for literate programming. The requirements
                 for an environment for modern literate programming are
                 analyzed and the WEB hypertext system is proposed.
                 Different types of windows for displaying text, indices
                 and graphical representations are discussed. All
                 semantic links and operators using them are analyzed.
                 The proposed architecture of the WEB hypertext system
                 includes a general purpose relational database
                 management system. Mapping between hypertext queries
                 and relational database queries is provided. The system
                 allows the user to define new hypertext operations by
                 providing the corresponding SQL queries for the
                 underlying relational database. The described system
                 can be easily extended by many other types of queries
                 and applications. (11 Refs.)",
  acknowledgement = ack-eg # " and " # ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Tuscaloosa, AL,
                 USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support); C6180 (User
                 interfaces); C6160D (Relational DBMS)",
  conf_date =    "23--26 May 1990",
  conf_location = "Niagara Falls, Ont., Canada",
  conf_sponsor = "Natural Sci. Eng. Res. Council of Canada; Carleton
                 Univ.; Laurentian Univ",
  editor =       "Selim G. Akl and F. Fiala and Waldemar W. Koczkodaj",
  keywords =     "Hypertext; Literate programming; WEB system; Windows;
                 Graphical representations; Semantic links; Relational
                 database management system; Hypertext queries; SQL
                 queries",
  thesaurus =    "Hypermedia; Programming environments; Relational
                 databases; User interfaces",
}

@Article{Childs:TB-13-3-261,
  author =       "Bart Childs",
  title =        "Literate Programming, {A} Practitioner's View",
  journal =      j-TUGboat,
  year =         "1992",
  volume =       "13",
  number =       "3",
  pages =        "261--268",
  month =        oct,
  acknowledgement = ack-bc,
  bibdate =      "Mon Oct 4 17:21:07 1993",
}

@TechReport{Childs:LP92,
  author =       "Bart Childs",
  title =        "An Introduction to the {WEB} Style of Literate
                 Programming",
  institution =  "Texas A\&M University",
  year =         "1992",
  type =         "\path|ftp.cs.tamu.edu:/pub/tex-web/web/DOCs|",
  address =      "College Station, TX",
  acknowledgement = ack-bc,
  bibdate =      "Mon Oct 4 17:21:07 1993",
}

@TechReport{Childs:LP93,
  author =       "Bart Childs",
  title =        "{GNU} {Emacs} Reference Card (with web-mode)",
  institution =  "Texas A\&M University",
  year =         "1993",
  type =         "\path|ftp.cs.tamu.edu:/pub/tex-web/web/DOCs|",
  address =      "College Station, TX",
  acknowledgement = ack-bc,
  bibdate =      "Wed Aug 24 17:50:54 1994",
}

@Article{Copeland:ILP95,
  author =       "Jeffrey Copeland and Jeffrey Haemer",
  title =        "An Introduction to Literate Programming",
  journal =      j-RS-MAGAZINE,
  year =         "1995",
  volume =       "4",
  number =       "1",
  pages =        "26--30",
  month =        jan,
  acknowledgement = ack-nhfb,
  bibdate =      "Fri Jan 27 13:45:03 1995",
}

@Article{Cordes:COMPUTER-24-6-52,
  author =       "David Cordes and Marcus Brown",
  title =        "The Literate-Programming Paradigm",
  journal =      j-COMPUTER,
  year =         "1991",
  volume =       "24",
  number =       "6",
  pages =        "52--61",
  month =        jun,
  ISSN =         "0018-9162",
  abstract =     "Literate programming, a technique for coding software
                 systems that promotes readability and comprehension, is
                 examined in detail. The current literate-programming
                 paradigm is reviewed by looking at two sample literate
                 programs. A critique of literate programming as it is
                 currently used is presented, and methods for enhancing
                 the process are explored. A number of new facilities
                 are proposed, and restrictions on current
                 literate-programming practices are suggested. (11
                 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Alabama Univ., Tuscaloosa, AL, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110 (Systems analysis and programming)",
  CODEN =        "CPTRB",
  keywords =     "Coding software systems; Literate-programming
                 paradigm",
  thesaurus =    "Programming",
}

@Article{Denning:CACM-30-7-593,
  author =       "Peter J. Denning",
  title =        "Announcing Literate Programming",
  journal =      j-CACM,
  year =         "1987",
  volume =       "30",
  number =       "7",
  pages =        "593",
  month =        jul,
}

@Article{Fox:TB11-4-511-513,
  author =       "Jim Fox",
  title =        "{{Webless literate programming}}",
  journal =      j-TUGboat,
  year =         "1990",
  volume =       "11",
  number =       "4",
  pages =        "511--513",
  month =        Nov,
}

@Book{Fraser:RCC95,
  author =       "Chris W. Fraser and David R. Hanson",
  title =        "A Retargetable {C} Compiler: Design and
                 Implementation",
  publisher =    pub-BENCUM,
  year =         "1995",
  ISBN =         "0-8053-1670-1",
  LCCN =         "QA76.73.C15F75 1995",
  note =         "Expected publication date: December 1994. From the
                 authors' announcement: ``\ldots this book is an example
                 of a `literate program.' Like {\em {\TeX}: The
                 Program\/} by D. E. Knuth (Addison-Wesley, 1986), this
                 book is lcc's source code and the prose that describes
                 it. The code is presented in the order that best suits
                 understanding, not in the order dictated by the C
                 programming language. The source code that appears on
                 the diskette is extracted automatically from the book's
                 text files. \ldots{} The distribution is available via
                 `anonymous' ftp from \path=ftp.cs.princeton.edu=
                 \path=(128.112.152.13)= in the directory
                 \path=pub/lcc=. \ldots{} Additional information about
                 lcc and about our book is available on the WWW at URL
                 \path=http://www.cs.princeton.edu/software/lcc=.''",
  pages =        "??",
  price =        "??",
  acknowledgement = ack-nhfb,
  bibdate =      "Sat Oct 15 12:38:12 1994",
}

@Article{Guntermann:TB7-3-134-2,
  author =       "Klaus Guntermann and Joachim Schrod",
  title =        "{{\WEB\ adapted to C}}",
  journal =      j-TUGboat,
  year =         "1986",
  volume =       "7",
  number =       "3",
  pages =        "134--137",
  month =        Oct,
}

@InProceedings{Gurari:WLP91,
  author =       "E. M. Gurari and J. Wu",
  booktitle =    "1991 ACM Computer Science Conference: March 5--7,
                 1991, San Antonio Convention Center, San Antonio,
                 Texas: Proceedings: Preparing for the 21st Century",
  title =        "A {WYSIWYG} literate programming system (preliminary
                 report)",
  pages_whole =  "xxix + 711",
  pages =        "94--104",
  month =        mar,
  year =         "1991",
  publisher =    "ACM",
  address =      "New York, NY, USA",
  ISBN =         "0-89791-382-5",
  LCCN =         "QA75.5 .A137 1991",
  abstract =     "Conceptually, literate programming systems are
                 document preparation systems that are augmented with
                 features for writing programs. They offer features for
                 identifying the different components of the programs,
                 for highlighting the relations that exist between the
                 components, and for explaining the components and the
                 relations. The authors introduce a literate programming
                 system that is based on a hierarchical variation of
                 MacWrite. The system distinguishes code from prose by
                 the fonts that they are written in, uses boxes for
                 abstracting and structuring code, and employs ports for
                 generating different views of the code. (19 Refs.)",
  acknowledgement = ack-eg # " and " # ack-nhfb,
  affiliation =  "Dept. of Comput. and Inf. Sci., Ohio State Univ.,
                 Columbus, OH, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support); C6110 (Systems analysis
                 and programming)",
  conf_date =    "5--7 March 1991",
  conf_location = "San Antonio, TX, USA",
  keywords =     "Program writing; WYSIWYG; Literate programming
                 systems; Document preparation systems; Hierarchical
                 variation; MacWrite; Prose; Fonts; Boxes; Abstracting;
                 Structuring code; Ports",
  thesaurus =    "Programming; Programming environments; Software
                 tools",
}

@Book{Gurari:TLD94,
  author =       "Eitan M. Gurari",
  title =        "{\TeX} and {\LaTeX}: Drawing and Literate
                 Programming",
  publisher =    pub-MH,
  ISBN =         "0-07-025208-4",
  LCCN =         "Z253.4.T47G87, 686.2'2544536-dc20, 93-8603 CIP",
  year =         "1994",
  address =      pub-MH:adr,
  keywords =     "TeX (computer file); computerized typesetting;
                 mathematics printing -- computer programs",
  price =        "US\$34.95",
  series =       "McGraw-Hill programming tools for scientists and
                 engineers",
  bibdate =      "Fri Aug 19 00:24:55 1994",
  acknowledgement = ack-nhfb,
}

@Article{Hamilton:CACM-31-12-1376,
  author =       "Eric Hamilton",
  title =        "Literate Programming\emdash{}Expanding Generalized
                 Regular Expressions",
  journal =      j-CACM,
  year =         "1988",
  volume =       "31",
  number =       "12",
  pages =        "1376--1385",
  month =        dec,
}

@Article{Hanson:CACM-30-7-594,
  author =       "David R. Hanson",
  title =        "Literate Programming\emdash{}Printing Common Words",
  journal =      j-CACM,
  year =         "1987",
  volume =       "30",
  number =       "7",
  pages =        "594--599",
  month =        jul,
}

@Book{Holub:CDC90,
  author =       "Allen I. Holub",
  title =        "Compiler Design in {C}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  year =         "1990",
  note =         pub-PH # " Software Series, Editor: Brian W.
                 Kernighan.",
  ISBN =         "0-13-155045-4",
  LCCN =         "QA76.76.C65 H65 1990",
  pages =        "xviii + 924",
  bibdate =      "Wed Dec 15 09:13:20 1993",
}

@MastersThesis{Houser:LLP92,
  author =       "Christopher Driessen Houser",
  title =        "A literate {Lisp} programming environment",
  pages =        "viii + 93",
  school =       "Department of Computer Science, University of
                 California, Los Angeles",
  LCCN =         "LD 791.8 C6 H817 1992",
  address =      "Los Angeles, CA, USA",
  year =         "1992",
  acknowledgement = ack-nhfb,
  bibdate =      "Fri Aug 19 00:23:48 1994",
  keywords =     "dissertations, academic -- UCLA -- computer science",
  note =         "Typescript (photocopy).",
}

@Article{Hyman:COMPLANG-7-7-67,
  author =       "Marco S. Hyman",
  title =        "Literate {C++}",
  journal =      j-COMPLANG,
  year =         "1990",
  volume =       "7",
  number =       "7",
  pages =        "67--68, 70, 72, 74--77, 79",
  month =        jul,
  ISSN =         "0749-2839",
  abstract =     "The author discusses the application of literate
                 programming to object-oriented C++. He develops an Awk
                 preprocessor to store documentation along with source
                 code. The information can be extracted just before
                 compilation. (2 Refs.)",
  acknowledgement = ack-nhfb,
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support); C6140D (High level
                 languages); C6150C (Compilers, interpreters and other
                 processors)",
  CODEN =        "CSAEE",
  keywords =     "Literate programming; Object-oriented C++; Awk
                 preprocessor; Store documentation; Source code;
                 Compilation",
  thesaurus =    "C language; C listings; Object-oriented programming;
                 Program processors; Software tools; System
                 documentation",
}

@Article{Jackson:CACM-30-12-1000,
  author =       "Michael A. Jackson",
  title =        "Literate Programming\emdash{}Processing Transactions",
  journal =      j-CACM,
  year =         "1987",
  volume =       "30",
  number =       "12",
  pages =        "1000--1010",
  month =        dec,
}

@Article{Kennedy:TB9-2-124-125,
  author =       "David Kennedy",
  title =        "{{\TeX\ adapted to \CWEB{}}}",
  journal =      j-TUGboat,
  year =         "1988",
  volume =       "9",
  number =       "2",
  pages =        "124--125",
  month =        Aug,
}

@Article{Knuth:CJ-27-2-97,
  author =       "Donald E. Knuth",
  title =        "Literate Programming",
  journal =      j-CJ,
  year =         "1984",
  volume =       "27",
  number =       "2",
  pages =        "97--111",
  month =        may,
  acknowledgement = ack-nhfb,
  bibdate =      "Wed Aug 24 17:14:45 MDT 1994",
  keywords =     "design; human factors; languages",
  review =       "ACM CR 8501-0018",
  subject =      "D.2.7 Software, SOFTWARE ENGINEERING, Distribution and
                 Maintenance, Documentation \\ I.7.1 Computing
                 Methodologies, TEXT PROCESSING, Text Editing, Languages
                 \\ H.1.2 Information Systems, MODELS AND PRINCIPLES,
                 User/Machine Systems, Human factors \\ D.3 Software,
                 PROGRAMMING LANGUAGES, Language Constructs \\ I.7.1
                 Computing Methodologies, TEXT PROCESSING, Text Editing,
                 WEB",
}

@Book{Knuth:CSS93,
  author =       "Donald E. Knuth and Silvio Levy",
  title =        "The {CWEB} System of Structured Documentation, Version
                 3.0",
  publisher =    pub-AW,
  year =         "1993",
  ISBN =         "0-201-57569-8",
  LCCN =         "QA76.9.D3 K6 1993",
  address =      pub-AW:adr,
  acknowledgement = ack-nhfb,
  bibdate =      "Thu Dec 16 09:04:49 1993",
}

@Book{Knuth:ct-b,
  author =       "Donald E. Knuth",
  title =        "{\TeX}: The Program",
  publisher =    pub-AW,
  year =         "{\noopsort{1986b}}1986",
  volume =       "B",
  series =       "Computers \& Typesetting",
  address =      pub-AW:adr,
  ISBN =         "0-201-13437-3",
  bibdate =      "Wed Aug 24 17:44:17 1994",
}

@Book{Knuth:ct-d,
  author =       "Donald E. Knuth",
  title =        "{\MF}: The Program",
  publisher =    pub-AW,
  year =         "{\noopsort{1986d}}1986",
  volume =       "D",
  series =       "Computers \& Typesetting",
  address =      pub-AW:adr,
  ISBN =         "0-201-13438-1",
}

@Book{Knuth:LP92,
  author =       "Donald E. Knuth",
  title =        "Literate Programming",
  publisher =    pub-SUCSLI,
  address =      pub-SUCSLI:adr,
  series =       "CSLI Lecture Notes Number 27",
  keywords =     "electronic digital computers -- programming",
  year =         "1992",
  ISBN =         "0-937073-80-6 (paper), 0-937073-81-4 (cloth)",
  LCCN =         "QA76.6.K644",
  pages =        "xv + 368",
  acknowledgement = ack-nhfb,
  bibdate =      "Fri Aug 19 00:24:20 1994",
}

@Article{Knuth:TB12-2-313,
  author =       "Donald Knuth",
  title =        "{{Fixed-point glue setting: Errata}}",
  journal =      j-TUGboat,
  year =         "1991",
  volume =       "12",
  number =       "2",
  pages =        "313",
  month =        Jun,
}

@Article{Knuth:TB3-1-10,
  author =       "Donald Knuth",
  title =        "{{Fixed-point glue setting\emdash{}an example of {\tt
                 WEB}}}",
  journal =      j-TUGboat,
  year =         "1982",
  volume =       "3",
  number =       "1",
  pages =        "10",
  month =        Mar,
}

@TechReport{Knuth:web83,
  author =       "Donald E. Knuth",
  title =        "The {\WEB{}} System of Structured Documentation",
  institution =  "Stanford University",
  year =         "1983",
  type =         "Stanford Computer Science Report",
  number =       "{CS}980",
  address =      "Stanford, {CA}",
  month =        sep,
}

@Book{Knuth:SGB93,
  author =       "Donald E. Knuth",
  title =        "The {Stanford} {GraphBase}: {A} Platform for
                 Combinatorial Computing",
  publisher =    pub-ACM,
  year =         "1993",
  address =      pub-ACM:adr,
  price =        "US\$45.25",
  note =         "[From the publisher]: \ldots{} represents Knuth's
                 final preparation for Volume 4 of {\em The Art of
                 Computer Programming}. Through the use of about 30
                 examples, the book demonstrates the art of literate
                 programming. Each example is a programmatic essay, a
                 short story that can be read by human beings, as well
                 as read and interpreted by machines. In these
                 essays/programs, Knuth makes new contributions to the
                 exposition of several important algorithms and data
                 structures.",
  pages =        "vii + 576",
  ISBN =         "0-201-54275-7",
  LCCN =         "QA164 .K6 1993",
  acknowledgement = ack-pb,
  bibdate =      "Wed Aug 24 17:44:04 1994",
}

@Article{Knuth:MLP94,
  author =       "D. E. Knuth",
  title =        "Mini-indexes for literate programs",
  journal =      "Software--Concepts and Tools",
  volume =       "15",
  number =       "1",
  pages =        "2--11",
  month =        "",
  year =         "1994",
  ISSN =         "0945-8115",
  abstract =     "The author describes how to implement a documentation
                 technique that helps readers to understand large
                 programs or collections of programs, by providing local
                 indexes to all identifiers that are visible on every
                 two-page spread. A detailed example is given for a
                 program that finds all Hamiltonian circuits in an
                 undirected graph. (11 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Stanford Univ., CA, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110B (Software engineering techniques); C1160
                 (Combinatorial mathematics)",
  CODEN =        "SCOTE",
  keywords =     "Mini-indexes; Literate programs; Documentation
                 technique; Large programs; Hamiltonian circuits;
                 Undirected graph; WEB; CWEB; CTWILL; Hypertext",
  thesaurus =    "Graph theory; Indexing; Programming; System
                 documentation",
}

@InProceedings{Kortright:CCT92,
  author =       "E. Kortright and D. Cordes",
  booktitle =    "Proceedings / IEEE Southeastcon '92, April 12--15, 1992,
                 Birmingham, Alabama",
  title =        "Cnest and Cscope: Tools for the literate programming
                 environment",
  pages_whole =  "lii + 846",
  pages =        "604--609 (vol. 2)",
  month =        apr,
  year =         "1992",
  publisher =    "IEEE",
  address =      "New York, NY, USA",
  ISBN =         "0-7803-0494-2",
  LCCN =         "TK5 .I32 1992 v.1-2",
  abstract =     "The authors describe two tools for the literate
                 programming language Cweb: Cnest and Cscope. Cweb is a
                 Web programming environment for the programming
                 language C using the typesetting program T/sub E/X. An
                 overview of Web is given. Cnest and Cscope operate
                 within the EMACS editing environment and provide
                 support both for the program developer and for the
                 maintenance programmer. Their implementations are
                 discussed in detail. (6 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Tuscaloosa, AL,
                 USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support); C6140D (High level
                 languages)",
  conf_date =    "12--15 April 1992",
  conf_location = "Birmingham, AL, USA",
  conf_sponsor = "IEEE",
  keywords =     "TEX; Literate programming environment; Cweb; Cnest;
                 Cscope; Web programming environment; C; Typesetting
                 program; EMACS editing environment; Program developer;
                 Maintenance programmer",
  note =         "2 vol.",
  thesaurus =    "C language; Programming environments; Software tools;
                 Text editing",
}

@Article{Krommes:fortran-web,
  author =       "John Krommes",
  title =        "{\FWEB} ({Krommes}) vs. {\FWEB} ({Avenarius} and
                 {Oppermann})",
  journal =      j-TEXHAX,
  year =         "1990",
  volume =       "90",
  number =       "19",
  month =        feb,
}

@Article{Lecarme:j-ACM-COMPREV-26-1-75,
  author =       "O. Lecarme",
  title =        "Literate Programming",
  journal =      j-ACM-COMPREV,
  volume =       "26",
  number =       "1",
  year =         "1985",
  pages =        "75",
  acknowledgement = ack-eg,
}

@Article{Levy:TB8-1-12,
  author =       "Silvio Levy",
  title =        "{{\WEB{} adapted to C, another approach}}",
  journal =      j-TUGboat,
  year =         "1987",
  volume =       "8",
  number =       "1",
  pages =        "12--13",
  month =        Apr,
}

@Article{Levy:j-COMPLANG-10-1-67,
  author =       "Silvio Levy",
  title =        "Literate Programming and {Cweb}",
  journal =      j-COMPLANG,
  year =         "1993",
  volume =       "10",
  number =       "1",
  pages =        "67--68, 70",
  month =        jan,
  bibdate =      "Thu Dec 3 09:11:03 1992",
}

@Article{Lindsay:CACM-32-6-740,
  author =       "Donald C. Lindsay",
  title =        "Literate Programming\emdash{}{A} File Difference
                 Program",
  journal =      j-CACM,
  year =         "1989",
  volume =       "32",
  number =       "6",
  pages =        "740--755",
  month =        jun,
}

@Article{Lins:JSP-10-1-60,
  author =       "Charles Lins",
  title =        "A First Look at Literate Programming",
  journal =      j-SP,
  year =         "1989",
  volume =       "10",
  number =       "1",
  pages =        "60--62",
  ISSN =         "0935-1183",
  abstract =     "The author provides background material about literate
                 programming and why this concept is important. He gives
                 the background material on the nature and of the
                 problem and traditional solutions, and a brief overview
                 of literate programming and how it addresses the
                 problem. He examines the WEB system, a literate
                 programming tool, and provides a commentary on some
                 literate programming issues. (7 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Apple Comput. Inc., Cupertino, CA, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110 (Systems analysis and programming)",
  CODEN =        "STPGE",
  keywords =     "Literate programming",
  thesaurus =    "Programming; System documentation",
}

@Article{Lins:JSP-10-2-107,
  author =       "Charles Lins",
  title =        "An Introduction to Literate Programming",
  journal =      j-SP,
  year =         "1989",
  volume =       "10",
  number =       "2",
  pages =        "107--112",
  ISSN =         "0935-1183",
  abstract =     "The author discusses D. E. Knuth's concept of literate
                 programming. He covers the particulars of the literate
                 programming style as described by Knuth in Computers
                 and Typesetting, vol. B, {\TeX}, The Program (1986).
                 He concludes with a sample literate program-using
                 Modula-2 as an alternative to Pascal-describing the
                 interface to the relation abstract data type from the
                 domain of relational database theory. (5 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Apple Comput. Inc., Cupertino, CA, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110 (Systems analysis and programming)",
  CODEN =        "STPGE",
  keywords =     "Structured programming; Literate programming;
                 Programming style; Modula-2; Relation abstract data
                 type; Relational database theory",
  thesaurus =    "Structured programming",
}

@Article{Mittelbach:j-TUGboat-9-3-298,
  author =       "Frank Mittelbach",
  title =        "A New Implementation of the Array- and Tabular-
                 Environments",
  journal =      j-TUGboat,
  volume =       "9",
  number =       "3",
  year =         "1988",
  pages =        "298--314",
  acknowledgement = ack-eg,
}

@PhdThesis{Motl:LPE90,
  author =       "Mark B. Motl",
  title =        "A Literate Programming Environment Based on an
                 Extensible Editor",
  school =       "Texas A\&M University",
  year =         "1990",
  address =      "College Station, {TX}",
  month =        dec,
  acknowledgement = ack-bc,
  bibdate =      "Mon Oct 4 17:21:07 1993",
}

@TechReport{Motl:UMG91,
  author =       "Mark B. Motl and Bart Childs",
  title =        "A User's Manual for {GNU} {Emacs}' Web-mode",
  institution =  "Texas A\&M University",
  year =         "1991",
  type =         "\path|ftp.cs.tamu.edu:/pub/tex-web/web/DOCs|",
  address =      "College Station, {TX}",
  acknowledgement = ack-bc,
  bibdate =      "Wed Aug 24 17:50:49 1994",
}

@Article{Naeve:HMT91,
  author =       "P. Naeve and D. Trenkler and H. P. Wolf",
  title =        "How to make the teaching of statistics roar. Some
                 thoughts on computer based experiments",
  journal =      "Computational Statistics Quarterly",
  volume =       "6",
  number =       "4",
  pages =        "325--353",
  month =        "",
  year =         "1991",
  abstract =     "The application of computers in teaching statistics
                 offers new possibilities. Two kinds of experiments are
                 introduced. Firstly, experiments to demonstrate
                 statistical concepts by exploiting the graphical
                 capabilities of computers. Secondly, experiments which
                 may help teach data analysis strategies. Examples for
                 both kinds are given. First steps towards experiment
                 construction are developed. The usefulness of Literate
                 APL is demonstrated too. (13 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Econ., Bielefeld Univ., Germany",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C7810C (Computer-aided instruction); C7310
                 (Mathematics)",
  CODEN =        "CSQUE",
  keywords =     "Computer based experiments; Computers; Teaching
                 statistics; Statistical concepts; Graphical
                 capabilities; Data analysis; Experiment construction;
                 Literate APL",
  thesaurus =    "Computer aided instruction; Statistical analysis",
}

@InProceedings{Naeve:APT93,
  author =       "P. Naeve and B. Strohmeier and P. Wolf",
  booktitle =    "International Conference on APL",
  title =        "{APL} programming without tears to it is time for a
                 change",
  journal =      "APL Quote Quad",
  volume =       "24",
  number =       "1",
  pages =        "185--189",
  month =        aug,
  year =         "1993",
  ISSN =         "0163-6006",
  abstract =     "To overcome the unreadability of traditional APL-code,
                 D. E. Knuth's (1984) idea of literate programming is
                 adapted to APL. The APL2WEB system of structured
                 documentation is introduced as a new way of
                 APL-programming. An example is given to highlight the
                 merits of this combination. (8 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Fakultat fur Wirtschaftswissenschaften, Bielefeld
                 Univ., Germany",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110 (Systems analysis and programming); C6140D
                 (High level languages); C0310F (Software development
                 management)",
  CODEN =        "APLQD",
  conf_date =    "15--19 Aug. 1993",
  conf_location = "Toronto, Ont., Canada",
  conf_sponsor = "ACM",
  keywords =     "APL programming; Unreadability; Traditional APL-code;
                 Knuth; Literate programming; APL2WEB system; Structured
                 documentation",
  thesaurus =    "APL; Programming; System documentation",
}

@Article{Oman:CACM-33-5-506,
  author =       "Paul W. Oman and Curtis Cook",
  title =        "Typographic Style is More than Cosmetic",
  journal =      j-CACM,
  year =         "1990",
  volume =       "33",
  number =       "5",
  pages =        "506--520",
  month =        may,
}

@Article{Oman:IEEESOFTWARE-7-1-39,
  author =       "Paul W. Oman and Curtis Cook",
  title =        "The Book Paradigm for Improved Maintenance",
  journal =      j-IEEE-SOFTWARE,
  year =         "1990",
  volume =       "7",
  number =       "1",
  pages =        "39--45",
  month =        jan,
}

@PhdThesis{Oman:oman88a,
  author =       "Paul W. Oman",
  title =        "A Taxonomic Analysis of Typographic Programming
                 Style",
  school =       "Oregon State University",
  year =         "1988",
  address =      "Corvallis, {OR}",
  month =        dec,
}

@TechReport{Oman:OSUTR-88-60-20,
  author =       "Paul W. Oman and Curtis Cook",
  title =        "A Programming Style Taxonomy",
  institution =  "Oregon State University",
  year =         "1988",
  type =         "Technical Report",
  number =       "88-60-20",
  address =      "Corvallis, {OR}",
}

@Article{Oman:SIGPLAN-23-12-69,
  author =       "P. W. Oman and C. R. Cook",
  title =        "A paradigm for programming style research",
  journal =      j-SIGPLAN,
  volume =       "23",
  number =       "12",
  pages =        "69--78",
  month =        dec,
  year =         "1988",
  ISSN =         "0362-1340",
  acknowledgement = ack-nhfb,
  bibdate =      "Sat Aug 13 17:16:20 MDT 1994",
  keywords =     "measurement; experimentation; performance; design;
                 languages",
  subject =      "D.1.m Software, PROGRAMMING TECHNIQUES,
                 Miscellaneous",
}

@InProceedings{Pappas:proc-ada-tech90-500,
  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_whole =  "xiv + 669",
  pages =        "500--514",
  organization = "ANCOST, Inc. (Sponsor)",
  address =      "Atlanta, Georgia, USA",
  month =        mar,
  abstract =     "Writing reusable software components requires more
                 than just following coding guidelines. It also requires
                 that potential clients of a component can easily
                 understand the documentation associated with the
                 component. Literate programming, as suggested by D.
                 Knuth (1983), is concerned with combining code and
                 documentation in a form that is more easily read by
                 humans, rather than by compilers. The paper illustrates
                 the benefits of a literate programming approach to
                 writing reusable software by presenting a generic
                 package written in a literate programming style. ADA
                 WEB, a language for literate programming that combines
                 Ada and TEX, was used to prepare the paper. (14
                 Refs.)",
  review =       "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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Intermetrics Inc., Warminster, PA, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110B (Software engineering techniques)",
  conf_date =    "5--8 March 1990",
  conf_location = "Atlanta, GA, USA",
  conf_sponsor = "Ancost",
  keywords =     "Queue package; Software components; Documentation;
                 Literate programming; Generic package; ADA WEB; Ada;
                 TEX",
  thesaurus =    "Ada; Programming; Software reusability; System
                 documentation",
}

@InCollection{Pepper:LPD91,
  author =       "P. Pepper",
  title =        "Literate program derivation: a case study",
  crossref =     "Broy:MPS91",
  pages =        "101--124",
  year =         "1991",
  abstract =     "`Literate programming' is a notion that has been
                 introduced by D. E. Knuth (1984), as a means for
                 improving the art of programming by amalgamating
                 explanatory text with the program proper. The author
                 combines the principal ideas of literate programming
                 with the concepts of formal program development, based
                 on algebraic specifications and transformations. This
                 experiment is performed using the sublinear
                 string-searching algorithm of R. S. Boyer and J. S. Moore
                 (1977) as an illustrating example. (17 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Inst. fur Angewandte Inf., Tech. Univ., Berlin,
                 Germany",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110B (Software engineering techniques); C5260B
                 (Computer vision and picture processing); C1250
                 (Pattern recognition); C4240 (Programming and algorithm
                 theory)",
  keywords =     "Case study; Explanatory text; Literate programming;
                 Formal program development; Algebraic specifications;
                 Transformations; Sublinear string-searching algorithm",
  thesaurus =    "Computerised pattern recognition; Formal
                 specification; Programming",
}

@Book{PeytonJones:IFL92,
  author =       "Simon L. {Peyton Jones} and David R. Lester",
  title =        "Implementing functional languages",
  publisher =    pub-PH,
  year =         "1992",
  address =      pub-PH:adr,
  ISBN =         "0-13-721952-0",
  price =        "US\$42.00",
  acknowledgement = ack-dl,
  bibdate =      "Thu Aug 26 10:51:16 1993",
  note =         "Presents literate programs in {\TeX} and Miranda.",
}

@Book{Plauger:SCL92,
  author =       "P. J. Plauger",
  title =        "The {Standard C} Library",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  year =         "1992",
  ISBN =         "0-13-838012-0",
  LCCN =         "QA76.73.C15 P563 1991",
  pages =        "xiv + 498",
  bibdate =      "Wed Dec 15 10:40:47 1993",
}

@Article{Ramsdell:TEXHAX-88-39,
  author =       "J. D. Ramsdell",
  title =        "{Scheme\TeX}\emdash Simple support for literate
                 programming in {Lisp}",
  journal =      j-TEXHAX,
  year =         "1988",
  volume =       "88",
  number =       "39",
  month =        apr,
  bibdate =      "Wed Aug 24 17:43:40 1994",
}

@Article{Ramsey:CACM-32-9-1051,
  author =       "Norman Ramsey",
  title =        "Weaving a Language-Independent {{\WEB}}",
  journal =      j-CACM,
  year =         "1989",
  volume =       "32",
  number =       "9",
  pages =        "1051--1055",
  month =        sep,
}

@Article{Ramsey:j-SPE-21-7-677,
  author =       "Norman Ramsey and Carla Marceau",
  title =        "Literate Programming on a Team Project",
  journal =      j-SPE,
  year =         "1991",
  volume =       "21",
  number =       "7",
  pages =        "677--683",
  month =        jul,
  ISSN =         "0038-0644",
  abstract =     "Literate programming on a team project was used to
                 write a 33000 line program for the Synthesizer
                 Generator. The program, Penelope, was written using
                 WEB, a tool designed for writing literate programs.
                 Unlike other WEB programs, many of which have been
                 written by WEB's developer or by individuals, Penelope
                 was not intended to be published. The authors used WEB
                 in the hope that both their team and its final product
                 would benefit from the advantages often attributed to
                 literate programming. The WEB source served as good
                 internal documentation throughout development and
                 maintenance, and it continues to document Penelope's
                 design and implementation. This experience also
                 uncovered a number of problems with WEB. (33 Refs.)",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
  affiliation =  "Odyssey Res. Associates, Ithaca, NY, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C7820 (Humanities); C6110 (Systems analysis and
                 programming); C7106 (Word processing); C6130D (Document
                 processing techniques)",
  CODEN =        "SPEXB",
  keywords =     "Literature programming; Team project; Synthesizer
                 Generator; Penelope; WEB; Literate programs; Literate
                 programming; Internal documentation",
  thesaurus =    "Linguistics; Literature; Programming; Word
                 processing",
}

@TechReport{Ramsey:LPT92,
  author =       "Norman Ramsey",
  title =        "Literate-Programming Tools Need Not Be Complex",
  institution =  "Department of Computer Science, Princeton University",
  year =         "1992",
  number =       "CS-TR-351-91",
  keywords =     "literate programming, readability, programming
                 languages",
  month =        aug,
  note =         "Submitted to {\em IEEE Software}.",
  type =         "Report at \path|ftp.cs.princeton.edu| in
                 \path|/reports/1991/351.ps.Z|. Software at
                 \path|ftp.cs.princeton.edu| in \path|/pub/noweb.shar.Z|
                 and at \path|bellcore.com| in
                 \path|/pub/norman/noweb.shar.Z|.",
  bibdate =      "Tue Oct 12 10:28:45 1993",
  acknowledgement = ack-bc # " and " # ack-nr,
}

@Article{Ramsey:j-IEEE-SOFTWARE-11-5-97,
  author =       "Norman Ramsey",
  title =        "Literate Programming Simplified",
  journal =      j-IEEE-SOFTWARE,
  year =         "1994",
  volume =       "11",
  number =       "5",
  pages =        "97--105",
  month =        sep,
  acknowledgement = ack-nhfb,
  bibdate =      "Wed Sep 07 20:28:11 1994",
}

@Article{Reenskaug:j-SIGPLAN-24-10-337,
  author =       "Trygve Reenskaug and Anne Lise Skaar",
  title =        "An environment for literate {Smalltalk} programming",
  journal =      j-SIGPLAN,
  volume =       "24",
  number =       "10",
  pages =        "337--345",
  month =        oct,
  year =         "1989",
  ISSN =         "0362-1340",
  acknowledgement = ack-nhfb,
  abstract =     "The programming environment described in this paper is
                 an adaptation of Donald Knuth's concept of literate
                 programming, applied to Smalltalk programs. The
                 environment provides a multi-media document production
                 system including media for Smalltalk class and method
                 definitions.\par There are two outputs from the system.
                 The first output is a document which contains general
                 descriptions and discussions intermixed with precise
                 definitions of program fragments, test inputs and test
                 results. The second output consists of compiled
                 Smalltalk programs installed and ready for
                 execution.\par The main idea was to produce program
                 documentation that was just as interesting and
                 fascinating to read as ordinary literature. Our
                 experience showed an added benefit, namely that the
                 literate programming environment was an active aid in
                 the problem solving process. The simultaneous
                 programming and documentation lead to significantly
                 improved quality of both programs and documentation.",
  bibdate =      "Wed Aug 31 23:24:32 1994",
  classification = "C6115 (Programming support)",
  CODEN =        "SINOD",
  conf_date =    "1--6 Oct. 1989",
  conf_location = "New Orleans, LA, USA",
  conf_sponsor = "ACM",
  keywords =     "design; documentation; languages; reliability; Class
                 definitions; Programming environment; Literate
                 programming; Smalltalk programs; Multi-media document
                 production system; Method definitions; Program
                 fragments; Test inputs; Test results; Compiled
                 Smalltalk programs; Program documentation; Problem
                 solving process",
  subject =      "D.2.6 Software, SOFTWARE ENGINEERING, Programming
                 Environments \\ D.3.2 Software, PROGRAMMING LANGUAGES,
                 Language Classifications, Smalltalk-80 \\ D.2.7
                 Software, SOFTWARE ENGINEERING, Distribution and
                 Maintenance, Documentation \\ D.2.5 Software, SOFTWARE
                 ENGINEERING, Testing and Debugging \\ D.1.0 Software,
                 PROGRAMMING TECHNIQUES, General \\ D.2.2 Software,
                 SOFTWARE ENGINEERING, Tools and Techniques, User
                 interfaces",
  thesaurus =    "Object-oriented programming; Programming environments;
                 Smalltalk; System documentation",
}

@Article{Sametinger:j-OOP-4-8-24,
  author =       "J. Sametinger",
  title =        "A Hypertext System for Literate {C}++ Programming",
  journal =      j-OOP,
  volume =       "4",
  number =       "8",
  year =         "1992",
  pages =        "24--29",
  acknowledgement = ack-eg # " and " # ack-nhfb,
  ISSN =         "0896-8438",
  abstract =     "Programs are written to be executed by computers
                 rather than read by humans. This complicates program
                 comprehension, which plays a major role in software
                 maintenance. Literate programming is an approach to
                 improve program understanding by regarding programs as
                 works of literature. The authors present a tool that
                 supports literate programming in C++, based on a
                 hypertext system. (18 Refs.)",
  affiliation =  "Inst. fur Wirtschaftsinf., Johannes Kepler Univ. of
                 Linz, Austria",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110B (Software engineering techniques); C6140D
                 (High level languages); C6160Z (Other DBMS)",
  CODEN =        "JOOPE",
  keywords =     "Literate C++ programming; Program comprehension;
                 Software maintenance; Program understanding; Hypertext
                 system",
  thesaurus =    "C language; Hypermedia; Programming; Software
                 maintenance",
}

@InProceedings{Sennett:DCA92,
  author =       "C. T. Sennett",
  booktitle =    "5th Refinement Workshop: Proceedings of the 5th Refinement
                 Workshop, organized by BCS-FACS, London, 8--10 January 1992",
  title =        "Demonstrating the compliance of Ada programs with {Z}
                 specifications",
  pages_whole =  "viii + 378",
  pages =        "70--87",
  month =        jan,
  year =         "1992",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  ISBN =         "3-540-19752-4",
  LCCN =         "QA76.76.D47 R44 199",
  abstract =     "The paper describes a notation for presenting a claim
                 that a program written in Ada satisfies a specification
                 written in Z. The notation has both formal and informal
                 elements: the formal elements follow the style of the
                 refinement calculus, while the informal elements follow
                 Knuth's (1984) literate programming style. The
                 combination of formal and informal elements allows for
                 selective verification, an important requirement for
                 practical use of formal refinement. (12 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Defence Res. Agency, Malvern, UK",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110B (Software engineering techniques); C4210
                 (Formal logic)",
  conf_date =    "8--10 Jan. 1992",
  conf_location = "London, UK",
  editor =       "Cliff B. Jones and Roger C. Shaw and Tim Denvir",
  keywords =     "Ada programs; Z specifications; Refinement calculus;
                 Literate programming; Selective verification; Formal
                 refinement",
  language =     "English",
  pub_country =  "Germany",
  thesaurus =    "Ada; Formal specification; Formal verification;
                 Specification languages",
}

@Article{Sewell:TB8-2-118,
  author =       "E. Wayne Sewell",
  title =        "{{How to {\tt MANGLE} your software: the \WEB{} system
                 for Modula-2}}",
  journal =      j-TUGboat,
  year =         "1987",
  volume =       "8",
  number =       "2",
  pages =        "118--122",
  month =        Jul,
}

@Article{Sewell:TB8-2-123,
  author =       "E. Wayne Sewell",
  title =        "{{The {\tt SCANTEX} processor}}",
  journal =      j-TUGboat,
  year =         "1987",
  volume =       "8",
  number =       "2",
  pages =        "123--128",
  month =        Jul,
}

@Book{Sewell:WPL89,
  author =       "E. Wayne Sewell",
  title =        "Weaving a Program: Literate Programming in {\WEB}",
  publisher =    pub-VNR,
  address =      pub-VNR:adr,
  keywords =     "web (computer program language)",
  pages =        "xx + 556",
  year =         "1989",
  ISBN =         "0-442-31946-0",
  LCCN =         "QA76.73.W24 S491 1989",
  bibdate =      "Fri Aug 19 00:20:22 1994",
}

@Article{Shum:SEJ-8-3-113,
  author =       "Stephen Shum and Curtis Cook",
  title =        "{AOPS}: an Abstraction-Oriented Programming System for
                 Literate Programming",
  journal =      j-SEJ,
  year =         "1993",
  volume =       "8",
  number =       "3",
  pages =        "113--120",
  month =        may,
  acknowledgement = ack-ma,
}

@Article{Smith:ABL91,
  author =       "L. M. C. Smith and M. H. Samadzadeh",
  title =        "An annotated bibliography of literate programming",
  journal =      j-SIGPLAN,
  volume =       "26",
  number =       "1",
  pages =        "14--20",
  month =        jan,
  year =         "1991",
  ISSN =         "0362-1340",
  abstract =     "Although literate programming can be considered a
                 programming style, it would better be categorized asa
                 new programming paradigm. The entries in this
                 bibliography illustrate the recent growth of research
                 and interest in the area of literate programming. (32
                 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Oklahoma State Univ.,
                 Stillwater, OK, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110 (Systems analysis and programming)",
  CODEN =        "SINOD",
  keywords =     "Literate programming; Programming style; Programming
                 paradigm; Bibliography",
  thesaurus =    "Programming",
}

@Article{Smith:SP-13-1-35,
  author =       "Lisa M. Smith and Mansur H. Samadzadeh",
  title =        "Measuring Complexity and Stability of {WEB} programs",
  journal =      j-SP,
  year =         "1992",
  volume =       "13",
  number =       "1",
  pages =        "35--50",
  acknowledgement = ack-pt # " and " # ack-nhfb,
  ISSN =         "0935-1183",
  abstract =     "Software maintenance engineers spend at least half of
                 their time trying to understand the system they are to
                 modify. This is due partially to the fact that often
                 the only documentation available is the source code
                 itself. The literate programming paradigm provides the
                 incentive and the capability to produce high quality
                 code and documentation simultaneously. The goal is to
                 create `works of literature' which have all the extras
                 (table of contents, cross references, and indexes) to
                 help readers to comprehend the programs quickly and
                 thoroughly. The purpose of this research is to explore
                 the viability of application of the measurements of
                 software complexity and stability of traditionally
                 developed code to literature programs. A literature
                 program, the WEBmeter, was developed to collect some of
                 the well-known metrics, originally defined for
                 conventional software, for literature programs. Other
                 design and stability metrics were manually extracted
                 from the TANGLEd version of the input WEB programs.
                 Some observations about ten programs that were
                 subjected to the metrics/stability analysis are
                 included. (37 Refs.)",
  affiliation =  "Dept. of Comput. Sci., Oklahama State Univ.,
                 Stillwater, OK, USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110B (Software engineering techniques); C0310F
                 (Software development management)",
  CODEN =        "STPGE",
  keywords =     "Complexity measurement; Software maintenance;
                 Stability; WEB programs; Literate programming paradigm;
                 Documentation; Cross references; Indexes; Software
                 complexity; WEBmeter; Metrics",
  thesaurus =    "Software maintenance; Software metrics; Structured
                 programming",
}

@InProceedings{Snelting:PTS90,
  author =       "G. Snelting and C. Thies",
  booktitle =    "Toulouse '90. Third International Workshop. Software
                 Engineering and its Applications Proceedings",
  title =        "Programming tools for the Suprenum supercomputer",
  pages_whole =  "1029",
  pages =        "951--963 (vol. 2)",
  month =        dec,
  year =         "1990",
  publisher =    "EC2",
  address =      "Nanterre, France",
  abstract =     "Programming tools for the Suprenum supercomputer have
                 been developed. The programming environment comprises a
                 context-sensitive hybrid editor, an interactive
                 interpreter and a literate programming system. The
                 editor can be used as a text editor as well as a
                 structure editor; both modes may be mixed freely. It
                 guarantees immediate recognition of syntactic and
                 semantic errors, but does not insist on immediate error
                 correction. The interpreter can be used to execute and
                 debug incomplete program fragments. The literate
                 programming system offers documentation support in the
                 style of WEB. The authors describe the main features of
                 the tools and demonstrate how they support the
                 construction and documentation of programs written in
                 extended FORTRAN8x, the programming language for the
                 massively parallel Suprenum machine. (7 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Tech. Univ., Damstadt, Praktische Inf., Germany",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110P (Parallel programming); C5440 (Multiprocessor
                 systems and techniques); C6115 (Programming support);
                 C6130 (Data handling techniques)",
  conf_date =    "3--7 Dec. 1990",
  conf_location = "Toulouse, France",
  conf_sponsor = "CIGREF; SEE; Syntec-Informatique",
  keywords =     "Suprenum supercomputer; Programming environment;
                 Context-sensitive hybrid editor; Interactive
                 interpreter; Literate programming system; Text editor;
                 Structure editor; Semantic errors; Error correction;
                 Debug; Documentation support; WEB; Extended FORTRAN8x;
                 Massively parallel Suprenum machine",
  note =         "2 vol.",
  thesaurus =    "Parallel machines; Parallel programming; Program
                 interpreters; Programming environments; Software tools;
                 Text editing",
}

@Book{Spivak:LTW91,
  author =       "Michael D. Spivak",
  title =        "The {\LAMSTeX} Wizard's Manual",
  publisher =    pub-TEXPLORATOR,
  address =      pub-TEXPLORATOR:adr,
  year =         "1991",
}

@Article{Thimbleby:CJ-29-3-201,
  author =       "Harold Thimbleby",
  title =        "Experiences of `Literate Programming' using {{\tt
                 cweb}} (a variant of {Knuth}'s {\WEB{}})",
  journal =      j-CJ,
  year =         "1986",
  volume =       "29",
  number =       "3",
  pages =        "201--211",
  month =        jun,
}

@TechReport{Thimbleby:cwebman,
  author =       "Harold W. Thimbleby",
  title =        "Literate Programming in {C}",
  institution =  "University of York",
  address =      "Department of Computer Science, University of York,
                 Heslington, York YO1 5DD, England",
  year =         "1984",
  abstract =     "{\bf Cweb} is a system of structured documentation
                 based of Knuth's {\tt WEB}. The philosophy behind both
                 {\bf cweb} and {\tt WEB} is that an experienced
                 programmer, who wants to provide the best possible
                 documentation of his or her software products, needs
                 two things simultaneously: a language for formatting
                 and a language for programming. When both are
                 appropriately combined we obtain a system much more
                 useful than either language separately. {\bf Cweb}
                 combines {\bf C} source with ({\bf di}){\bf troff} (or
                 {\bf nroff}) documentation (whereas {\tt WEB} operates
                 with Pascal and \TeX). The full facilities of {\bf C}
                 and {\bf troff} are available to the user.\par {\bf
                 Cweb} operates effectively with existing Unix text and
                 program development tools, such as {\bf make}, {\bf
                 tbl}, {\bf eqn}. If speed is important, {\bf cweb} has
                 a built-in formatter which is much faster (and less
                 resource consuming) the {\bf troff} for drafting or
                 using with a lineprinter.",
}

@Article{Tung:JSP-10-2-113,
  author =       "{Sho-Huan} Tung",
  title =        "A Structured Method for Literate Programming",
  journal =      j-SP,
  year =         "1989",
  volume =       "10",
  number =       "2",
  pages =        "113--120",
  ISSN =         "0935-1183",
  abstract =     "In order to make computer programs easier to
                 comprehend, the methods for program development and
                 documentation need to be enhanced beyond their
                 conventional treatment. Literate programming is an
                 approach to programming that emphasizes improving the
                 readability of computer programs. The paper describes a
                 structured method for literate programming. HSD
                 (Hierarchical Structured Document) is a tool that
                 supports automatic code and document generation from a
                 hierarchically structured document description. An
                 example is given to illustrate the use of HSD. The ways
                 in which empirical studies on programmers' behavior
                 influenced the design of HSD and some directions for
                 future research are addressed. (18 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Indiana Univ., Bloomington, IN,
                 USA",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110 (Systems analysis and programming)",
  CODEN =        "STPGE",
  keywords =     "Programmer behaviour; Literate programming; Program
                 development; Documentation; Readability; HSD; Document
                 description; Empirical studies",
  thesaurus =    "Structured programming; System documentation",
}

@Article{vanAmmers:LPV90,
  author =       "E. W. van Ammers",
  title =        "Literate programming with {VAMP}",
  journal =      "Informatie",
  volume =       "32",
  number =       "4",
  pages =        "380--388",
  month =        "",
  year =         "1990",
  ISSN =         "0019-9907",
  abstract =     "VAMP is a method of documentation using a special
                 relationship between man and computer. It was
                 introduced in 1984 and since then experience has shown
                 it to be superior to WEB. A block diagram of the
                 program is given. (15 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Wageningen Univ., Netherlands",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110 (Systems analysis and programming); C6180
                 (User interfaces)",
  CODEN =        "INFTC",
  keywords =     "Literate programming; User interface; VAMP;
                 Documentation",
  language =     "Dutch",
  thesaurus =    "Programming; User interfaces",
}

@InProceedings{vanAmmers:VTL92,
  author =       "E. W. van Ammers and M. R. Kramer",
  booktitle =    "{CompEuro} 1992 Proceedings: Computer Systems and Software
                 Engineering, May 4--8, 1992, The Hague, The Netherlands",
  title =        "{VAMP}: {A} tool for literate programming independent
                 of programming language and formatter",
  pages_whole =  "xviii + 717",
  pages =        "371--376",
  month =        may,
  year =         "1992",
  publisher =    pub-IEEE-CSP,
  address =      pub-IEEE-CSP:adr,
  ISBN =         "0-8186-2760-3",
  LCCN =         "QA76.5.C6122 1992",
  abstract =     "The authors have developed a module extractor called
                 VAMP, that cooperates with a standard formatter. They
                 describe the VAMP approach to literate programming.
                 Literate programming identifies a method of
                 documentation which explains to people what a computer
                 is supposed to do. Generally, this means that
                 refinement steps are documented in such a way that
                 modules can be extracted from the documentation files.
                 The tool has been in use since 1982. The experiences
                 are predominantly positive, in spite of the overhead
                 implicit in the methodology. The fact that VAMP is
                 independent of both programming language and formatter
                 distinguishes it from WEB and its derivatives. (15
                 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Agric. Univ. of Wageningen,
                 Netherlands",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support)",
  conf_date =    "4--8 May 1992",
  conf_location = "The Hague, Netherlands",
  conf_sponsor = "IEEE",
  editor =       "Patrick Dewilde and Joos Vandewalle",
  keywords =     "Explanation; Literate programming; Programming
                 language; Formatter; VAMP; Documentation; Refinement
                 steps; Overhead",
  thesaurus =    "Programming environments; Software tools; System
                 documentation",
}

@Article{VandenBosch:j-ACM-COMPREV-31-7-343,
  author =       "P. N. Van den Bosch",
  title =        "Weaving a Program: Literate Programming in {WEB}",
  journal =      j-ACM-COMPREV,
  volume =       "31",
  number =       "7",
  year =         "1990",
  pages =        "343--344",
  acknowledgement = ack-eg,
}

@Article{VanWyk:CACM-33-3-361,
  author =       "Christopher J. {Van Wyk}",
  title =        "Literate Programming\emdash{}An Assessment",
  journal =      j-CACM,
  year =         "1990",
  volume =       "33",
  number =       "3",
  pages =        "361, 365",
  month =        mar,
}

@Article{Waite:SIGPLAN-28-2-21,
  author =       "W. M. Waite",
  title =        "An Executable Language Definition",
  journal =      j-SIGPLAN,
  year =         "1993",
  volume =       "28",
  number =       "2",
  pages =        "21--40",
  month =        feb,
  note =         "This paper describes a subset of C, called C--,
                 defined as a literate program using the Eli and
                 FunnelWeb systems.",
  ISSN =         "0362-1340",
  abstract =     "This paper is an application of the literate
                 programming paradigm to language definition. C-- is a
                 scaled down version of C. The features selected
                 illustrate basic problems for compiler designers:
                 scanning, parsing, name analysis, overload resolution,
                 static storage allocation and code generation. Features
                 that merely increase the implementation effort without
                 illustrating such techniques were excluded. This paper
                 defines the structure and meaning of a C-- program. It
                 has five sections, each dealing with one aspect of the
                 language: basic symbols and comments, program
                 structure, declarations, expressions and statements.
                 (12 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Electr. and Comput. Eng., Colorado Univ.,
                 Boulder, CO, USA",
  bibdate =      "Sat Nov 12 21:22:15 1994",
  classification = "C6140D (High level languages); C6110B (Software
                 engineering techniques)",
  CODEN =        "SINOD",
  keywords =     "Executable language definition; Literate programming
                 paradigm; Compiler designers; C-- program; Program
                 structure",
  thesaurus =    "C language; Formal specification",
}

@TechReport{Williams:FUM92,
  author =       "Ross Williams",
  title =        "{FunnelWeb} User's Manual",
  institution =  "University of Adelaide",
  year =         "1992",
  type =         "\path|ftp.adelaide.edu.au| in \path|/pub/compression|
                 and \path|/pub/funnelweb|",
  address =      "Adelaide, South Australia, Australia",
  acknowledgement = ack-bc,
  bibdate =      "Mon Oct 4 17:25:40 1993",
}

@Article{Wu:J-ACM-ADALET-9-5-84,
  author =       "Y. C. Wu and Ted P. Baker",
  title =        "A Source Code Documentation System for {Ada}",
  journal =      j-ACM-ADALET,
  volume =       "9",
  number =       "5",
  year =         "1989",
  pages =        "84--88",
  acknowledgement = ack-eg,
}

@Article{Zeng:LPS91,
  author =       "Yunfeng Zeng",
  title =        "Literate programming system {CDS}",
  journal =      "Journal of Computer Science and Technology [English
                 Language Edition]",
  volume =       "6",
  number =       "3",
  pages =        "263--270",
  month =        jul,
  year =         "1991",
  ISSN =         "1000-9000",
  abstract =     "The paper presents a broad outline and some
                 implementation techniques of the literate programming
                 system CDS. Compared with the previous ones (e.g. WEB,
                 Cweb), CDS has two main characteristics: (1) a
                 Chinese-English typesetting system developed to produce
                 the documentation, making Chinese documentation
                 possible; and (2) a suitable method for automatic
                 formatting introduced to generate the software
                 documentation automatically. This frees the programmer
                 from typesetting details while still allowing
                 programmer's interference. (7 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Inst. of Software, Acad. Sinica, Beijing, China",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6115 (Programming support)",
  CODEN =        "JCTEE",
  keywords =     "CDS; Literate programming system; Chinese-English
                 typesetting system; Automatic formatting; Software
                 documentation",
  thesaurus =    "Programming environments; Software tools; System
                 documentation",
}

@Book{Broy:MPS91,
  title =        "Methods of programming. Selected papers on the
                 {CIP}-Project",
  pages =        "xii + 268",
  month =        "",
  year =         "1991",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  ISBN =         "3-540-54576-X",
  LCCN =         "QA76.6 .M4543 1991, QA267.A1 L43 no.544",
  abstract =     "The following topics were dealt with: meta-models for
                 system development including OOP; transformational
                 programming; software reusability; formal
                 specification; deductive program development; reverse
                 Polish notation; literate programming; quantifier
                 elimination; and algebraic and functional
                 programming.",
  acknowledgement = ack-nhfb,
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  classification = "C6110B (Software engineering techniques); C4240
                 (Programming and algorithm theory); C4210 (Formal
                 logic)",
  editor =       "M. Broy and M. Wirsing",
  keywords =     "Meta-models; System development; OOP; Transformational
                 programming; Software reusability; Formal
                 specification; Deductive program development; Reverse
                 Polish notation; Literate programming; Quantifier
                 elimination; Functional programming",
  thesaurus =    "Formal logic; Formal specification; Programming;
                 Programming theory; Software reusability",
}
