%%% -*-BibTeX-*-
%%% /u/sy/beebe/tex/bib/litprog.bib, Wed Mar 11 07:57:40 1992
%%% Edit by Nelson H. F. Beebe <beebe at math.utah.edu>
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "3.33",
%%%     date            = "16 March 2019",
%%%     time            = "07:53:58 MDT",
%%%     filename        = "litprog.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     URL             = "http://www.math.utah.edu/~beebe",
%%%     checksum        = "40443 8415 37644 371397",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography; BibTeX; literate programming",
%%%     license         = "public domain",
%%%     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.
%%%
%%%                        At version 3.33, the coverage looked like
%%%                        this:
%%%
%%%                             1982 (   1)    1994 (  19)    2006 (   5)
%%%                             1983 (   2)    1995 (  17)    2007 (   4)
%%%                             1984 (   2)    1996 (  30)    2008 (   2)
%%%                             1985 (   1)    1997 (  14)    2009 (   3)
%%%                             1986 (  11)    1998 (  14)    2010 (   4)
%%%                             1987 (  10)    1999 (   6)    2011 (   1)
%%%                             1988 (  11)    2000 (   5)    2012 (   2)
%%%                             1989 (  15)    2001 (   3)    2013 (   0)
%%%                             1990 (  25)    2002 (  10)    2014 (   0)
%%%                             1991 (  15)    2003 (  10)    2015 (   1)
%%%                             1992 (  24)    2004 (   5)    2016 (   0)
%%%                             1993 (  22)    2005 (   7)    2017 (   3)
%%%                             19xx (   1)
%%%
%%%                             Article:        138
%%%                             Book:            35
%%%                             InCollection:     1
%%%                             InProceedings:   49
%%%                             MastersThesis:    5
%%%                             Misc:            20
%%%                             PhdThesis:        7
%%%                             Proceedings:     20
%%%                             TechReport:      29
%%%                             Unpublished:      1
%%%
%%%                             Total entries:  305
%%%
%%%                        There is an extensive ``Literate Programming
%%%                        Library'' resource on the World Wide Web at
%%%
%%%                            http://www.desy.de/pub/www/projects/LitProg.html
%%%
%%%                        and a Web host devoted to the topic at
%%%
%%%                            http://www.literateprogramming.com/
%%%
%%%                        This bibliography has been collected from
%%%                        bibliographies in the author's personal
%%%                        files, from the various OCLC databases, from
%%%                        the IEEE INSPEC database, from the UnCover
%%%                        database, and from the computer science
%%%                        bibliography collection on ftp.ira.uka.de in
%%%                        /pub/bibliography to which many people of
%%%                        have contributed.  The snapshot of this
%%%                        collection was taken on 5-May-1994, and it
%%%                        consists of 441 BibTeX files, 2,672,675
%%%                        lines, 205,289 entries, and 6,375
%%%                        <at>String{} abbreviations, occupying 94.8MB
%%%                        of disk space.
%%%
%%%                        Numerous errors in the sources noted above
%%%                        have been corrected.  Spelling has been
%%%                        verified with the UNIX spell and GNU ispell
%%%                        programs using the exception dictionary
%%%                        stored in the companion file with extension
%%%                        .sok.
%%%
%%%                        BibTeX citation tags are uniformly chosen
%%%                        as name:year:abbrev, where name is the
%%%                        family name of the first author or editor,
%%%                        year is a 4-digit number, and abbrev is a
%%%                        3-letter condensation of important title
%%%                        words. Citation tags were automatically
%%%                        generated by the biblabel software
%%%                        developed for the BibNet Project.
%%%
%%%                        In this bibliography, entries are sorted
%%%                        first by ascending year, and within each
%%%                        year, alphabetically by author or editor,
%%%                        and then, if necessary, by the 3-letter
%%%                        abbreviation at the end of the BibTeX
%%%                        citation tag, using the bibsort -byyear
%%%                        utility.  Year order has been chosen to
%%%                        make it easier to identify the most recent
%%%                        work.
%%%
%%%                        The bibsort utility, and several related
%%%                        programs for bibliography maintenance, is
%%%                        available on ftp.math.utah.edu in
%%%                        /pub/tex/bib, and at other Internet sites
%%%                        which mirror it, including the
%%%                        Comprehensive TeX Archive Network (CTAN);
%%%                        the command `finger ctan<at>pip.shsu.edu'
%%%                        will produce a list of CTAN hosts.
%%%
%%%                        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
    }" #
    "\ifx \undefined \pkg       \def \pkg       #1{{{\tt #1}}} \fi" #
    "\ifx \undefined \acro      \def \acro      #1{{\sc #1}}   \fi"
}

%%% ====================================================================
%%% 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.org|"}

@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-hk  =  "Hanna K{\"o}lodziejska,
                    {\"O}srodek Obliczeniowy,
                    Instytutu Informatyki UW,
                    P{\"a}lac Kultury i Nauki pok. 838,
                    00-901 Warszawa,
                    Poland"}

@String{ack-kn = "Kurt N{\o}rmark,
                  Department of Computer Science.
                  Aalborg University,
                  Fredrik Bajers Vej 7, Building E,
                  DK-9220 Aalborg {\O},
                  Denmark,
                  e-mail: \path|normark@cs.auc.dk|,
                  URL: \path|http://www.cs.auc.dk/~normark/|"}

@String{ack-lw =  "Lee Wittenberg,
                 Computer Science Department,
                 Kean University,
                 Union, NJ 07083,
                 USA,
                 e-mail: \path|leew@samson.kean.edu|"}

@String{ack-ma =  "M. Afzal
                 e-mail: \path|M.Afzal@greenwich.ac.uk|"}

@String{ack-nhfb = "Nelson H. F. Beebe,
                    University of Utah,
                    Department of Mathematics, 110 LCB,
                    155 S 1400 E RM 233,
                    Salt Lake City, UT 84112-0090, USA,
                    Tel: +1 801 581 5254,
                    FAX: +1 801 581 4148,
                    e-mail: \path|beebe@math.utah.edu|,
                            \path|beebe@acm.org|,
                            \path|beebe@computer.org| (Internet),
                    URL: \path|http://www.math.utah.edu/~beebe/|"}

@String{ack-nr  = "Norman Ramsey,
                   e-mail: \path|nr@cs.virginia.edu|"}

@String{ack-pb  = "Preston Briggs,
                   e-mail: \path|preston@tera.com|"}

@String{ack-pt  = "Piet Tutelaers
                   e-mail: \path|rcpt@urc.tue.nl|"}

@String{ack-r-project = "R Project Team"}

%%% ====================================================================
%%% Institutional abbreviations:

@String{inst-STAN-CS            = "Stanford University, Department of
                                  Computer Science"}

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

@String{j-ACM-ADALET            = "ACM Ada Letters"}

@String{j-ACM-COMM-COMP-ALGEBRA = "ACM Communications in Computer Algebra"}

@String{j-ACM-COMPREV           = "ACM Computing Reviews"}

@String{j-APL-QUOTE-QUAD        = "APL Quote Quad"}

@String{j-CACM                  = "Communications of the Association
                                  for Computing Machinery"}

@String{j-CCCUJ                 = "C/C++ Users Journal"}

@String{j-CHANCE                = "Chance: a magazine for people interested in the analysis of data"}

@String{j-COMP-J                = "The Computer Journal"}

@String{j-COMP-LANG-MAG         = "Computer Language Magazine"}

@String{j-COMPUT-STAT-Q         = "Computational Statistics Quarterly"}

@String{j-COMP-STANDARDS-INTERFACES = "Computer Standards and Interfaces"}

@String{j-COMPUTER              = "Computer"}

@String{j-DDJ                   = "Dr. Dobb's Journal of Software Tools"}

@String{j-FORTRAN-FORUM         = "ACM Fortran Forum"}

@String{j-IEEE-APM              = "IEEE Antennas and Propagation Magazine"}

@String{j-IEEE-ASSP-MAG         = "IEEE ASSP magazine: a publication of the
                                  IEEE Acoustics, Speech, and Signal Processing
                                  Society"}

@String{j-IEEE-SOFTWARE         = "IEEE Software"}

@String{j-IEEE-TRANS-SOFTW-ENG  = "IEEE Transactions on Software Engineering"}

@String{j-IFIP-TRANS-A          = "IFIP Transactions. A. Computer Science and
                                  Technology"}

@String{j-IJQC                  = "International Journal of Quantum Chemistry"}

@String{j-INFO-PROC-SOC-JAPAN   = "Journal of the Information Processing
                                  Society of Japan = Joho Shori"}

@String{j-INFORMATIE            = "Informatie"}

@String{j-J-APPL-ECONOMETRICS   = "Journal of Applied Econometrics"}

@String{j-J-COMP-SCI-TECH       = "Journal of Computer Science and Technology"}

@String{j-J-FUNCT-PROGRAM       = "Journal of Functional Programming"}

@String{j-J-OOP                 = "Journal of Object Oriented Programming"}

@String{j-J-OPEN-SOURCE-SOFT    = "Journal of Open Source Software"}

@String{j-J-STAT-SOFT           = "Journal of Statistical Software"}

@String{j-JERIC                 = "ACM Journal on Educational Resources in
                                  Computing (JERIC)"}

@String{j-LECT-NOTES-COMP-SCI   = "Lecture Notes in Computer Science"}

@String{j-LINUX-JOURNAL         = "Linux Journal"}

@String{j-M-COMPUTING           = "M Computing"}

@String{j-R-JOURNAL             = "The R Journal"}

@String{j-R-NEWS                = "R News: the Newsletter of the R Project"}

@String{j-RS-MAGAZINE           = "RS\slash Magazine"}

@String{j-SEJ                   = "Software Engineering Journal"}

@String{j-SIGCSE                = "SIGCSE Bulletin (ACM Special Interest Group
                                  on Computer Science Education)"}

@String{j-SIGPLAN               = "ACM SIGPLAN Notices"}

@String{j-SOFTWARE-CONCEPTS-TOOLS = "Software --- Concepts and Tools"}

@String{j-SPE                   = "Soft{\-}ware\emdash Prac{\-}tice
                                  and Experience"}

@String{j-STRUCT-PROGRAM        = "Structured Programming"}

@String{j-SUNEXPERT             = "SunExpert"}

@String{j-TEXHAX                = "{\TeX{}{\-}hax}"}

@String{j-TEXNIQUES             = "{\TeX{}}{\-}niques, Publications for
                                  the {\TeX{}} community"}

@String{j-TOPLAS                = "ACM Transactions on Programming
                                  Languages and Systems"}

@String{j-TUGBOAT               = "{\TUB{}}"}

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

@String{pub-ACM                 = "ACM Press"}
@String{pub-ACM:adr             = "New York, NY 10036, USA"}

@String{pub-APRESS              = "Apress"}
@String{pub-APRESS:adr          = "Berkeley, CA, 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-CAMBRIDGE           = "Cambridge University Press"}
@String{pub-CAMBRIDGE:adr       = "Cambridge, UK"}

@String{pub-CSLI                = "CSLI Publications"}
@String{pub-CSLI:adr            = "Stanford, CA, USA"}

@String{pub-FSF                 = "{Free Software Foundation, Inc.}"}
@String{pub-FSF:adr             = "51 Franklin Street, Fifth Floor, Boston,
                                  MA 02110-1301, USA, Tel: (617) 876-3296"}

@String{pub-IEEE                = "IEEE Computer Society Press"}

@String{pub-IEEE-CSP            = "IEEE CS Press"}
@String{pub-IEEE-CSP:adr        = "Los Alamitos, CA, USA"}
@String{pub-IEEE:adr            = "1109 Spring Street, Suite 300, Silver
                                    Spring, MD 20910, USA"}

@String{pub-ITCP                = "International Thomson Computer Press"}
@String{pub-ITCP:adr            = "20 Park Plaza Suite 1001, Boston,
                                  MA 02116 USA"}

@String{pub-ITP                 = "International Thomson Publishing"}
@String{pub-ITP:adr             = "5101 Madison Road, Cincinnati, OH
                                  45227, USA"}

@String{pub-MH                  = "Mc{\-}Graw-Hill"}
@String{pub-MH:adr              = "New York, NY, USA"}

@String{pub-MIT                 = "MIT Press"}
@String{pub-MIT:adr             = "Cambridge, MA, USA"}

@String{pub-NO-STARCH           = "No Starch Press"}
@String{pub-NO-STARCH:adr       = "San Francisco, CA, 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-USENIX              = "USENIX"}
@String{pub-USENIX:adr          = "Berkeley, CA, USA"}

@String{pub-VIEWEG              = "Vieweg \& Son"}
@String{pub-VIEWEG:adr          = "Braunschweig, Germany"}

@String{pub-VNR                 = "Van Nostrand Reinhold"}
@String{pub-VNR:adr             = "New York, NY, USA"}

@String{pub-WORLD-SCI           = "World Scientific Publishing
                                  Co. Pte. Ltd."}
@String{pub-WORLD-SCI:adr       = "P. O. Box 128, Farrer Road,
                                  Singapore 9128"}

%%% ====================================================================
%%% Series abbreviations:

@String{ser-LNCS                = "Lecture Notes in Computer Science"}

%%% ====================================================================
%%% Bibliography entries, sorted by year, and within years, by citation
%%% label (using ``bibsort -byyear''):

@Article{Knuth:1982:FPG,
  author =       "Donald Knuth",
  title =        "Fixed-point glue setting\emdash{}an example of {{\tt
                 WEB}}",
  journal =      j-TUGBOAT,
  volume =       "3",
  number =       "1",
  pages =        "10",
  month =        Mar,
  year =         "1982",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@TechReport{Knuth:1983:LP,
  author =       "Donald E. Knuth",
  title =        "Literate Programming",
  type =         "Technical report",
  number =       "STAN-CS-83-981",
  institution =  inst-STAN-CS,
  year =         "1983",
  bibdate =      "Fri Sep 23 02:22:30 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-hk,
}

@TechReport{Knuth:1983:WSS,
  author =       "Donald E. Knuth",
  title =        "The {\WEB{}} System of Structured Documentation",
  type =         "Stanford Computer Science Report",
  number =       "{CS}980",
  institution =  "Stanford University",
  address =      "Stanford, {CA}",
  month =        sep,
  year =         "1983",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Knuth:1984:LP,
  author =       "Donald E. Knuth",
  title =        "Literate Programming",
  journal =      j-COMP-J,
  volume =       "27",
  number =       "2",
  pages =        "97--111",
  month =        may,
  year =         "1984",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Wed Aug 24 17:14:45 MDT 1994",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The author and his associates have been experimenting
                 for the past several years with a programming language
                 and documentation system called WEB. This paper
                 presents WEB by example and discusses why the new
                 system appears to be an improvement over previous
                 ones.",
  acknowledgement = ack-nhfb,
  classification = "723",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "computer programming; computer programming languages;
                 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",
}

@TechReport{Thimbleby:1984:LPC,
  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",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
}

@Article{Lecarme:1985:LP,
  author =       "O. Lecarme",
  title =        "Literate Programming",
  journal =      j-ACM-COMPREV,
  volume =       "26",
  number =       "1",
  pages =        "75",
  year =         "1985",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-eg,
}

@Article{Appelt:1986:MCW,
  author =       "W. Appelt and K. Horn",
  title =        "Multiple changefiles in {\WEB}",
  journal =      j-TUGBOAT,
  volume =       "7",
  number =       "1",
  pages =        "20",
  month =        Mar,
  year =         "1986",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@InProceedings{Baecker:1986:DPE,
  author =       "Ronald Baecker and Aaron Marcus",
  booktitle =    "Proceedings {CHI}'86 (Human Factors in Computing
                 Systems)",
  title =        "Design Principles for the Enhanced Presentation of
                 Computer Program Source Text",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "51--58",
  month =        apr,
  year =         "1986",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Becker:1986:WSE,
  author =       "Helmut Becker",
  title =        "{\WEB} system extensions",
  journal =      j-TUGBOAT,
  volume =       "7",
  number =       "2",
  pages =        "109",
  month =        Jun,
  year =         "1986",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@Article{Ben-Ari:1986:FTD,
  author =       "Mordechai Ben-Ari",
  title =        "{FOREET}: a Tool for Design and Documentation of
                 {Fortran} Programs",
  journal =      j-SPE,
  volume =       "16",
  number =       "10",
  pages =        "915--924",
  year =         "1986",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-eg,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Bentley:1986:PPLa,
  author =       "Jon Bentley and {with Special Guest Oyster, Donald} E.
                 Knuth",
  title =        "Programming Pearls: Literate Programming: a {\tt WEB}
                 program for sampling",
  journal =      j-CACM,
  volume =       "29",
  number =       "5",
  pages =        "364--369",
  month =        may,
  year =         "1986",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 17 11:46:37 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Reprinted in \cite[pp.~137--149]{Knuth:1992:LP}.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Bentley:1986:PPLb,
  author =       "Jon Bentley and Donald E. Knuth and M. Douglas
                 McIlroy",
  title =        "Programming Pearls: a Literate Program: a {{\tt WEB}}
                 program for common words",
  journal =      j-CACM,
  volume =       "29",
  number =       "6",
  pages =        "471--483",
  month =        jun,
  year =         "1986",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/5948.315654",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Feb 03 15:15:45 2003",
  bibsource =    "http://dblp.uni-trier.de/db/journals/cacm/cacm29.html#Bentley86b;
                 http://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See another solution to the problem of printing the
                 $k$ most common words of a text file in
                 \cite{VanWyk:1987:LPPa}. Reprinted in
                 \cite[151--177]{Knuth:1992:LP}.",
  URL =          "https://dl.acm.org/ft_gateway.cfm?id=315653",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
  keywords =     "programming pearls",
  oldlabel =     "Bentley86b",
  remark =       "With Special Guest Oysters Don Knuth and Doug
                 McIlroy.",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Bentley86b",
}

@Article{Guntermann:1986:WAC,
  author =       "Klaus Guntermann and Joachim Schrod",
  title =        "{\WEB} adapted to {C}",
  journal =      j-TUGBOAT,
  volume =       "7",
  number =       "3",
  pages =        "134--137",
  month =        Oct,
  year =         "1986",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@Book{Knuth:1986:CMT,
  author =       "Donald E. Knuth",
  title =        "{Computer Modern} Typefaces",
  volume =       "E",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xv + 588",
  year =         "1986",
  ISBN =         "0-201-13446-2",
  ISBN-13 =      "978-0-201-13446-9",
  LCCN =         "Z250.8.M46 K574 1986",
  bibdate =      "Wed Dec 15 10:37:33 1993",
  bibsource =    "http://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
                 http://www.math.utah.edu/pub/tex/bib/datacompression.bib;
                 http://www.math.utah.edu/pub/tex/bib/font.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/texbook3.bib;
                 http://www.math.utah.edu/pub/tex/bib/texgraph.bib;
                 http://www.math.utah.edu/pub/tex/bib/typeset.bib",
  series =       "Computers and Typesetting",
  acknowledgement = ack-nhfb,
  remark =       "Reprinted with corrections July, 1987.",
  tableofcontents = "Introduction to the Parameters / 1 \\
                 Organization of the Files / 8 \\
                 Parameter Files / 10 \\
                 Driver Files / 36 \\
                 {\tt roman}: Roman text and typewriter text / 36 \\
                 {\tt title}: Caps and digits only / 38 \\
                 {\tt texset} : Extended ASCII character set / 38 \\
                 {\tt csc}: Caps and small caps / 40 \\
                 {\tt textit}: Italic text and typewriter text / 41 \\
                 {\tt mathit}: Math italic / 42 \\
                 {\tt mathsy}: Math symbols / 44 \\
                 {\tt mathex}: Math extension characters / 44 \\
                 Program Files / 46 \\
                 {\tt accent}: Accents common to roman and italic / 49
                 \\
                 {\tt bigacc}: Wide accents for math extension font / 63
                 \\
                 {\tt bigdel}: Delimiters for math extension font / 66
                 \\
                 {\tt bigop}: Operators for math extension font / 103
                 \\
                 {\tt calu}: Calligraphic capitals / 123 \\
                 {\tt comlig}: Ligatures common to roman and italic /
                 141 \\
                 {\tt cscspu}: Special uppercase for caps and small caps
                 / 145 \\
                 {\tt greekl}: Lowercase Greek / 147 \\
                 {\tt greeku}: Upper case Greek / 171 \\
                 {\tt itald}: Italic digits / 193 \\
                 {\tt italig}: Italic f-ligatures / 199 \\
                 {\tt itall}: Italic lowercase / 209 \\
                 {\tt italms}: Italic math specials / 233 \\
                 {\tt italp}: Italic punctuation / 239 \\
                 {\tt italsp}: Special lowercase for italic / 245 \\
                 {\tt olddig}: Oldstyle digits / 251 \\
                 {\tt punct}: Punctuation common to roman and italic /
                 265 \\
                 {\tt romand}: Roman digits / 285 \\
                 {\tt romanl}: Roman lowercase / 305 \\
                 {\tt romanp}: Roman punctuation / 361 \\
                 {\tt romanu}: Roman uppercase / 369 \\
                 {\tt romlig}: Roman f-ligatures / 421 \\
                 {\tt romms}: Roman math specials / 431 \\
                 {\tt romspl}: Special lowercase for roman / 443 \\
                 {\tt romspu}: Special uppercase for roman / 451 \\
                 {\tt romsub}: Substitutes for ligatures / 457 \\
                 {\tt sym}: Math symbols common to several fonts / 459
                 \\
                 {\tt symbol}: Math symbols in symbol font only / 483
                 \\
                 {\tt tset}: Extended ASCII symbols / 542 \\
                 {\tt tsetsl}: Extended ASCII symbols to be slanted /
                 543 \\
                 The Base File / 545 \\
                 Font Specimens / 554 \\
                 General Index / 571 Index to Character Programs / 581",
}

@Book{Knuth:1986:MP,
  author =       "Donald E. Knuth",
  title =        "{\METAFONT}: The Program",
  volume =       "D",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xv + 560",
  year =         "1986",
  ISBN =         "0-201-13438-1",
  ISBN-13 =      "978-0-201-13438-4",
  LCCN =         "Z250.8.M46 K578 1986",
  bibdate =      "Wed Dec 15 10:37:32 1993",
  bibsource =    "http://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
                 http://www.math.utah.edu/pub/tex/bib/datacompression.bib;
                 http://www.math.utah.edu/pub/tex/bib/font.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/texbook3.bib;
                 http://www.math.utah.edu/pub/tex/bib/texgraph.bib;
                 http://www.math.utah.edu/pub/tex/bib/typeset.bib",
  series =       "Computers and Typesetting",
  acknowledgement = ack-nhfb,
  tableofcontents = "1 Introduction / \S 1 \\
                 2 The character set / \S 17 \\
                 3 Input and output / \S 24 \\
                 4 String handling / \S 37 \\
                 5 On-line and off-line printing / \S 54 \\
                 6 Reporting errors / \S 67 \\
                 7 Arithmetic with scaled numbers / \S 95 \\
                 8 Algebraic and transcendental functions / \S 120 \\
                 9 Packed data / \S 153 \\
                 10 Dynamic memory allocation / \S 158 \\
                 11 Memory layout / \S 175 \\
                 12 The command codes / \S 186 \\
                 13 The hash table / \S 200 \\
                 14 Token lists / \S 214 \\
                 15 Data structures for variables / \S 228 \\
                 16 Saving and restoring equivalents / \S 250 \\
                 17 Data structures for paths / \S 255 \\
                 18 Choosing control points / \S 269 \\
                 19 Generating discrete moves / \S 303 \\
                 20 Edge structures / \S 323 \\
                 21 Subdivision into octants / \S 386 \\
                 22 Filling a contour / \S 460 \\
                 23 Polygonal pens / \S 469 \\
                 24 Filling an envelope / \S 490 \\
                 25 Elliptical pens / \S 524 \\
                 26 Direction and intersection times / \S 538 \\
                 27 Online graphic output / \S 564 \\
                 28 Dynamic linear equations / \S 585 \\
                 29 Dynamic nonlinear equations / \S 618 \\
                 30 Introduction to the syntactic routines / \S 624 \\
                 31 Input stacks and states / \S 627 \\
                 32 Maintaining the input stacks / \S 647 \\
                 33 Getting the next token / \S 658 \\
                 34 Scanning macro definitions / \S 683 \\
                 35 Expanding the next token / \S 706 \\
                 36 Conditional processing / \S 738 \\
                 37 Iterations / \S 752 \\
                 38 File names / \S 766 \\
                 39 Introduction to the parsing routines / \S 796 \\
                 40 Parsing primary expressions / \S 823 \\
                 41 Parsing secondary and higher expressions / \S 862
                 \\
                 42 Doing the operations / \S 893 \\
                 43 Statements and commands / \S 989 \\
                 44 Commands / \S 1020 \\
                 45 Font metric data / \S 1087 \\
                 46 Generic font file format / \S 1142 \\
                 47 Shipping characters out / \S 1149 \\
                 48 Dumping and undumping the tables / \S 1183 \\
                 49 The main program / \S 1202 \\
                 50 Debugging / \S 1212 \\
                 51 System-dependent changes / \S 1214 \\
                 52 Index / \S 1215",
}

@Book{Knuth:1986:TP,
  author =       "Donald E. Knuth",
  title =        "{\TeX}: The Program",
  volume =       "B",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xv + 594",
  year =         "1986",
  ISBN =         "0-201-13437-3",
  ISBN-13 =      "978-0-201-13437-7",
  LCCN =         "Z253.4.T47 K578 1986",
  bibdate =      "Wed Dec 15 10:36:54 1993",
  bibsource =    "http://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
                 http://www.math.utah.edu/pub/tex/bib/datacompression.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/texbook3.bib;
                 http://www.math.utah.edu/pub/tex/bib/texgraph.bib;
                 http://www.math.utah.edu/pub/tex/bib/typeset.bib",
  series =       "Computers and Typesetting",
  acknowledgement = ack-nhfb,
  tableofcontents = "1 Introduction / \S 1 \\
                 2 The character set / \S 17 \\
                 3 Input and output / \S 25 \\
                 4 String handling / \S 38 \\
                 5 On-line and off-line printing / \S 54 \\
                 6 Reporting errors / \S 72 \\
                 7 Arithmetic with scaled dimensions / \S 99 \\
                 8 Packed data / \S 110 \\
                 9 Dynamic memory allocation / \S 115 \\
                 10 Data structures for boxes and their friends / \S 133
                 \\
                 11 Memory layout / \S 162 \\
                 12 Displaying boxes / \S 173 \\
                 13 Destroying boxes / \S 199 \\
                 14 Copying boxes / \S 203 \\
                 15 The command codes / \S 207 \\
                 16 The semantic nest / \S 211 \\
                 17 The table of equivalents / \S 220 \\
                 18 The hash table / \S 256 \\
                 19 Saving and restoring equivalents / \S 268 \\
                 20 Token lists / \S 289 \\
                 21 Introduction to the syntactic routines / \S 297 \\
                 22 Input stacks and states / \S 300 \\
                 23 Maintaining the input stacks / \S 321 \\
                 24 Getting the next token / \S 332 \\
                 25 Expanding the next token / \S 366 \\
                 26 Basic scanning subroutines / \S 402 \\
                 27 Building token lists / \S 464 \\
                 28 Conditional processing / \S 487 \\
                 29 File names / \S 511 \\
                 30 Font metric data / \S 539 \\
                 31 Device-independent file format / \S 583 \\
                 32 Shipping pages out / \S 592 \\
                 33 Packaging / \S 644 \\
                 34 Data structures for math mode / \S 680 \\
                 35 Subroutines for math mode / \S 699 \\
                 36 Typesetting math formulas / \S 719 \\
                 37 Alignment / \S 768 \\
                 38 Breaking paragraphs into lines / \S 813 \\
                 39 Breaking paragraphs into lines, continued / \S 862
                 \\
                 40 Pre-hyphenation / \S 891 \\
                 41 Post-hyphenation / \S 900 \\
                 42 Hyphenation / \S 919 \\
                 43 Initializing the hyphenation tables / \S 942 \\
                 44 Breaking vertical lists into pages / \S 967 \\
                 45 The page builder / \S 980 \\
                 46 The chief executive / \S 1029 \\
                 47 Building boxes and lists / \S 1055 \\
                 48 Building math lists / \S 1136 \\
                 49 Mode-independent processing / \S 1208 \\
                 50 Dumping and undumping the tables / \S 1299 \\
                 51 The main program / \S 1330 \\
                 52 Debugging / \S 1338 \\
                 53 Extensions / \S 1340 \\
                 54 System-dependent changes / \S 1376 \\
                 55 Index / \S 1377",
}

@Article{Thimbleby:1986:ELP,
  author =       "H. Thimbleby",
  title =        "Experiences of `Literate Programming' Using {Cweb}
                 ({A} Variant of {Knuth}'s {Web})",
  journal =      j-COMP-J,
  volume =       "29",
  number =       "3",
  pages =        "201--211",
  month =        jun,
  year =         "1986",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/201.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/202.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/203.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/204.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/205.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/206.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/207.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/208.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/209.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/210.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_29/Issue_03/tiff/211.tif",
  abstract =     "Cweb is a literate programming system for the
                 programming language C. Experience developing and using
                 it forms the basis of this paper, the purpose of which
                 is to: support Knuth's enthusiasm for literate
                 programming; discuss developments in literate
                 programming support, both within the current framework
                 of Cweb and to interactive graphics support; discuss
                 the implementation issues, considering Cweb as part of
                 a simple IPSE (Integrated Support Environment); the
                 conclusions for IPSEs appear pessimistic.",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of York, York, Engl",
  affiliationaddress = "Univ of York, York, Engl",
  classcodes =   "C6110 (Systems analysis and programming); C6115
                 (Programming support)",
  classification = "723",
  corpsource =   "Dept. of Comput. Sci., York Univ., UK",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "C language; computer programming; computer programming
                 languages; cweb; Cweb system; environment; graphics
                 support; integrated project support; interactive; IPSE;
                 Knuth's WEB; literate programming; program
                 documentation; programming; programming environments;
                 software tool; software tools; system documentation;
                 troff",
  treatment =    "P Practical",
}

@InProceedings{Beck:1987:ERT,
  author =       "K. Beck and W. Cunningham",
  booktitle =    "CASE'87, Boston, Massachusetts",
  title =        "Expanding the Role of Tools in a Literate Programming
                 Environment",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "1--5",
  year =         "1987",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 13:50:00 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://c2.com/doc/case87.html;
                 http://www.literateprogramming.com/lpsmalltalk.pdf",
  acknowledgement = ack-nhfb,
  remark =       "Paper in the xxbooktitle entry not listed in IEEE
                 Xplore database.",
  xxbooktitle =  "Proceedings of the First International Workshop on
                 Computer-Aided Software Engineering, May 27--29,
                 Cambridge, Massachusetts. CASE'87",
}

@Article{Bentley:1987:PPA,
  author =       "Jon Bentley and David Gries",
  title =        "Programming Pearls\emdash{}Abstract data types",
  journal =      j-CACM,
  volume =       "30",
  number =       "4",
  pages =        "284--290",
  month =        apr,
  year =         "1987",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Denning:1987:ALP,
  author =       "Peter J. Denning",
  title =        "Announcing Literate Programming",
  journal =      j-CACM,
  volume =       "30",
  number =       "7",
  pages =        "593",
  month =        jul,
  year =         "1987",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 17 11:47:57 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Jackson:1987:LPP,
  author =       "Michael A. Jackson",
  title =        "Literate Programming\emdash{}Processing Transactions",
  journal =      j-CACM,
  volume =       "30",
  number =       "12",
  pages =        "1000--1010",
  month =        dec,
  year =         "1987",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 17 11:48:39 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Levy:1987:LPC,
  author =       "Silvio Levy",
  title =        "Literate Programming in {C}",
  journal =      j-TEXNIQUES,
  volume =       "5",
  pages =        "125--130",
  year =         "1987",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "{\TeX}{\-}niques, Publications for the {\TeX}
                 community",
}

@Article{Levy:1987:WAC,
  author =       "Silvio Levy",
  title =        "{\WEB} adapted to {C}, another approach",
  journal =      j-TUGBOAT,
  volume =       "8",
  number =       "1",
  pages =        "12--13",
  month =        Apr,
  year =         "1987",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@Article{Sewell:1987:HTM,
  author =       "E. Wayne Sewell",
  title =        "How to {{\tt MANGLE}} your software: the {\WEB} system
                 for {Modula-2}",
  journal =      j-TUGBOAT,
  volume =       "8",
  number =       "2",
  pages =        "118--122",
  month =        Jul,
  year =         "1987",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@Article{Sewell:1987:TSP,
  author =       "E. Wayne Sewell",
  title =        "The {{\tt SCANTEX}} processor",
  journal =      j-TUGBOAT,
  volume =       "8",
  number =       "2",
  pages =        "123--128",
  month =        Jul,
  year =         "1987",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@Article{VanWyk:1987:LPPa,
  author =       "Christopher J. {Van Wyk} and David R. Hanson and John
                 Gilbert",
  title =        "Literate Programming: Printing Common Words",
  journal =      j-CACM,
  volume =       "30",
  number =       "7",
  pages =        "594--599",
  month =        jul,
  year =         "1987",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Feb 03 15:14:51 2003",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/litprog.bib;
                 http://dblp.uni-trier.de/db/journals/cacm/cacm30.html#Wyk87;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See another solution to the problem of printing the
                 $k$ most common words of a text file in
                 \cite{Bentley:1986:PPLb}.",
  URL =          "ftp://ftp.cs.princeton.edu/pub/packages/loom.tar.Z",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
  keywords =     "loom literate programming processor",
  oldlabel =     "Wyk87",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Wyk87",
}

@Article{VanWyk:1987:LPPb,
  author =       "Christopher J. {Van Wyk} and Michael Jackson and David
                 W. Wall",
  title =        "Literate Programming: Processing Transactions",
  journal =      j-CACM,
  volume =       "30",
  number =       "12",
  pages =        "1000--1010",
  month =        dec,
  year =         "1987",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Jan 22 07:31:03 MST 2001",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/litprog.bib;
                 http://dblp.uni-trier.de/db/journals/cacm/cacm30.html#WykJW87;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
  oldlabel =     "WykJW87",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/WykJW87",
}

@PhdThesis{Brown:1988:IEL,
  author =       "Marcus E. Brown",
  title =        "An Interactive Environment for Literate Programming",
  type =         "Thesis ({Ph.D.})",
  school =       "Texas A\&M University",
  address =      "College Station, TX, USA",
  pages =        "ix + 102",
  month =        aug,
  year =         "1988",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@TechReport{Brown:1988:LPT,
  author =       "Marcus Edward Brown",
  title =        "The literate programming tool: the sources",
  type =         "Technical report",
  number =       "TAMU-88-023",
  institution =  "Texas A and M University, Computer Science Dept.",
  address =      "College Station, TX, USA",
  pages =        "(various)",
  month =        aug,
  year =         "1988",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Computer software -- Development.; Programming
                 (Electronic computers)",
}

@Article{Hamilton:1988:LPE,
  author =       "Eric Hamilton",
  title =        "Literate Programming\emdash{}Expanding Generalized
                 Regular Expressions",
  journal =      j-CACM,
  volume =       "31",
  number =       "12",
  pages =        "1376--1385",
  month =        dec,
  year =         "1988",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 17 11:48:56 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Kennedy:1988:TAC,
  author =       "David Kennedy",
  title =        "{\TeX} adapted to {\CWEB}",
  journal =      j-TUGBOAT,
  volume =       "9",
  number =       "2",
  pages =        "124--125",
  month =        Aug,
  year =         "1988",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@PhdThesis{Mitchell:1988:LP,
  author =       "Richard Mitchell",
  title =        "Literate programming",
  type =         "Thesis ({Ph.D.})",
  school =       "Hatfield Polytechnic",
  address =      "Hatfield, West Yorkshire, UK",
  pages =        "279",
  month =        feb,
  year =         "1988",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Modula-2 (Computer program language); Programming
                 (Electronic computers); Programming languages
                 (Electronic computers); WEB (Computer program
                 language)",
}

@Article{Mittelbach:1988:NIA,
  author =       "Frank Mittelbach",
  title =        "A New Implementation of the Array- and Tabular-
                 Environments",
  journal =      j-TUGBOAT,
  volume =       "9",
  number =       "3",
  pages =        "298--314",
  year =         "1988",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-eg,
  fjournal =     "TUGboat",
}

@Article{Oman:1988:PPS,
  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",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Aug 13 17:16:20 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "design; experimentation; languages; measurement;
                 performance",
  subject =      "D.1.m Software, PROGRAMMING TECHNIQUES,
                 Miscellaneous",
}

@TechReport{Oman:1988:PST,
  author =       "Paul W. Oman and Curtis Cook",
  title =        "A Programming Style Taxonomy",
  type =         "Technical Report",
  number =       "88-60-20",
  institution =  "Oregon State University",
  address =      "Corvallis, {OR}",
  year =         "1988",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@PhdThesis{Oman:1988:TAT,
  author =       "Paul W. Oman",
  title =        "A Taxonomic Analysis of Typographic Programming
                 Style",
  school =       "Oregon State University",
  address =      "Corvallis, OR, USA",
  month =        dec,
  year =         "1988",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Ramsdell:1988:STS,
  author =       "J. D. Ramsdell",
  title =        "{Scheme\TeX}\emdash Simple support for literate
                 programming in {Lisp}",
  journal =      j-TEXHAX,
  volume =       "88",
  number =       "39",
  month =        apr,
  year =         "1988",
  bibdate =      "Wed Aug 24 17:43:40 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "{\TeX\-hax}",
}

@Article{VanWyk:1988:LPE,
  author =       "Christopher J. {Van Wyk} and Eric Hamilton and Don
                 Colner",
  title =        "Literate Programming: Expanding Generalized Regular
                 Expressions",
  journal =      j-CACM,
  volume =       "31",
  number =       "12",
  pages =        "1376--1385",
  month =        dec,
  year =         "1988",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Jan 22 07:31:02 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/cacm/cacm31.html#WykHC88;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
  oldlabel =     "WykHC88",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/WykHC88",
}

@InProceedings{Ballard:1989:DTD,
  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",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  bookpages =    "iv + 146",
  pages =        "143--146",
  month =        nov,
  year =         "1989",
  ISBN =         "0-89791-337-X",
  ISBN-13 =      "978-0-89791-337-9",
  LCCN =         "QA 76.9 D6 S54 1989",
  bibdate =      "Sat Sep 17 11:05:18 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Synectics Inc., Chicago, IL, USA",
  classification = "C6110 (Systems analysis and programming)",
  confdate =     "8--10 Nov. 1989",
  conflocation = "Pittsburgh, PA, USA",
  confsponsor =  "ACM",
  keywords =     "Documentation; Testing",
  pubcountry =   "USA",
  thesaurus =    "Program testing; System documentation",
}

@InProceedings{Kredel:1989:SDC,
  author =       "H. Kredel",
  title =        "Software development for computer algebra or from
                 {ALDES\slash SAC-2} to {WEB\slash Modula-2}",
  crossref =     "Gianni:1989:SAC",
  pages =        "447--455",
  year =         "1989",
  bibdate =      "Thu Sep 26 06:21:35 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The author defines a new concept for developing
                 computer algebra software. The development system will
                 integrate a documentation system, a programming
                 language, algorithm libraries, and an interactive
                 calculation facility. The author exemplifies the
                 workability of this concept by applying it to the well
                 known ALDES/SAC-2 system. The ALDES Translator is
                 modified to help in converting ALDES/SAC-2 Code to
                 Modula-2. The implementation and module setup of the
                 SAC-2 basic system, list processing system and
                 arithmetic system in Modula-2 are discussed. An example
                 gives a first idea of the performance of the system.
                 The WEB System of Structured Documentation is used to
                 generate documentation with {\TeX}.",
  acknowledgement = ack-nhfb,
  affiliation =  "Passau Univ., West Germany",
  classification = "C6110B (Software engineering techniques); C7310
                 (Mathematics)",
  keywords =     "ALDES/SAC-2 system; Algorithm libraries; Computer
                 algebra software; Documentation system; Interactive
                 calculation facility; Performance; Programming
                 language; WEB/Modula-2",
  thesaurus =    "Mathematics computing; Software engineering; Symbol
                 manipulation",
}

@MastersThesis{Kuhlmann:1989:EIW,
  author =       "Karl-Wilhelm Kuhlmann",
  title =        "{Entwurf und Implementierung eines Werkzeuges zum
                 Literate Programming}",
  type =         "Diplomarbeit",
  school =       "Universit{\"a}t Bielefeld, Fakult{\"a}t f{\"u}r
                 Wirtschaftswiss",
  address =      "Bielefeld, Germany",
  pages =        "115",
  year =         "1989",
  bibdate =      "Tue Mar 03 12:03:08 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Lins:1989:FLA,
  author =       "Charles Lins",
  title =        "A First Look at Literate Programming",
  journal =      j-STRUCT-PROGRAM,
  volume =       "10",
  number =       "1",
  pages =        "60--62",
  year =         "1989",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Apple Comput. Inc., Cupertino, CA, USA",
  classification = "C6110 (Systems analysis and programming)",
  fjournal =     "Structured Programming",
  keywords =     "Literate programming",
  thesaurus =    "Programming; System documentation",
}

@Article{Lins:1989:ILP,
  author =       "Charles Lins",
  title =        "An Introduction to Literate Programming",
  journal =      j-STRUCT-PROGRAM,
  volume =       "10",
  number =       "2",
  pages =        "107--112",
  year =         "1989",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Apple Comput. Inc., Cupertino, CA, USA",
  classification = "C6110 (Systems analysis and programming)",
  fjournal =     "Structured Programming",
  keywords =     "Literate programming; Modula-2; Programming style;
                 Relation abstract data type; Relational database
                 theory; Structured programming",
  thesaurus =    "Structured programming",
}

@Article{Ramsey:1989:WLI,
  author =       "Norman Ramsey",
  title =        "Weaving a Language-Independent {\WEB}",
  journal =      j-CACM,
  volume =       "32",
  number =       "9",
  pages =        "1051--1055",
  month =        sep,
  year =         "1989",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Reenskaug:1989:ELS,
  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",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:45 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Center for Ind., Oslo, Norway",
  classification = "C6115 (Programming support)",
  confdate =     "1--6 Oct. 1989",
  conflocation = "New Orleans, LA, USA",
  confsponsor =  "ACM",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Class definitions; Compiled Smalltalk programs;
                 design; documentation; languages; Literate programming;
                 Method definitions; Multi-media document production
                 system; Problem solving process; Program documentation;
                 Program fragments; Programming environment;
                 reliability; Smalltalk programs; Test inputs; Test
                 results",
  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",
}

@Book{Sewell:1989:WPL,
  author =       "E. Wayne Sewell",
  title =        "Weaving a Program: Literate Programming in {\WEB}",
  publisher =    pub-VNR,
  address =      pub-VNR:adr,
  pages =        "xx + 556",
  year =         "1989",
  ISBN =         "0-442-31946-0",
  ISBN-13 =      "978-0-442-31946-5",
  LCCN =         "QA76.73.W24 S491 1989",
  bibdate =      "Fri Aug 19 00:20:22 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  keywords =     "web (computer program language)",
}

@Article{Thimbleby:1989:RDC,
  author =       "Harold Thimbleby",
  title =        "A Review of {Donald C. Lindsay}'s Text File Difference
                 Utility, {\em diff}",
  journal =      j-CACM,
  volume =       "32",
  number =       "6",
  pages =        "756--755",
  month =        jun,
  year =         "1989",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 17 11:53:00 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See \cite{VanWyk:1989:LPF}.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@TechReport{Tung:1989:SMLa,
  author =       "Sho-Huan Tung",
  title =        "A structured method for literate programming",
  type =         "Technical report",
  number =       "269",
  institution =  "Indiana University, Computer Science Department",
  address =      "Bloomington, IN, USA",
  pages =        "14",
  month =        jan,
  year =         "1989",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Tung:1989:SMLb,
  author =       "Sho-Huan Tung",
  title =        "A Structured Method for Literate Programming",
  journal =      j-STRUCT-PROGRAM,
  volume =       "10",
  number =       "2",
  pages =        "113--120",
  year =         "1989",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Indiana Univ., Bloomington, IN,
                 USA",
  classification = "C6110 (Systems analysis and programming)",
  fjournal =     "Structured Programming",
  keywords =     "Document description; Documentation; Empirical
                 studies; HSD; Literate programming; Program
                 development; Programmer behaviour; Readability",
  thesaurus =    "Structured programming; System documentation",
}

@Article{VanWyk:1989:LPF,
  author =       "Christopher J. {Van Wyk} and Donald C. Lindsay",
  title =        "Literate Programming: a File Difference Program",
  journal =      j-CACM,
  volume =       "32",
  number =       "6",
  pages =        "740--755",
  month =        jun,
  year =         "1989",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Jan 22 07:31:04 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/cacm/cacm32.html#WykLT89;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See review \cite{Thimbleby:1989:RDC}.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
  oldlabel =     "WykLT89",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/WykLT89",
  xxpages =      "740--754",
}

@Article{VanWyk:1989:LPW,
  author =       "Christopher J. {Van Wyk} and Norman Ramsey",
  title =        "Literate Programming: Weaving a Language-Independent
                 {WEB}",
  journal =      j-CACM,
  volume =       "32",
  number =       "9",
  pages =        "1051--1055",
  month =        sep,
  year =         "1989",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Jan 22 07:31:05 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/cacm/cacm32.html#WykR89;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
  oldlabel =     "WykR89",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/WykR89",
}

@Article{Wu:1989:SCD,
  author =       "Y. C. Wu and Ted P. Baker",
  title =        "A Source Code Documentation System for {Ada}",
  journal =      j-ACM-ADALET,
  volume =       "9",
  number =       "5",
  pages =        "84--88",
  year =         "1989",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-eg,
}

@Article{Ammers:1990:LPV,
  author =       "E. W. van Ammers",
  title =        "Literate programming with {VAMP}",
  journal =      j-INFORMATIE,
  volume =       "32",
  number =       "4",
  pages =        "380--388",
  month =        "????",
  year =         "1990",
  CODEN =        "INFTCR",
  ISSN =         "0019-9907",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Wageningen Univ., Netherlands",
  classification = "C6110 (Systems analysis and programming); C6180
                 (User interfaces)",
  fjournal =     "Informatie",
  keywords =     "Documentation; Literate programming; User interface;
                 VAMP",
  language =     "Dutch",
  thesaurus =    "Programming; User interfaces",
}

@Article{Avenarius:1990:FLP,
  author =       "Adrian Avenarius and Siegfried Oppermann",
  title =        "{\FWEB}: a Literate Programming System for {Fortran
                 8X}",
  journal =      j-SIGPLAN,
  volume =       "25",
  number =       "1",
  pages =        "52--58",
  month =        jan,
  year =         "1990",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:49 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Tech. Hochschule, Darmstadt, West Germany",
  classification = "C6115 (Programming support); C6140D (High level
                 languages)",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "FORTRAN8X; FWEB; Literate programming system;
                 Programming tools; Structural documentation",
  thesaurus =    "FORTRAN; Software tools",
}

@Book{Baecker:1990:HFT,
  author =       "Ronald Baecker and Aaron Marcus",
  title =        "Human Factors and Typography for More Readable
                 Programs",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xx + 348",
  year =         "1990",
  ISBN =         "0-201-10745-7",
  ISBN-13 =      "978-0-201-10745-6",
  LCCN =         "QA76.75 .B34 1990",
  bibdate =      "Fri Apr 30 11:02:09 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See \cite{Baecker:1997:SVD}.",
  acknowledgement = ack-nhfb,
}

@InProceedings{Brown:1990:HLP,
  author =       "M. Brown and B. Czejdo",
  editor =       "Selim G. Akl and F. Fiala and Waldemar W. Koczkodaj",
  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",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  bookpages =    "vii + 529",
  pages =        "250--259",
  month =        may,
  year =         "1990",
  ISBN =         "3-540-53504-7",
  ISBN-13 =      "978-3-540-53504-1",
  LCCN =         "QA75.5 .I578 1990",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-eg # " and " # ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Tuscaloosa, AL,
                 USA",
  classification = "C6115 (Programming support); C6160D (Relational
                 DBMS); C6180 (User interfaces)",
  confdate =     "23--26 May 1990",
  conflocation = "Niagara Falls, Ont., Canada",
  confsponsor =  "Natural Sci. Eng. Res. Council of Canada; Carleton
                 Univ.; Laurentian Univ",
  keywords =     "Graphical representations; Hypertext; Hypertext
                 queries; Literate programming; Relational database
                 management system; Semantic links; SQL queries; WEB
                 system; Windows",
  thesaurus =    "Hypermedia; Programming environments; Relational
                 databases; User interfaces",
}

@Article{Brown:1990:IEL,
  author =       "Marcus E. Brown and Bart Childs",
  title =        "An Interactive Environment for Literate Programming",
  journal =      j-STRUCT-PROGRAM,
  volume =       "11",
  number =       "1",
  pages =        "11--25",
  year =         "1990",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Tuscaloosa, AL,
                 USA",
  classification = "C6115 (Programming support); C6180 (User
                 interfaces)",
  fjournal =     "Structured Programming",
  keywords =     "Environment; Interactive environment; Literate
                 programming; User interface; WEB; WEB program",
  thesaurus =    "Programming environments; User interfaces",
}

@Article{Brown:1990:LPA,
  author =       "Marcus E. Brown and David Cordes",
  title =        "Literate Programming Applied to Conventional Software
                 Design",
  journal =      j-STRUCT-PROGRAM,
  volume =       "11",
  number =       "2",
  pages =        "85--98",
  year =         "1990",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Tuscaloosa, AL,
                 USA",
  classification = "C6110B (Software engineering techniques)",
  fjournal =     "Structured Programming",
  keywords =     "Literate programming; Program author; Readability;
                 Software design; Software maintenance; Structured
                 programming; System design; Underlying logic;
                 Understandability; WEB",
  thesaurus =    "Software engineering; Structured programming; System
                 documentation",
}

@InProceedings{Brown:1990:LPD,
  author =       "Marcus E. Brown and David Cordes",
  booktitle =    "COMPEURO'90: Proceedings of the 1990 IEEE
                 International Conference on Computer Systems and
                 Software Engineering, May 8--10, 1990, Tel-Aviv,
                 Israel",
  title =        "A Literate Programming Design Language",
  publisher =    pub-IEEE-CSP,
  address =      pub-IEEE-CSP:adr,
  bookpages =    "xiii + 574",
  pages =        "548--549",
  year =         "1990",
  DOI =          "https://doi.org/10.1109/CMPEUR.1990.113677",
  ISBN =         "0-8186-2041-2",
  ISBN-13 =      "978-0-8186-2041-6",
  LCCN =         "QA76.9.S88 C66 1990",
  bibdate =      "Sat Sep 17 11:05:29 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Huntsville, AL,
                 USA",
  classification = "C6115 (Programming support); C6140D (High level
                 languages)",
  confdate =     "8--10 May 1990",
  conflocation = "Tel-Aviv, Israel",
  confsponsor =  "IEEE; Inf. Processing Assoc. Israel",
  keywords =     "Documentation; Literate programming design language;
                 Low-level design; Module names; Program construction;
                 Program constructs",
  thesaurus =    "High level languages; Software tools; Specification
                 languages",
}

@InProceedings{Brown:1990:RLP,
  author =       "Marcus Brown and David Cordes",
  booktitle =    "{Proceedings of the 28th annual Southeast Regional
                 Conference}",
  title =        "The role of literate programming in the software
                 engineering life-cycle",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "101--107",
  year =         "1990",
  DOI =          "https://doi.org/10.1145/98949.99007",
  ISBN =         "0-89791-356-6",
  ISBN-13 =      "978-0-89791-356-0",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 14:07:49 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Czejdo:1990:UQU,
  author =       "B. Czejdo",
  title =        "Using an {ER} query and update interface for rapid
                 prototyping of hypertext systems",
  crossref =     "IEEE:1990:PTA",
  pages =        "227--236 (vol. 2)",
  month =        "????",
  year =         "1990",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The author discusses a method for rapid prototyping of
                 hypertext systems using an entity-relationship (ER)
                 query and update interface. Prototyping of a hypertext
                 system for literate programming is shown as an example.
                 The approach is based on utilizing a relational
                 database management system as a major component of the
                 prototyped system. An ER query and update interface is
                 described. Such an interface allows an interactive
                 manipulation of ER database schemas. Sample
                 interactions between a user and the system are given.
                 During the process of manipulation of ER diagrams the
                 information needed to generate an equivalent SQL query
                 is accumulated. A hypertext system for literature
                 programming is described, and the architecture of a
                 prototype system is presented.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Houston Univ., TX, USA",
  classification = "C6110B (Software engineering techniques); C6160D
                 (Relational DBMS); C6180 (User interfaces)",
  keywords =     "Database schemas; Entity-relationship; ER query;
                 Hypertext systems; Interactive manipulation; Literate
                 programming; Rapid prototyping; Relational database
                 management system; SQL query; Update interface",
  thesaurus =    "Hypermedia; Query languages; Relational databases;
                 Software engineering; User interfaces",
}

@Article{Fox:1990:WLP,
  author =       "Jim Fox",
  title =        "{Webless} literate programming",
  journal =      j-TUGBOAT,
  volume =       "11",
  number =       "4",
  pages =        "511--513",
  month =        Nov,
  year =         "1990",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@TechReport{Gurari:1990:STS,
  author =       "Eitan Gurari",
  title =        "Self tailored systems for literate programming",
  type =         "Technical research report",
  number =       "OSU-CISRC-2/90-TR4",
  institution =  "Ohio State University, Computer and Information
                 Science Research Center",
  address =      "Columbus, OH, USA",
  pages =        "33",
  year =         "1990",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "This report introduces a language independent system
                 that provides limited support for literate programming.
                 The system can be easily enhanced to provide broad
                 support for different languages.",
  acknowledgement = ack-nhfb,
  keywords =     "Programming (Electronic computers)",
}

@TechReport{Gurari:1990:WLP,
  author =       "Eitan Gurari and Jesse Wu",
  title =        "A {WYSIWYG} literate programming system: a preliminary
                 report",
  type =         "Technical research report",
  number =       "OSU-CISRC-7/90-TR17",
  institution =  "Ohio State University, Computer and Information
                 Science Research Center",
  address =      "Columbus, OH, USA",
  pages =        "15",
  year =         "1990",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Conceptually, literate programming systems are
                 document preparation systems that are augmented with
                 features for writing software. We introduce here a
                 what-you-see-is-what-you- get literate programming
                 system.",
  acknowledgement = ack-nhfb,
  keywords =     "Programming languages (Electronic computers)",
}

@Book{Holub:1990:CDC,
  author =       "Allen I. Holub",
  title =        "Compiler Design in {C}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xviii + 924",
  year =         "1990",
  ISBN =         "0-13-155045-4, 0-13-155151-5 (paperback)",
  ISBN-13 =      "978-0-13-155045-2, 978-0-13-155151-0 (paperback)",
  LCCN =         "QA76.76.C65 H65 1990",
  bibdate =      "Wed Dec 15 09:13:20 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib",
  URL =          "http://www.holub.com/software/compiler.design.in.c.html",
  acknowledgement = ack-nhfb,
  remark =       "Prentice-Hall Software Series, Editor: Brian W.
                 Kernighan.",
  tableofcontents = "1: Basic concepts \\
                 2: Input and lexical analysis \\
                 3: Context-free grammars \\
                 4: Top-down parsing \\
                 5: Bottom-up parsing \\
                 6: Code generation \\
                 7: Optimization strategies \\
                 Appendix A: Support functions \\
                 Appendix B: Notes on Pascal compilers \\
                 Appendix C: A grammar for C \\
                 Appendix D: LeX \\
                 Appendix E: LLama and Occs \\
                 Appendix F: A C-code summary",
}

@Article{Hyman:1990:LC,
  author =       "Marco S. Hyman",
  title =        "Literate {C++}",
  journal =      j-COMP-LANG-MAG,
  volume =       "7",
  number =       "7",
  pages =        "67--68, 70, 72, 74--77, 79",
  month =        jul,
  year =         "1990",
  CODEN =        "COMLEF",
  ISSN =         "0749-2839",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  classification = "C6115 (Programming support); C6140D (High level
                 languages); C6150C (Compilers, interpreters and other
                 processors)",
  fjournal =     "Computer Language Magazine",
  keywords =     "Awk preprocessor; Compilation; Literate programming;
                 Object-oriented C++; Source code; Store documentation",
  thesaurus =    "C language; C listings; Object-oriented programming;
                 Program processors; Software tools; System
                 documentation",
}

@Article{Krommes:1990:FKV,
  author =       "John Krommes",
  title =        "{\FWEB} ({Krommes}) vs. {\FWEB} ({Avenarius} and
                 {Oppermann})",
  journal =      j-TEXHAX,
  volume =       "90",
  number =       "19",
  month =        feb,
  year =         "1990",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "{\TeX\-hax}",
}

@PhdThesis{Motl:1990:LPE,
  author =       "Mark Bentley Motl",
  title =        "A Literate Programming Environment Based on an
                 Extensible Editor",
  type =         "Thesis ({Ph.D.})",
  school =       "Texas A\&M University",
  address =      "College Station, TX, USA",
  pages =        "viii + 110",
  month =        dec,
  year =         "1990",
  bibdate =      "Mon Oct 4 17:21:07 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-bc,
  keywords =     "Text editors (Computer programs); WEB (Computer
                 program language)",
}

@Article{Oman:1990:BPI,
  author =       "Paul W. Oman and Curtis Cook",
  title =        "The Book Paradigm for Improved Maintenance",
  journal =      j-IEEE-SOFTWARE,
  volume =       "7",
  number =       "1",
  pages =        "39--45",
  month =        jan,
  year =         "1990",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/52.43048",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Oman:1990:TSM,
  author =       "Paul W. Oman and Curtis Cook",
  title =        "Typographic Style is More than Cosmetic",
  journal =      j-CACM,
  volume =       "33",
  number =       "5",
  pages =        "506--520",
  month =        may,
  year =         "1990",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@InProceedings{Pappas:1990:LPR,
  author =       "T. L. Pappas",
  booktitle =    "Proceedings of the Eighth Annual Conference on {Ada}
                 Technology",
  title =        "Literate Programming for Reusability: a Queue
                 Package Example",
  publisher =    "ANCOST, Inc.",
  address =      "Atlanta, Georgia, USA",
  bookpages =    "xiv + 669",
  pages =        "500--514",
  month =        mar,
  year =         "1990",
  bibdate =      "Wed Jan 17 12:52:57 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Intermetrics Inc., Warminster, PA, USA",
  classification = "C6110B (Software engineering techniques)",
  confdate =     "5--8 March 1990",
  conflocation = "Atlanta, GA, USA",
  confsponsor =  "Ancost",
  keywords =     "Ada; ADA WEB; Documentation; Generic package; Literate
                 programming; Queue package; Software components; TEX",
  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.",
  thesaurus =    "Ada; Programming; Software reusability; System
                 documentation",
}

@Article{Slaney:1990:ISP,
  author =       "Malcolm Slaney",
  title =        "Interactive signal processing documents",
  journal =      j-IEEE-ASSP-MAG,
  volume =       "7",
  number =       "2",
  pages =        "8--20",
  month =        apr,
  year =         "1990",
  CODEN =        "IAMAEI",
  DOI =          "https://doi.org/10.1109/53.53029",
  ISSN =         "0740-7467",
  ISSN-L =       "0740-7467",
  bibdate =      "Tue Feb 11 14:07:43 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Apple Computer Inc, USA",
  classification = "723",
  fjournal =     "IEEE ASSP magazine: a publication of the IEEE
                 Acoustics, Speech, and Signal Processing Society",
  journalabr =   "IEEE ASSP Mag",
  keywords =     "Computer Graphics; Computer Systems,
                 Digital--Interactive Operation; Data Processing;
                 Hypermedia; Interactive Scientific Documents;
                 Interactive Signal Processing Documents; Literate
                 Programming; Natural Sciences Applications; Signal
                 Processing; Software Package Mathematica",
}

@InProceedings{Snelting:1990:PTS,
  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",
  publisher =    "EC2",
  address =      "Nanterre, France",
  bookpages =    "1029",
  pages =        "951--963 (vol. 2)",
  month =        dec,
  year =         "1990",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "2 vol.",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Tech. Univ., Damstadt, Praktische Inf., Germany",
  classification = "C5440 (Multiprocessor systems and techniques);
                 C6110P (Parallel programming); C6115 (Programming
                 support); C6130 (Data handling techniques)",
  confdate =     "3--7 Dec. 1990",
  conflocation = "Toulouse, France",
  confsponsor =  "CIGREF; SEE; Syntec-Informatique",
  keywords =     "Context-sensitive hybrid editor; Debug; Documentation
                 support; Error correction; Extended FORTRAN8x;
                 Interactive interpreter; Literate programming system;
                 Massively parallel Suprenum machine; Programming
                 environment; Semantic errors; Structure editor;
                 Suprenum supercomputer; Text editor; WEB",
  thesaurus =    "Parallel machines; Parallel programming; Program
                 interpreters; Programming environments; Software tools;
                 Text editing",
}

@Article{VandenBosch:1990:WPL,
  author =       "P. N. {Van den Bosch}",
  title =        "Weaving a Program: Literate Programming in {WEB}",
  journal =      j-ACM-COMPREV,
  volume =       "31",
  number =       "7",
  pages =        "343--344",
  year =         "1990",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-eg,
}

@PhdThesis{Wu:1990:WLP,
  author =       "Cheng-Shiung Jesse Wu",
  title =        "A wysiwyg literate programming system",
  type =         "Thesis ({Ph.D.})",
  school =       "Dept. of Computer and Information Science, Ohio State
                 University",
  address =      "Columbus, OH, USA",
  pages =        "vii + 51",
  year =         "1990",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Thesis advisor: Eitan Gurari.",
  acknowledgement = ack-nhfb,
}

@Article{Wyk:1990:LPA,
  author =       "Christopher J. {Van Wyk}",
  title =        "Literate Programming\emdash{}An Assessment",
  journal =      j-CACM,
  volume =       "33",
  number =       "3",
  pages =        "361, 365",
  month =        mar,
  year =         "1990",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/77481.316051",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jan 17 11:55:28 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Article{Cordes:1991:LPP,
  author =       "David Cordes and Marcus Brown",
  title =        "The Literate-Programming Paradigm",
  journal =      j-COMPUTER,
  volume =       "24",
  number =       "6",
  pages =        "52--61",
  month =        jun,
  year =         "1991",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.)",
  abstract-2 =   "Literate programming presents a tool for constructing
                 readable, understandable, and maintainable code. We
                 review this paradigm, analyze its strengths and
                 weaknesses, and present some enhancements.",
  acknowledgement = ack-nhfb,
  affiliation =  "Alabama Univ., Tuscaloosa, AL, USA",
  classification = "C6110 (Systems analysis and programming)",
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
  keywords =     "Coding software systems; Literate-programming
                 paradigm",
  thesaurus =    "Programming",
}

@InProceedings{Gurari:1991:WLP,
  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)",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  bookpages =    "xxix + 711",
  pages =        "94--104",
  month =        mar,
  year =         "1991",
  ISBN =         "0-89791-382-5",
  ISBN-13 =      "978-0-89791-382-9",
  LCCN =         "QA75.5 .A137 1991",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-eg # " and " # ack-nhfb,
  affiliation =  "Dept. of Comput. and Inf. Sci., Ohio State Univ.,
                 Columbus, OH, USA",
  classification = "C6110 (Systems analysis and programming); C6115
                 (Programming support)",
  confdate =     "5--7 March 1991",
  conflocation = "San Antonio, TX, USA",
  keywords =     "Abstracting; Boxes; Document preparation systems;
                 Fonts; Hierarchical variation; Literate programming
                 systems; MacWrite; Ports; Program writing; Prose;
                 Structuring code; WYSIWYG",
  thesaurus =    "Programming; Programming environments; Software
                 tools",
}

@Article{Knuth:1991:FPG,
  author =       "Donald Knuth",
  title =        "Fixed-point glue setting: Errata",
  journal =      j-TUGBOAT,
  volume =       "12",
  number =       "2",
  pages =        "313",
  month =        Jun,
  year =         "1991",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@TechReport{Kobler:1991:SLP,
  author =       "Daniel Kobler and Daniel Hernandez",
  title =        "{StoL} --- a literate programming in {SCHEME}",
  type =         "Forschungsberichte K{\"u}nstliche Intelligenz",
  number =       "DDB DBF DKb 92/1447",
  institution =  "Technische Universit{\"a}t M{\"u}nchen, Institut
                 f{\"u}r Informatik",
  address =      "M{\"u}nchen, Germany",
  pages =        "20",
  year =         "1991",
  bibdate =      "Tue Mar 03 11:57:42 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

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

@Article{Naeve:1991:HMT,
  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 =      j-COMPUT-STAT-Q,
  volume =       "6",
  number =       "4",
  pages =        "325--353",
  month =        "????",
  year =         "1991",
  CODEN =        "CSQUEM",
  ISSN =         "0723-712X",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Econ., Bielefeld Univ., Germany",
  classification = "C7310 (Mathematics); C7810C (Computer-aided
                 instruction)",
  fjournal =     "Computational Statistics Quarterly",
  keywords =     "Computer based experiments; Computers; Data analysis;
                 Experiment construction; Graphical capabilities;
                 Literate APL; Statistical concepts; Teaching
                 statistics",
  thesaurus =    "Computer aided instruction; Statistical analysis",
}

@InCollection{Pepper:1991:LPD,
  author =       "P. Pepper",
  title =        "Literate program derivation: a case study",
  crossref =     "Broy:1991:MPS",
  pages =        "101--124",
  year =         "1991",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Inst. fur Angewandte Inf., Tech. Univ., Berlin,
                 Germany",
  classification = "C1250 (Pattern recognition); C4240 (Programming and
                 algorithm theory); C5260B (Computer vision and picture
                 processing); C6110B (Software engineering techniques)",
  keywords =     "Algebraic specifications; Case study; Explanatory
                 text; Formal program development; Literate programming;
                 Sublinear string-searching algorithm; Transformations",
  thesaurus =    "Computerised pattern recognition; Formal
                 specification; Programming",
}

@TechReport{Ramsey:1991:LPTa,
  author =       "Norman Ramsey",
  title =        "Literate programming tools need not be complex",
  type =         "Technical report",
  number =       "CS-TR-351-91",
  institution =  "Princeton University, Dept. of Computer Science",
  address =      "Princeton, NJ, USA",
  pages =        "11",
  month =        oct,
  year =         "1991",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "When it was introduced, literate programming meant
                 WEB. Desire to use WEB with languages other than Pascal
                 led to the implementation of many versions. WEB is
                 complex, and the difficulty of using WEB creates an
                 artificial barrier to experimentation with literate
                 programming. noweb provides much of the functionality
                 of WEB, with a fraction of the complexity. noweb is
                 independent of the target programming language, and its
                 formatter-dependent part is a 40-line shell script.
                 noweb is extensible, because it uses two
                 representations of programs: one easily manipulated by
                 authors and one easily manipulated by tools. I give
                 examples of the use of noweb and I mention applications
                 that have been written using noweb with different
                 programming languages.",
  acknowledgement = ack-nhfb,
  keywords =     "Programming languages (Electronic computers); WEB
                 (Computer program language)",
}

@TechReport{Ramsey:1991:LPTb,
  author =       "Norman Ramsey and Carla Marceau",
  title =        "Literate programming on a team project",
  type =         "Technical report",
  number =       "CS-TR-302-91",
  institution =  "Princeton University, Dept. of Computer Science",
  address =      "Princeton, NJ, USA",
  pages =        "11",
  month =        feb,
  year =         "1991",
  bibdate =      "Fri Apr 30 10:57:23 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Published in \cite{Ramsey:1991:LPTc}.",
  abstract =     "We used literate programming on a team project to
                 write a 33,000-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. We used WEB in the
                 hope that both our 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. Our experience also
                 uncovered a number of problems with WEB.",
  acknowledgement = ack-nhfb,
  keywords =     "Programming languages (Electronic computers); WEB
                 (Computer program language)",
}

@Article{Ramsey:1991:LPTc,
  author =       "Norman Ramsey and Carla Marceau",
  title =        "Literate Programming on a Team Project",
  journal =      j-SPE,
  volume =       "21",
  number =       "7",
  pages =        "677--683",
  month =        jul,
  year =         "1991",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Jan 17 12:05:47 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
  affiliation =  "Odyssey Res. Associates, Ithaca, NY, USA",
  classification = "C6110 (Systems analysis and programming); C6130D
                 (Document processing techniques); C7106 (Word
                 processing); C7820 (Humanities)",
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "Internal documentation; Literate programming; Literate
                 programs; Literature programming; Penelope; Synthesizer
                 Generator; Team project; WEB",
  thesaurus =    "Linguistics; Literature; Programming; Word
                 processing",
}

@TechReport{Smith:1991:ABLa,
  author =       "Lisa Min-Yi Chen Smith and Mansur H. Samadzadeh",
  title =        "An annotated bibliography of literate programming",
  type =         "Technical report",
  number =       "OSU-CS-TR 91-14",
  institution =  "Oklahoma State University, Dept. of Computer Science",
  address =      "Stillwater, OK, USA",
  pages =        "8",
  year =         "1991",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Structured programming -- Bibliography.; WEB (Computer
                 program language) -- Bibliography.",
}

@Article{Smith:1991:ABLb,
  author =       "Lisa M. C. Smith and Mansur H. Samadzadeh",
  title =        "An annotated bibliography of literate programming",
  journal =      j-SIGPLAN,
  volume =       "26",
  number =       "1",
  pages =        "14--20",
  month =        jan,
  year =         "1991",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:16:01 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Oklahoma State Univ.,
                 Stillwater, OK, USA",
  classification = "C6110 (Systems analysis and programming)",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Bibliography; Literate programming; Programming
                 paradigm; Programming style",
  thesaurus =    "Programming",
}

@Book{Spivak:1991:LWM,
  author =       "Michael D. Spivak",
  title =        "The {\LAMSTeX} Wizard's Manual",
  publisher =    pub-TEXPLORATOR,
  address =      pub-TEXPLORATOR:adr,
  year =         "1991",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Zeng:1991:LPS,
  author =       "Yunfeng Zeng",
  title =        "Literate programming system {CDS}",
  journal =      j-J-COMP-SCI-TECH,
  volume =       "6",
  number =       "3",
  pages =        "263--270",
  month =        jul,
  year =         "1991",
  CODEN =        "JCTEEM",
  ISSN =         "1000-9000",
  ISSN-L =       "1000-9000",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Inst. of Software, Acad. Sinica, Beijing, China",
  classification = "C6115 (Programming support)",
  fjournal =     "Journal of computer science and technology",
  keywords =     "Automatic formatting; CDS; Chinese--English
                 typesetting system; Literate programming system;
                 Software documentation",
  thesaurus =    "Programming environments; Software tools; System
                 documentation",
}

@Article{Akiguchi:1992:AUC,
  author =       "C. Akiguchi",
  title =        "Application of {UIMS} to {CASE} environment",
  journal =      j-INFO-PROC-SOC-JAPAN,
  volume =       "33",
  number =       "11",
  pages =        "1314--1323",
  month =        nov,
  year =         "1992",
  CODEN =        "JOSHA4",
  ISSN =         "0447-8053",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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",
  classification = "C6115 (Programming support); C6180 (User
                 interfaces)",
  keywords =     "CASE environment; EditorWidget; Graphical user
                 interfaces; Interaction techniques; IX; Literate
                 programming; Model-View-Controller; PERT; PostScript;
                 SPECDESSIN/FLOW; SPECDESSIN/SA; User interface
                 management systems; Work breakdown structure; X Window
                 System; XSPD*C",
  language =     "Japanese",
  thesaurus =    "Graphical user interfaces; Programming environments;
                 Software tools; User interface management systems",
}

@InProceedings{Ammers:1992:VTL,
  author =       "E. W. van Ammers and M. R. Kramer",
  editor =       "Patrick Dewilde and Joos Vandewalle",
  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",
  publisher =    pub-IEEE-CSP,
  address =      pub-IEEE-CSP:adr,
  bookpages =    "xviii + 717",
  pages =        "371--376",
  month =        may,
  year =         "1992",
  ISBN =         "0-8186-2760-3",
  ISBN-13 =      "978-0-8186-2760-6",
  LCCN =         "QA76.5.C6122 1992",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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",
  classification = "C6115 (Programming support)",
  confdate =     "4--8 May 1992",
  conflocation = "The Hague, Netherlands",
  confsponsor =  "IEEE",
  keywords =     "Documentation; Explanation; Formatter; Literate
                 programming; Overhead; Programming language; Refinement
                 steps; VAMP",
  thesaurus =    "Programming environments; Software tools; System
                 documentation",
}

@Article{Birss:1992:RLP,
  author =       "Robert C. Birss",
  title =        "Review of {{\em Literate Programming} (Knuth, D. E;
                 1992)}",
  journal =      j-COMPUTER,
  volume =       "25",
  number =       "9",
  pages =        "126--127",
  month =        sep,
  year =         "1992",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Mar 13 19:01:27 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Bishop:1992:LPL,
  author =       "Judy M. Bishop and Kevin M. Gregson",
  title =        "Literate Programming and the {LIPED} Environment",
  journal =      j-STRUCT-PROGRAM,
  volume =       "13",
  number =       "1",
  pages =        "23--34",
  year =         "1992",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-bnb # " and " # ack-pt # " and " # ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Univ. of Witwatersrand,
                 Johannesburg, South Africa",
  classification = "C6110 (Systems analysis and programming); C6115
                 (Programming support)",
  fjournal =     "Structured Programming",
  keywords =     "Compilable code; Cross-reference table; LIPED
                 environment; Literate programming; Programming
                 environment; Programming paradigms; TANGLE; WEAVE; WEB
                 system",
  pubcountry =   "USA",
  thesaurus =    "Programming environments; Structured programming",
}

@Article{Childs:1992:ELP,
  author =       "Bart Childs",
  title =        "Errata: {Literate Programming, A Practitioner's View,
                 \tubissue 13(3), pp.\ 261--268}",
  journal =      j-TUGBOAT,
  volume =       "13",
  number =       "4",
  pages =        "457--457",
  month =        Dec,
  year =         "1992",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See \cite{Childs:1992:LPP}.",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

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

@Article{Childs:1992:LPP,
  author =       "Bart Childs",
  title =        "Literate Programming, a Practitioner's View",
  journal =      j-TUGBOAT,
  volume =       "13",
  number =       "3",
  pages =        "261--268",
  month =        oct,
  year =         "1992",
  ISSN =         "0896-3207",
  bibdate =      "Mon Oct 4 17:21:07 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See errata \cite{Childs:1992:ELP}.",
  acknowledgement = ack-bc,
  fjournal =     "TUGboat",
}

@InProceedings{Childs:1992:SCA,
  author =       "S. B. Childs and T. J. McGuire",
  title =        "Symbolic computing, automatic programming, and
                 literate programming",
  crossref =     "Noye:1992:CTA",
  pages =        "29--48",
  year =         "1992",
  bibdate =      "Wed Apr 3 16:24:12 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@MastersThesis{Houser:1992:LLP,
  author =       "Christopher Driessen Houser",
  title =        "A literate {Lisp} programming environment",
  type =         "Thesis ({M.S.})",
  school =       "Department of Computer Science, University of
                 California, Los Angeles",
  address =      "Los Angeles, CA, USA",
  pages =        "viii + 93",
  year =         "1992",
  LCCN =         "LD 791.8 C6 H817 1992",
  bibdate =      "Tue Mar 03 13:24:49 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Typescript (photocopy).",
  acknowledgement = ack-nhfb,
  keywords =     "dissertations, academic --- UCLA --- computer
                 science",
}

@Book{Jones:1992:IFL,
  author =       "Simon L. {Peyton Jones} and David R. Lester",
  title =        "Implementing functional languages",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xvii + 281",
  year =         "1992",
  ISBN =         "0-13-721952-0",
  ISBN-13 =      "978-0-13-721952-0",
  LCCN =         "QA76.62 .P49 1992",
  bibdate =      "Thu Aug 26 10:51:16 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Presents literate programs in {\TeX} and Miranda.",
  price =        "US\$42.00",
  acknowledgement = ack-dl,
}

@Book{Knuth:1992:LP,
  author =       "Donald E. Knuth",
  title =        "Literate Programming",
  volume =       "27",
  publisher =    pub-SUCSLI,
  address =      pub-SUCSLI:adr,
  pages =        "xv + 368",
  year =         "1992",
  ISBN =         "0-937073-80-6 (paperback), 0-937073-81-4 (hardcover)",
  ISBN-13 =      "978-0-937073-80-3 (paperback), 978-0-937073-81-0
                 (hardcover)",
  LCCN =         "QA76.6.K644",
  bibdate =      "Tue Mar 03 12:24:41 1998",
  bibsource =    "http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 http://www.math.utah.edu/pub/tex/bib/acm-turing-awards.bib;
                 http://www.math.utah.edu/pub/tex/bib/cacm1970.bib;
                 http://www.math.utah.edu/pub/tex/bib/cacm1980.bib;
                 http://www.math.utah.edu/pub/tex/bib/css.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/spell.bib;
                 http://www.math.utah.edu/pub/tex/bib/texbook3.bib",
  series =       "CSLI Lecture Notes",
  URL =          "http://csli-www.stanford.edu/publications/literate.html",
  acknowledgement = ack-nhfb,
  keywords =     "electronic digital computers --- programming",
  remark =       "See translation \cite{Knuth:1994:BP}.",
  tableofcontents = "1: Computer programming as an art / 1 \\
                 2: Structured programming with go to statements / 17
                 \\
                 3: A structured program to generate all topological
                 sorting arrangements / 91 \\
                 4: Literate programming / 99 \\
                 5: Programming pearls: Sampling / 137 \\
                 6: Programming pearls, continued: Common Words / 151
                 \\
                 7: How to read a WEB / 179 \\
                 8: Excerpts from the programs for \TeX{} and METAFONT /
                 185 \\
                 9: Mathematical writing / 235 \\
                 10: Errors of \TeX{} / 243 \\
                 11: Error log of \TeX{} / 293 \\
                 12: Example of CWEB / 341 \\
                 Further Reading / 349 \\
                 Index / 359",
}

@Article{Kobler:1992:SLP,
  author =       "Daniel Kobler and Daniel Hern{\'a}ndez",
  title =        "{STOL} --- literate programming in {SCHEME}",
  journal =      "ACM SIGPLAN Lisp Pointers",
  volume =       "5",
  number =       "4",
  pages =        "21--30",
  month =        oct,
  year =         "1992",
  DOI =          "https://doi.org/10.1145/382126.382663",
  bibdate =      "Mon Jul 5 14:23:44 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Kortright:1992:CCT,
  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",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  bookpages =    "lii + 846",
  pages =        "604--609 (vol. 2)",
  month =        apr,
  year =         "1992",
  ISBN =         "0-7803-0494-2",
  ISBN-13 =      "978-0-7803-0494-9",
  LCCN =         "TK5 .I32 1992 v.1-2",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "2 vol.",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Alabama Univ., Tuscaloosa, AL,
                 USA",
  classification = "C6115 (Programming support); C6140D (High level
                 languages)",
  confdate =     "12--15 April 1992",
  conflocation = "Birmingham, AL, USA",
  confsponsor =  "IEEE",
  keywords =     "C; Cnest; Cscope; Cweb; EMACS editing environment;
                 Literate programming environment; Maintenance
                 programmer; Program developer; TEX; Typesetting
                 program; Web programming environment",
  thesaurus =    "C language; Programming environments; Software tools;
                 Text editing",
}

@Misc{Lindenberg:1992:LPW,
  author =       "Norbert Lindenberg",
  title =        "Literate programming workshop",
  publisher =    "Norbert Lindenberg",
  address =      "7200 Bollinger Road, \#604, San Jose, CA 95129, USA",
  edition =      "Revision 1.1.",
  pages =        "1 computer disk interface guide (8 leaves)",
  year =         "1992",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.desy.de/user/projects/LitProg/LPW.html",
  acknowledgement = ack-nhfb,
  annote =       "Title from disk label. ``(c) Norbert Lindenberg, 1991,
                 1992.'' Title on manual t.p.: LPW. Substitutes for the
                 editor of the Macintosh Programmer's Workshop (MPW).
                 Consists of a word processor for editing documents
                 which contain both source text and documentation, and a
                 project management system which tracks all documents of
                 a software development project. System requirements:
                 Macintosh with 68020 or better microprocessor; 4MB RAM;
                 System 7.0; Macintosh Programmer's Workshop (MPW); hard
                 drive. Macintosh System 7.0",
  keywords =     "Macintosh (Computer) -- Programming -- Software.; Text
                 processing (Computer science) -- Software.",
  searchkey =    "ti:literate programming",
}

@TechReport{Mittelbach:1992:DP,
  author =       "Frank Mittelbach and Denys Duchier and Johannes
                 Braams",
  title =        "The {{\tt docstrip}} program",
  institution =  "Universit{\"a}t Mainz",
  address =      "Mainz, Germany",
  year =         "1992",
  bibdate =      "Mon Jul 5 13:37:21 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "The {{\tt doc}} system is a literate programming
                 facility used for much of the \LaTeX{} Project software
                 development.",
  acknowledgement = ack-nhfb,
  keywords =     "literate programming",
  remark =       "In mid-2010, there were 296 {\tt *.doc} files in the
                 Comprehensive {\TeX} Archive Network (CTAN) collection,
                 and 132 in the {\TeX} Live 2009 software release.",
}

@Book{Plauger:1992:SCL,
  author =       "P. J. Plauger",
  title =        "The {Standard C} Library",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xiv + 498",
  year =         "1992",
  ISBN =         "0-13-838012-0",
  ISBN-13 =      "978-0-13-838012-0",
  LCCN =         "QA76.73.C15 P563 1991",
  bibdate =      "Wed Dec 15 10:40:47 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ansistd.bib;
                 http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "\booktitle{The Standard C Library} shows you how to
                 use all of the library functions mandated by the ANSI
                 and ISO Standards for the programming language C. To
                 help you understand how to use the library, this book
                 also shows you how to implement it. You see
                 approximately 9,000 lines of tested, working code that
                 is highly portable across diverse computer
                 architectures. \booktitle{The Standard C Library}
                 explains how the library was meant to be used and how
                 it can be used. It places particular emphasis on
                 features added to C as part of the C Standard. These
                 features include support for multiple locales (cultural
                 conventions) and very large character sets (such as
                 Kanji). The code presented in this book has been tested
                 with C compilers from Borland, Saber, Project Gnu, Sun,
                 UNIX, and VAX, ULTRIX. It has passed the widely used
                 Plum Hall Validation Suite tests for library functions.
                 It has also survived an assortment of public-domain
                 programs designed to stress C implementations and
                 illuminate their darker corners. The mathematical
                 functions are particularly well-engineered and tested.
                 Finally, \booktitle{The Standard C Library} shows you
                 many principles of library design in general. You learn
                 how to design and implement libraries that are highly
                 cohesive and reusable.",
  acknowledgement = ack-nhfb,
  tableofcontents = "Preface / ix \\
                 Introduction / 1 \\
                 <assert.h> / 17 \\
                 <ctype.h> / 25 \\
                 <errno.h> / 47 \\
                 <float.h> / 57 \\
                 <limits.h> / 73 \\
                 <locale.h> / 81 \\
                 <math.h> / 127 \\
                 <setjmp.h> / 181 \\
                 <signal.h> / 193 \\
                 <stdarg.h> / 205 \\
                 <stddef.h> / 215 \\
                 <stdio.h> / 225 \\
                 <stdlib.h> / 333 \\
                 <string.h> / 387 \\
                 <time.h> / 415 \\
                 Interfaces / 445 \\
                 Names / 453 \\
                 Terms / 463 \\
                 Index / 475",
}

@TechReport{Ramsey:1992:LPT,
  author =       "Norman Ramsey",
  title =        "Literate-Programming Tools Need Not Be Complex",
  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|.",
  number =       "CS-TR-351-91",
  institution =  "Department of Computer Science, Princeton University",
  month =        aug,
  year =         "1992",
  bibdate =      "Tue Oct 12 10:28:45 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Submitted to {\em IEEE Software}.",
  acknowledgement = ack-bc # " and " # ack-nr,
  keywords =     "literate programming, readability, programming
                 languages",
}

@Article{Sametinger:1992:HSL,
  author =       "Johannes Sametinger and Gustav Pomberger",
  title =        "A Hypertext System for Literate {C++} Programming",
  journal =      j-J-OOP,
  volume =       "4",
  number =       "8",
  pages =        "24--29",
  year =         "1992",
  CODEN =        "JOOPEC",
  ISSN =         "0896-8438",
  bibdate =      "Mon May 20 06:00:25 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-eg # " and " # ack-nhfb,
  affiliation =  "Inst. fur Wirtschaftsinf., Johannes Kepler Univ. of
                 Linz, Austria",
  classification = "C6110B (Software engineering techniques); C6140D
                 (High level languages); C6160Z (Other DBMS)",
  fjournal =     "Journal of Object Oriented Programming",
  keywords =     "Hypertext system; Literate C++ programming; Program
                 comprehension; Program understanding; Software
                 maintenance",
  thesaurus =    "C language; Hypermedia; Programming; Software
                 maintenance",
}

@MastersThesis{Schulte:1992:KVF,
  author =       "Michael Schulte",
  title =        "{Konzeptionelle Vorschl{\"a}ge f{\"u}r den Einsatz von
                 Literate Programming in Software-Projekten}",
  type =         "Diplomarbeit",
  school =       "Universit{\"a}t Bielefeld",
  address =      "Bielefeld, Germany",
  pages =        "88",
  year =         "1992",
  bibdate =      "Tue Mar 03 12:05:40 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Sennett:1992:DCA,
  author =       "C. T. Sennett",
  editor =       "Cliff B. Jones and Roger C. Shaw and Tim Denvir",
  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",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  bookpages =    "viii + 378",
  pages =        "70--87",
  month =        jan,
  year =         "1992",
  ISBN =         "3-540-19752-4",
  ISBN-13 =      "978-3-540-19752-2",
  LCCN =         "QA76.76.D47 R44 199",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Defence Res. Agency, Malvern, UK",
  classification = "C4210 (Formal logic); C6110B (Software engineering
                 techniques)",
  confdate =     "8--10 Jan. 1992",
  conflocation = "London, UK",
  keywords =     "Ada programs; Formal refinement; Literate programming;
                 Refinement calculus; Selective verification; Z
                 specifications",
  pubcountry =   "Germany",
  thesaurus =    "Ada; Formal specification; Formal verification;
                 Specification languages",
}

@Article{Smith:1992:MCS,
  author =       "Lisa M. Smith and Mansur H. Samadzadeh",
  title =        "Measuring Complexity and Stability of {WEB} programs",
  journal =      j-STRUCT-PROGRAM,
  volume =       "13",
  number =       "1",
  pages =        "35--50",
  year =         "1992",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-pt # " and " # ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Oklahama State Univ.,
                 Stillwater, OK, USA",
  classification = "C0310F (Software development management); C6110B
                 (Software engineering techniques)",
  fjournal =     "Structured Programming",
  keywords =     "Complexity measurement; Cross references;
                 Documentation; Indexes; Literate programming paradigm;
                 Metrics; Software complexity; Software maintenance;
                 Stability; WEB programs; WEBmeter",
  thesaurus =    "Software maintenance; Software metrics; Structured
                 programming",
}

@InProceedings{vanAmmers:1992:VTL,
  author =       "E. W. van Ammers and M. R. Kramer",
  editor =       "P. Dewilde and J. VandeWalle",
  booktitle =    "CompEuro 1992 Proceedings. Computer Systems and
                 Software engineering",
  title =        "{VAMP}: a tool for literate programming independent
                 of programming language and formatter",
  publisher =    "????",
  address =      "????",
  pages =        "371--376",
  year =         "1992",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 14:00:31 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

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

@TechReport{Briggs:1993:NSL,
  author =       "Preston Briggs",
  title =        "{Nuweb}, a Simple Literate Programming Tool",
  type =         "\path|cs.rice.edu:/public/preston|",
  institution =  "Rice University",
  address =      "Houston, TX, USA",
  year =         "1993",
  bibdate =      "Mon Oct 4 17:27:43 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-bc,
}

@Article{Bzyl:1993:ALP,
  author =       "W{\l}odek Bzyl and Tomasz Przechlewski",
  title =        "An application of literate programming: creating a
                 format for the {Bulletin of the Polish TUG}",
  journal =      j-TUGBOAT,
  volume =       "14",
  number =       "3",
  pages =        "296--299",
  month =        Oct,
  year =         "1993",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

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

@Article{Dickey:1993:LPA,
  author =       "Lee J. Dickey",
  title =        "Literate Programming in {APL} and {APLWEB}",
  journal =      j-APL-QUOTE-QUAD,
  volume =       "23",
  number =       "4",
  pages =        "11--??",
  day =          "1",
  month =        jun,
  year =         "1993",
  CODEN =        "APLQD9",
  DOI =          "https://doi.org/10.1145/173834.173841",
  ISSN =         "0163-6006",
  ISSN-L =       "0163-6006",
  bibdate =      "Sat May 18 15:34:25 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 UnCover library database",
  acknowledgement = ack-nhfb,
  fjournal =     "APL Quote Quad",
}

@TechReport{Duggan:1993:LPR,
  author =       "Angus Duggan",
  title =        "Literate programming: a review",
  type =         "LFCS report",
  number =       "ECS-LFCS-93-263",
  institution =  "University of Edinburgh, Laboratory for Foundation of
                 Computer Science",
  address =      "Edinburgh, Scotland",
  pages =        "25",
  year =         "1993",
  bibdate =      "Tue Mar 03 12:01:31 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Programming (Electronic computers); Programming
                 languages (Electronic computers); WEB (Computer program
                 language)",
}

@Book{Knuth:1993:CSS,
  author =       "Donald E. Knuth and Silvio Levy",
  title =        "The {CWEB} System of Structured Documentation, Version
                 3.0",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "226",
  year =         "1993",
  ISBN =         "0-201-57569-8",
  ISBN-13 =      "978-0-201-57569-9",
  LCCN =         "QA76.9.D3 K6 1993",
  bibdate =      "Thu May 12 08:36:22 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/texbook3.bib",
  abstract =     "WEB is a software system that facilitates the creation
                 of readable programs. It was originally developed by
                 Donald E. Knuth as he programmed the TEX typesetting
                 system. Users of WEB are able to write programs of
                 superior quality; produce state-of-the-art
                 documentation; greatly reduce debugging time and
                 maintain programs easily as conditions change. CWEB is
                 a version of WEB for documenting C and C++ programs.
                 WEB was adapted to C by Silvio Levy in 1987, and since
                 then both Knuth and Levy have revised and enhanced the
                 system in many ways, notably to support C++ and ANSI C.
                 Thus CWEB combines TEX with two of today's most widely
                 used professional programming languages. This book is
                 the definitive user's guide and reference manual for
                 the CWEB system. The CWEB software itself is freely
                 available via anonymous ftp from labrea.stanford.edu on
                 the Internet.",
  acknowledgement = ack-nhfb,
}

@Misc{Knuth:1993:LM,
  author =       "Donald E. Knuth",
  title =        "The Literate Mathematician",
  howpublished = "BBC Radio~5's series {\sl Maths Miscellany}, produced
                 by John Jaworski and Giselle Corbett (first broadcast
                 February 21, 1993), 30~min. Cassettes available from
                 BBC OUPC, Walton Hall, Milton Keynes, MK7 6BH,
                 England.",
  month =        feb,
  year =         "1993",
  bibdate =      "Fri Aug 12 23:20:24 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Knuth:1993:SGPa,
  author =       "Donald E. Knuth",
  title =        "{Stanford GraphBase}: a platform for combinatorial
                 algorithms",
  crossref =     "ACM:1993:PFA",
  pages =        "41--43",
  year =         "1993",
  bibdate =      "Tue Feb 11 14:07:43 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "A highly portable collection of programs and data will
                 soon be available to researchers who study
                 combinatorial algorithms and data structures. All files
                 will be in the public domain, and usable with only one
                 restriction: They must not be changed! A `change file'
                 mechanism will allow local customization while the
                 master files stay intact. The programs are intended to
                 be interesting in themselves as examples of `literate
                 programming.' Thus, the Stanford GraphBase can also be
                 regarded as a collection of approximately 30 essays for
                 programmers to enjoy reading, whether or not they are
                 doing algorithmic research. The programs are written in
                 CWEB, a combination of {\TeX} and C that is easy to use
                 by anyone who knows those languages and easy to read by
                 anyone familiar with the rudiments of C. (The CWEB
                 system is itself portable and in the public domain.)
                 Four program modules constitute the kernel of the
                 GraphBase.",
  acknowledgement = ack-nhfb,
  affiliation =  "Stanford Univ",
  affiliationaddress = "Stanford, CA, USA",
  classification = "723.2; 723.5; 921.4",
  conference =   "Proceedings of the Fourth Annual ACM-SIAM Symposium on
                 Discrete Algorithms",
  conferenceyear = "1993",
  keywords =     "Algorithms; Combinatorial mathematics; Computer
                 software; Critical path analysis; Data structures;
                 Graph theory; Literate programming; Software package
                 Stanford GraphBase",
  meetingabr =   "Proc Fourth Annu ACM SIAM Symp Discrete Algorithms",
  meetingaddress = "Austin, TX, USA",
  meetingdate =  "Jan 25--27 1993",
  meetingdate2 = "01/25--27/93",
}

@Book{Knuth:1993:SGPb,
  author =       "Donald E. Knuth",
  title =        "The {Stanford} {GraphBase}: a Platform for
                 Combinatorial Computing",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "vii + 576",
  year =         "1993",
  ISBN =         "0-201-54275-7",
  ISBN-13 =      "978-0-201-54275-2",
  LCCN =         "QA164 .K6 1993",
  bibdate =      "Wed Aug 24 17:44:04 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  price =        "US\$45.25",
  acknowledgement = ack-pb,
}

@Article{Levy:1993:LPC,
  author =       "Silvio Levy",
  title =        "Literate Programming and {Cweb}",
  journal =      j-COMP-LANG-MAG,
  volume =       "10",
  number =       "1",
  pages =        "67--68, 70",
  month =        jan,
  year =         "1993",
  CODEN =        "COMLEF",
  ISSN =         "0749-2839",
  bibdate =      "Wed Jan 17 11:32:39 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "If you've ever had trouble inserting documentation
                 into your code, this article will introduce you to
                 Donald Knuth's concept of literate programming. Using
                 Cweb, you will make your programs readable by
                 everyone.",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Language Magazine",
}

@Article{Naeve:1993:APT,
  author =       "P. Naeve and B. Strohmeier and P. Wolf",
  title =        "{APL} programming without tears to it is time for a
                 change",
  journal =      j-APL-QUOTE-QUAD,
  volume =       "24",
  number =       "1",
  pages =        "185--189",
  month =        aug,
  year =         "1993",
  CODEN =        "APLQD9",
  ISSN =         "0163-6006",
  ISSN-L =       "0163-6006",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "International Conference on APL.",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Fakultat fur Wirtschaftswissenschaften, Bielefeld
                 Univ., Germany",
  classification = "C0310F (Software development management); C6110
                 (Systems analysis and programming); C6140D (High level
                 languages)",
  confdate =     "15--19 Aug. 1993",
  conflocation = "Toronto, Ont., Canada",
  confsponsor =  "ACM",
  fjournal =     "APL Quote Quad",
  keywords =     "APL programming; APL2WEB system; Knuth; Literate
                 programming; Structured documentation; Traditional
                 APL-code; Unreadability",
  thesaurus =    "APL; Programming; System documentation",
}

@InProceedings{Normington:1993:CZ,
  author =       "G. Normington",
  title =        "Cleanroom and {Z}",
  crossref =     "Bowen:1993:ZUW",
  pages =        "281--293",
  year =         "1993",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The author describes an approach to developing
                 software which combines aspects of cleanroom software
                 engineering with the Z formal specification language
                 and the style of design documentation known as
                 `literate programming'.",
  acknowledgement = ack-nhfb,
  affiliation =  "IBM UK Labs., Ltd., Winchester, UK",
  classification = "C6110B (Software engineering techniques); C6140D
                 (High level languages)",
  keywords =     "Cleanroom software engineering; Design documentation;
                 Literate programming; Z formal specification language",
  thesaurus =    "Formal specification; Specification languages; System
                 documentation",
}

@InProceedings{Osterbye:1993:HPD,
  author =       "K. Osterbye",
  title =        "Hyperstructure Program Development Environments: an
                 Experiment with Literate Programming",
  crossref =     "Osterbye:1993:HEW",
  pages =        "7--??",
  year =         "1993",
  bibdate =      "Wed Apr 3 16:24:12 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@TechReport{Osterbye:1993:LSP,
  author =       "Kasper {\O}sterbye",
  title =        "Literate {Smalltalk} programming using hypertext",
  type =         "Report",
  number =       "R 93-2025",
  institution =  "University of Aalborg, Institute for Electronic
                 Systems, Dept. of Mathematics and Computer Science
                 (Aalborg universitetscenter. Afdeling for matematik og
                 datalogi)",
  address =      "Aalborg, Denmark",
  pages =        "29",
  month =        aug,
  year =         "1993",
  ISSN =         "0106-0791",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The problem examined in this paper is: How and to what
                 extent can hypertext support literate Smalltalk
                 programming? In order to examine this question we have
                 created a hypertext system which allows us to write
                 Smalltalk code and documentation, and to link code and
                 documentation freely. We have used the system for
                 different tasks, and based on an examination of the
                 resulting hypertext documents we reflect on our
                 experience, which is that hypertext can be used for
                 literate programming. Our experience is, however, that
                 the literate programs created in hypertext differ from
                 those created with traditional literate programming
                 tools.",
  acknowledgement = ack-nhfb,
  keywords =     "Hypertext systems.",
}

@PhdThesis{Shum:1993:AAOa,
  author =       "Stephen M. Shum",
  title =        "{AOPS}: an abstraction oriented programming system for
                 literate programming",
  type =         "Thesis ({Ph.D.})",
  school =       "Oregon State University",
  address =      "Corvallis, OR, USA",
  pages =        "153",
  year =         "1993",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Programming (Electronic computers); Software
                 documentation.; Software engineering.",
}

@Article{Shum:1993:AAOb,
  author =       "Stephen Shum and Curtis Cook",
  title =        "{AOPS}: an Abstraction-Oriented Programming System for
                 Literate Programming",
  journal =      j-SEJ,
  volume =       "8",
  number =       "3",
  pages =        "113--120",
  month =        may,
  year =         "1993",
  CODEN =        "SEJOED",
  ISSN =         "0268-6961",
  bibdate =      "Wed Jan 17 11:33:06 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-ma,
  fjournal =     "Software Engineering Journal",
}

@Article{Shum:1993:AAP,
  author =       "S. Shum and C. Cook",
  title =        "{AOPS}: an abstraction-oriented programming system for
                 literate programming",
  journal =      j-SEJ,
  volume =       "8",
  number =       "3",
  pages =        "113--120",
  month =        may,
  year =         "1993",
  CODEN =        "SEJOED",
  ISSN =         "0268-6961",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The practice of literate programming is not widespread
                 because existing literate programming systems have some
                 undesirable characteristics such as programming
                 language and text processor dependence and a lack of
                 flexible tools for viewing and manipulating the source
                 file. This paper describes the literate programming
                 system AOPS (abstraction-oriented programming system)
                 which addresses both of these problems. AOPS is a
                 programming language and text processor-independent
                 literate programming system. AOPS tools include a
                 hypertext browser, a lister with the ability to select
                 what is presented and what is suppressed, and a filter
                 to extract the program code from the AOPS source file.
                 AOPS introduces the notion of a phantom abstraction
                 which enhances the intelligibility of the literate
                 program and, when used in conjunction with the browser,
                 greatly extends the capabilities of AOPS. The authors
                 discuss how the design of AOPS supports extension of
                 the concept of literate programming. They also report
                 the results of a preliminary experiment which showed
                 that literate programs contain more documentation than
                 traditional programs.",
  acknowledgement = ack-nhfb,
  affiliation =  "Augustana Coll., Sioux Falls, SD, USA",
  classification = "C6110 (Systems analysis and programming); C6115
                 (Programming support)",
  fjournal =     "Software Engineering Journal",
  keywords =     "Abstraction-oriented programming system; AOPS;
                 Documentation; Flexible tools; Hypertext browser;
                 Literate programming; Phantom abstraction; Programming
                 language independent tool; Text processor-independent",
  pubcountry =   "UK",
  thesaurus =    "Hypermedia; Programming; Software tools",
}

@Misc{Sperberg-McQueen:1993:SST,
  author =       "C. M. Sperberg-McQueen",
  title =        "{SWEB}: an {SGML} Tag Set for Literate Programming",
  howpublished = "World-Wide Web document.",
  day =          "25",
  month =        sep,
  year =         "1993",
  bibdate =      "Fri Aug 07 15:13:08 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Revised August 1994; lightly revised March 1995;
                 revised and extended January--March 1996; revised 19
                 March 1996",
  URL =          "http://www.uic.edu/~cmsmcq/tech/sweb/sweb.html",
  acknowledgement = ack-nhfb,
}

@Article{Waite:1993:ELD,
  author =       "W. M. Waite",
  title =        "An Executable Language Definition",
  journal =      j-SIGPLAN,
  volume =       "28",
  number =       "2",
  pages =        "21--40",
  month =        feb,
  year =         "1993",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:16:33 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "This paper describes a subset of C, called C--,
                 defined as a literate program using the Eli and
                 FunnelWeb systems.",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Electr. and Comput. Eng., Colorado Univ.,
                 Boulder, CO, USA",
  classification = "C6110B (Software engineering techniques); C6140D
                 (High level languages)",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "C-- program; Compiler designers; Executable language
                 definition; Literate programming paradigm; Program
                 structure",
  thesaurus =    "C language; Formal specification",
}

@Article{Detig:1994:DKL,
  author =       "Christine Detig and Joachim Schrod",
  title =        "{Donald E. Knuth}, {{\it Literate Programming}}",
  journal =      j-TUGBOAT,
  volume =       "15",
  number =       "1",
  pages =        "25--27",
  month =        mar,
  year =         "1994",
  ISSN =         "0896-3207",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@Book{Gurari:1994:TLD,
  author =       "Eitan M. Gurari",
  title =        "{\TeX} and {\LaTeX}: Drawing and Literate
                 Programming",
  publisher =    pub-MH,
  address =      pub-MH:adr,
  pages =        "xiv + 310",
  year =         "1994",
  ISBN =         "0-07-025208-4 (book), 0-07-911616-7 (book +
                 diskette)",
  ISBN-13 =      "978-0-07-025208-0 (book), 978-0-07-911616-1 (book +
                 diskette)",
  LCCN =         "Z253.4.T47G87, 686.2'2544536-dc20, 93-8603 CIP",
  bibdate =      "Fri Feb 27 17:33:16 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  price =        "US\$34.95",
  series =       "McGraw-Hill programming tools for scientists and
                 engineers",
  acknowledgement = ack-nhfb,
  keywords =     "computerized typesetting; mathematics printing ---
                 computer programs; TeX (computer file)",
}

@Article{Hansen:1994:MLD,
  author =       "Per {Brinch Hansen}",
  title =        "Multiple-length Division Revisited: a Tour of the
                 Minefield",
  journal =      j-SPE,
  volume =       "24",
  number =       "6",
  pages =        "579--601",
  month =        jun,
  year =         "1994",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Aug 24 15:30:29 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "This paper derives an algorithm for division of long
                 integers, and implements it as a literate program,
                 although without identifier cross-references.",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@InProceedings{Jones:1994:RVP,
  author =       "Tim Jones and Warwick Allison and David Carrington",
  title =        "Relational views for program comprehension",
  crossref =     "IEEE:1994:PIT",
  pages =        "136--144",
  year =         "1994",
  DOI =          "https://doi.org/10.1109/WPC.1994.341262",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "IEEE catalog number 94TH06767.",
  abstract =     "In this paper we describe UQ*, an integrated
                 development environment that is currently under
                 construction at the University of Queensland. Its
                 architecture supports the definition of multiple
                 documents and multiple document types, and allows the
                 relationships that are implicit within the set of
                 documents to be represented explicitly. We identify two
                 techniques that aid program comprehension which require
                 knowledge about the relationships that exist in and
                 between documents. They are program dependency analysis
                 and literate programming. Two simple examples are
                 presented to illustrate the flexible definition of
                 relations within such an architecture and the use of
                 relations for presentation of and navigation through,
                 various views of a program and its related
                 documentation. These examples highlight the application
                 of such an approach to program dependency analysis and
                 literate programming",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Queensland Univ., Brisbane,
                 Qld., Australia",
  classification = "722.4; 723; 723.1; 723.5; C6110 (Systems analysis
                 and programming); C6115 (Programming support)",
  keywords =     "Computer aided analysis; Computer aided design;
                 Computer aided software engineering; Computer
                 architecture; Computer debugging; Computer programming;
                 Computer simulation; Computer software; Editing tools;
                 Integrated development environment; Interactive online
                 presentation; Literate programming; Online systems;
                 Program comprehension; Program dependency analysis;
                 Program documentation; Relational views; Stand alone
                 program analysis; UQ*",
  thesaurus =    "Programming environments; Reverse engineering",
}

@Article{Knuth:1994:MIL,
  author =       "D. E. Knuth",
  title =        "Mini-indexes for literate programs",
  journal =      j-SOFTWARE-CONCEPTS-TOOLS,
  volume =       "15",
  number =       "1",
  pages =        "2--11",
  month =        "????",
  year =         "1994",
  CODEN =        "SCOTE5",
  ISSN =         "0945-8115",
  ISSN-L =       "0945-8115",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  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.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Stanford Univ., CA, USA",
  classification = "C1160 (Combinatorial mathematics); C6110B (Software
                 engineering techniques)",
  fjournal =     "Software---Concepts and Tools",
  keywords =     "CTWILL; CWEB; Documentation technique; Hamiltonian
                 circuits; Hypertext; Large programs; Literate programs;
                 Mini-indexes; Undirected graph; WEB",
  thesaurus =    "Graph theory; Indexing; Programming; System
                 documentation",
}

@Misc{Lee:1994:LPP,
  author =       "C. Lee",
  title =        "Literate Programming --- Propaganda and Tools",
  howpublished = "Web document",
  year =         "1994",
  bibdate =      "Mon Jul 5 13:55:05 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.cs.cmu.edu/~vaschelp/Programming/Literate/literate.html",
  acknowledgement = ack-nhfb,
}

@Article{Meter:1994:EST,
  author =       "Glenn Meter and Philip Miller",
  title =        "Engaging Students and Teaching Modern Concepts:
                 Literate, Situated, Object-Oriented Programming",
  journal =      j-SIGCSE,
  volume =       "26",
  number =       "1",
  pages =        "329--333",
  month =        mar,
  year =         "1994",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "This paper describes our experience in using situated
                 programming to deliver modern computer science concepts
                 in the introductory programming course at Carnegie
                 Mellon University. We used an artificial life
                 simulation and taught object-oriented programming as
                 well as more traditional material. The course was an
                 experience, not an experiment, since many aspects of
                 the course simultaneously changed from prior offerings.
                 Nevertheless, what we saw was fundamental and
                 potentially far-reaching. The most important result was
                 that students were intellectually engaged. They came to
                 grips with basic object-oriented programming, they
                 mastered the topics of procedural programming, they
                 learned first hand about computer simulation, they
                 learned perhaps a bit about biology. Most importantly,
                 through it all they used programming to express and
                 explore their own powerful and novel ideas. (25
                 Refs.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Sch. of Comput. Sci., Carnegie Mellon Univ.,
                 Pittsburgh, PA, USA",
  classification = "C0220 (Education and training); C6110J
                 (Object-oriented programming); C6185 (Simulation
                 techniques)",
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
  keywords =     "Artificial life simulation; Carnegie Mellon; Computer
                 science concepts; Computer simulation; Introductory
                 programming course; Literate programming; Modern
                 concepts; Object-oriented programming; Procedural
                 programming; Situated programming",
  thesaurus =    "Computer science education; Digital simulation;
                 Object-oriented programming; Teaching",
}

@Article{Milligan:1994:TME,
  author =       "W. L. Milligan",
  title =        "Translating {M} into {English}",
  journal =      j-M-COMPUTING,
  volume =       "2",
  number =       "4",
  pages =        "22--24, 26",
  month =        sep,
  year =         "1994",
  CODEN =        "MCPUEF",
  ISSN =         "1060-7684",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "M code has an opaque, even cryptic, appearance to the
                 uninitiated. Part of the reason is the near universal
                 practice of abbreviating M names. To make matters
                 worse, prior to the NEW command, variable names
                 typically lacked mnemonic significance. Older code also
                 had to deal with an awkwardly limited scope of IF, ELSE
                 and FOR. This limitation led to long and complex code
                 lines consisting of many commands. These and other
                 factors too often combined with an undisciplined
                 programming style to produce M code that is difficult
                 to read and maintain. This article presents a system
                 for reading and interpreting M code that is based
                 partly on D. Knuth's (1984) `literate programming'
                 concept. This system is not a programming language (the
                 programmer creates M source code in the usual way). The
                 M Code Reader may be viewed as a first approximation to
                 automated program explication, or as a form of routine
                 documentation. As conceived, the tool should be most
                 useful for analyzing small code segments, such as a
                 single line or routine. Clearly, improvements are
                 possible, and environment-specific interpretive
                 constructs could be added to the reader's inventory. It
                 remains to be demonstrated whether this tool will prove
                 useful in maintaining practical M applications.",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages); C6150C (Compilers,
                 interpreters and other processors); C6150E (General
                 utility programs)",
  fjournal =     "M Computing",
  keywords =     "Automated program explication; Code maintenance; Code
                 readability; Complex code lines; English;
                 Environment-specific interpretive constructs; Limited
                 scope; M code; M Code Reader; M name abbreviation;
                 Mnemonic significance; Routine documentation; Small
                 code segments; Undisciplined programming style;
                 Variable names",
  thesaurus =    "MUMPS; Program interpreters; System documentation;
                 Utility programs",
}

@InProceedings{MoralesGerman:1994:SPE,
  author =       "D. Morales-Germ{\'a}n",
  title =        "An {SGML-based} programming environment for literate
                 programming",
  crossref =     "Botsford:1994:PCI",
  pages =        "42--49",
  year =         "1994",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Literate programming is a documentation method that
                 attempts to maintain consistency among the various
                 design and program documents of a software system.
                 Unfortunately, the majority of the literate programming
                 tools do not have appropriate user interfaces and
                 require the users to learn complicated and cryptic
                 tagging languages. SGML is a metalanguage used to
                 specify markup or tagging languages that can be used to
                 encode the structure of documents. This paper describes
                 how a markup language defined using SGML can be used as
                 the basic method for structuring literate programming
                 documents and can be made independent of the
                 programming language. Furthermore, with SGML and tools
                 to browse and edit SGML documents, literate programs
                 can benefit from WYSIWYG editing and hypertext
                 capabilities and can even include pictures and other
                 graphics. In addition, syntax-directed editors that
                 support SGML can hide the markup tags and thus remove
                 the need to learn a markup language. Text databases
                 that use SGML can also be used to store literate
                 programs. As a result, literate programs can be browsed
                 and queried using complex search expressions, a
                 capability beyond most text editors. For example, the
                 searches can involve combinations of structural and
                 textual information. Because SGML is a popular and
                 emerging standard, we can expect to have more powerful
                 tools to manipulate many different forms of design and
                 program documentation. This paper describes the issues
                 involved in the development of a literate programming
                 environment that uses SGML as the storage model.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Waterloo Univ., Ont., Canada",
  classification = "C6115 (Programming support); C6130D (Document
                 processing techniques); C6130M (Multimedia); C6140D
                 (High level languages)",
  keywords =     "Complex search expressions; Consistency maintenance;
                 Design documents; Document browsing; Document editing;
                 Document structure encoding; Graphics; Hypertext;
                 Literate programming; Markup language; Program
                 documentation method; Program documents; SGML-based
                 programming environment; Storage model; Syntax-directed
                 editors; Tagging languages; Text databases; User
                 interfaces; WYSIWYG editing",
  thesaurus =    "Hypermedia; ISO standards; Page description languages;
                 Programming environments; System documentation; Text
                 editing",
}

@Article{Morin:1994:TRP,
  author =       "Richard Morin",
  title =        "{\TeX}, {ReDuX} (Part {II})",
  journal =      j-SUNEXPERT,
  volume =       "5",
  number =       "12",
  pages =        "28--31",
  month =        dec,
  year =         "1994",
  ISSN =         "1053-9239",
  bibdate =      "Sat Nov 19 17:02:39 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Lists sources of {\TeX}, and gives short reviews of
                 several books about {\TeX}, {\AmSTeX}, {\LaTeX}, and
                 literate programming.",
  acknowledgement = ack-nhfb,
  fjournal =     "SunExpert Magazine",
}

@InProceedings{Ramsey:1994:CTB,
  author =       "Norman Ramsey",
  title =        "Correctness of Trap-Based Breakpoint Implementations",
  crossref =     "Anonymous:1994:PAA",
  pages =        "15--24",
  month =        jan,
  year =         "1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nr,
  keywords =     "debugging promela",
}

@Article{Ramsey:1994:LPS,
  author =       "Norman Ramsey",
  title =        "Literate Programming Simplified",
  journal =      j-IEEE-SOFTWARE,
  volume =       "11",
  number =       "5",
  pages =        "97--105",
  month =        sep,
  year =         "1994",
  CODEN =        "IESOEG",
  DOI =          "https://doi.org/10.1109/52.311070",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Sat Sep 07 18:06:25 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Literate-programming tools let you arrange the parts
                 of a program in any order and extract documentation and
                 code from the same source file. The author offers a
                 simplified alternative to traditional
                 literate-programming tools.",
  acknowledgement = ack-nhfb,
  affiliation =  "Bellcore, Morristown, NJ, USA",
  classification = "C6110 (Systems analysis and programming); C6115
                 (Programming support)",
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
  keywords =     "Code extraction; Documentation; Feature complexity;
                 Language-dependence; Literate programming; Literate
                 programming tools; Source file; Tool acceptance",
  thesaurus =    "Programming; Programming environments; Software tools;
                 System documentation",
}

@Book{Sabourin:1994:CCP,
  author =       "Conrad F. Sabourin",
  title =        "Computational character processing: character coding,
                 input, output, synthesis, ordering, conversion, text
                 compression, encryption, display hashing, literate
                 programming: bibliography",
  publisher =    "Infolingua",
  address =      "Montr{\'e}al, PQ, Canada",
  pages =        "vii + 579",
  year =         "1994",
  ISBN =         "2-921173-18-2",
  ISBN-13 =      "978-2-921173-18-6",
  LCCN =         "????",
  bibdate =      "Tue Mar 03 12:09:08 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Shum:1994:ULP,
  author =       "Stephen Shum and Curtis Cook",
  title =        "Using Literate Programming to Teach Good Programming
                 Practices",
  crossref =     "Joyce:1994:PTS",
  pages =        "66--70",
  year =         "1994",
  bibdate =      "Sat Sep 07 18:08:08 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The ability to comprehend a program written by other
                 individuals is becoming increasingly important in
                 software development and maintenance. In an attempt to
                 encourage undergraduate computer science students to
                 write informative and usable documentation, the
                 literate programming paradigm was incorporated into the
                 teaching of one undergraduate computer science course
                 at Augustana College. The paper describes the concept
                 of literate programming, the experience of using
                 literate programming to teach good programming
                 practices, and the results from the experiment that
                 showed that literate programming encourages more
                 documentation.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Augustana Coll., Sioux Falls,
                 SD, USA",
  classification = "C0220 (Education and training); C0310F (Software
                 development management); C6110 (Systems analysis and
                 programming)",
  keywords =     "Computer science education; Good programming
                 practices; Literate programming; Literate programming
                 paradigm; Software development; Teaching; Undergraduate
                 computer science course; Undergraduate computer science
                 students; Usable documentation",
  thesaurus =    "Computer science education; Educational courses;
                 Programming; System documentation; Teaching",
}

@Article{Simons:1994:LSP,
  author =       "M. Simons and M. Biersack and R. Raschke",
  title =        "Literate and structured presentation of formal
                 proofs",
  journal =      j-IFIP-TRANS-A,
  volume =       "A-56",
  pages =        "61--81",
  month =        "????",
  year =         "1994",
  CODEN =        "ITATEC",
  ISSN =         "0926-5473",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Focuses on the literate and structured presentation of
                 formal proofs. The approach presented is influenced by
                 L. Lamport's (1993) ideas on how to write proofs, by D.
                 Knuth's (1984, 1992) paradigm of literate programming,
                 and by the concepts of calculational reasoning. The
                 approach is illustrated with the proofs of two
                 mathematical theorems-the Knaster-Tarski fixpoint
                 theorem and the Schroder-Bernstein theorem-formalized
                 in Deva. We discuss to what degree our aims have been
                 achieved and what work remains to be done. The paper
                 was written using the DevaWEB-system, and the Deva
                 formalization was checked by an implementation of
                 Deva.",
  acknowledgement = ack-nhfb,
  affiliation =  "Forschungsgruppe Softwaretech., Tech. Univ. Berlin,
                 Germany",
  classification = "C4210 (Formal logic); C4240 (Programming and
                 algorithm theory); C6110B (Software engineering
                 techniques)",
  fjournal =     "IFIP Transactions. A. Computer Science and
                 Technology",
  keywords =     "Calculational reasoning; Deva formalization;
                 DevaWEB-system; Formal proofs; Knaster-Tarski fixpoint
                 theorem; Literate presentation; Literate programming;
                 Proof writing; Schroder-Bernstein theorem; Structured
                 presentation",
  thesaurus =    "Formal specification; Technical presentation; Theorem
                 proving",
}

@Article{Bzyl:1995:LPS,
  author =       "W{\l}odek Bzyl",
  title =        "Literate {Plain} source is available!",
  journal =      j-TUGBOAT,
  volume =       "16",
  number =       "3",
  pages =        "297--299",
  month =        Sep,
  year =         "1995",
  ISSN =         "0896-3207",
  bibdate =      "Mon Dec 30 06:50:49 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "ftp://ftp.ac.tex.uk/ctan/tex-archive/web/tweb/tug95/",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@InProceedings{Carter:1995:CHS,
  author =       "R. Carter",
  title =        "The {CASEtool} hypertext system for software
                 development",
  crossref =     "Maurer:1995:EMH",
  pages =        "133--138",
  year =         "1995",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The CASEtool system described, arose out of a study
                 spanning three strands of research: literate
                 programming, the use of hypertext for program browsing,
                 and the use of hypertext for managing software
                 lifecycle documents. The system was developed in order
                 to explore, within a low cost off the shelf PC
                 environment the benefits and drawbacks of these three
                 software engineering methodologies, as well as to
                 provide support for students working in this area. The
                 results demonstrate the value of hypertext for example
                 in improving the comprehensibility of programs, and for
                 tracing the impact of changes in requirements on other
                 parts of a software project. They also indicate some
                 problems that arise in attempting to use hypertext in
                 this way.",
  acknowledgement = ack-nhfb,
  affiliation =  "Buchinghamshire Coll., Brunel Univ., Uxbridge, UK",
  classification = "C0220 (Computing education and training); C6110B
                 (Software engineering techniques); C6115 (Programming
                 support); C6130M (Multimedia); C6160Z (Other DBMS);
                 C7810C (Computer-aided instruction)",
  keywords =     "CASEtool hypertext system; Literate programming; Low
                 cost off the shelf PC environment; Program browsing;
                 Software development; Software engineering
                 methodologies; Software lifecycle document management;
                 Software project; Students",
  thesaurus =    "Computer aided software engineering; Computer science
                 education; Courseware; Hypermedia; Microcomputer
                 applications",
}

@Article{Childs:1995:TCC,
  author =       "Bart Childs and Deborah Dunn and William Lively",
  title =        "Teaching {CS/1} courses in a literate manner",
  journal =      j-TUGBOAT,
  volume =       "16",
  number =       "3",
  pages =        "300--309",
  month =        Sep,
  year =         "1995",
  ISSN =         "0896-3207",
  bibdate =      "Mon Dec 30 06:50:53 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "TUGboat",
}

@Article{Copeland:1995:ILP,
  author =       "Jeffrey Copeland and Jeffrey Haemer",
  title =        "An Introduction to Literate Programming",
  journal =      j-RS-MAGAZINE,
  volume =       "4",
  number =       "1",
  pages =        "26--30",
  month =        jan,
  year =         "1995",
  ISSN =         "1088-0844, 1061-0030",
  bibdate =      "Fri Jan 27 13:45:03 1995",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "RS\slash Magazine",
}

@Article{Copeland:1995:LPE,
  author =       "Jeffrey Copeland and Jeffrey Haemer",
  title =        "Literate Programming: An Example, Part 2",
  journal =      j-RS-MAGAZINE,
  volume =       "4",
  number =       "3",
  pages =        "31--37",
  month =        mar,
  year =         "1995",
  ISSN =         "1088-0844, 1061-0030",
  bibdate =      "Wed Mar 15 13:08:59 1995",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "RS\slash Magazine",
}

@Article{Copeland:1995:LPR,
  author =       "Jeffrey Copeland and Jeffrey Haemer",
  title =        "Literate Programming: a Real Example, Part 1",
  journal =      j-RS-MAGAZINE,
  volume =       "4",
  number =       "2",
  pages =        "32--35",
  month =        feb,
  year =         "1995",
  ISSN =         "1088-0844, 1061-0030",
  bibdate =      "Wed Mar 01 10:14:14 1995",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "RS\slash Magazine",
}

@PhdThesis{Dunn:1995:LPM,
  author =       "Deborah Lynn Byrum Dunn",
  title =        "Literate programming as a mechanism for improving
                 problem solving skills",
  type =         "Thesis ({Ph.D.})",
  school =       "Texas A\&M University, Department of Computer
                 Science",
  address =      "College Station, TX, USA",
  pages =        "xiii + 268",
  year =         "1995",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Major computer science.",
}

@Book{Fraser:1995:RCC,
  author =       "Chris W. Fraser and David R. Hanson",
  title =        "A Retargetable {C} Compiler: Design and
                 Implementation",
  publisher =    pub-BENCUM,
  address =      pub-BENCUM:adr,
  pages =        "xv + 564",
  year =         "1995",
  ISBN =         "0-8053-1670-1",
  ISBN-13 =      "978-0-8053-1670-4",
  LCCN =         "QA76.73.C15F75 1995",
  bibdate =      "Wed Feb 08 10:55:34 1995",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/lcc.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/texbook2.bib",
  note =         "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=.''",
  price =        "US\$55.95",
  URL =          "https://www.pearson.com/us/higher-education/program/Hanson-Retargetable-C-Compiler-A-Design-and-Implementation/PGM166351.html",
  abstract =     "This new text examines the design and implementation
                 of lcc, a production-quality, retargetable compiler,
                 designed at AT\&T Bell Laboratories and Princeton
                 University for the ANSI C programming language. The
                 authors' innovative approach --- a ``literate program''
                 that intermingles the text with the source code ---
                 gives a detailed tour of the code that explains the
                 implementation and design decisions reflected in the
                 software. And while most books describe toy compilers
                 or focus on isolated pieces of code, the authors have
                 made available the entire source code for a real
                 compiler. Structured as a self-study guide that
                 describes the real-world tradeoffs encountered in
                 building a production-quality compiler, A Retargetable
                 C Compiler is also useful to individuals who work in
                 application areas using or creating language-based
                 tools and techniques. Features: discusses the
                 implementation and design tradeoffs made while
                 constructing a real ANSI C compiler, illustrating the
                 interaction between theory and practice; covers
                 compiler theory only as needed to understand the
                 implementation of lcc, focusing instead on practical,
                 applied issues; encourages a deeper understanding of
                 programming in C, by providing C programmers with a
                 tour of the language from the perspective of compiler
                 authors; includes coverage of code generators for the
                 MIPS R3000, SPARC, and Intel 386 and its successors;
                 and provides access to the full source code for the lcc
                 compiler, the three back ends, and the code-generator
                 generator, either on disk or via FTP.",
  acknowledgement = ack-nhfb,
  tableofcontents = "1. Introduction: Literate Programs \\
                 How to Read This Book \\
                 Overview \\
                 Design \\
                 Common Declarations \\
                 Syntax Specifications \\
                 Errors \\
                 2. Storage Management: Memory Management Interface \\
                 Arena Representation \\
                 Allocating Space \\
                 Deallocating Space \\
                 Strings \\
                 3. Types: Representing Symbols \\
                 Representing Symbol Tables \\
                 Changing Scope \\
                 Finding and Installing Identifiers \\
                 Labels \\
                 Constants \\
                 Generated Variables \\
                 4. Code Generation Interface: Representing Types \\
                 Type Management \\
                 Type Predicates \\
                 Type Constructors \\
                 Function Types \\
                 Structure and Enumeration Types \\
                 Type-Checking Functions \\
                 Type Mapping \\
                 5. Lexical Analysis: Type Metrics \\
                 Interface Records \\
                 Symbols \\
                 Types \\
                 Dag Operators \\
                 Interface Flags \\
                 Initialization \\
                 Definitions \\
                 Constants \\
                 Functions \\
                 Interface Binding \\
                 Upcalls \\
                 6. Parsing: Input \\
                 Recognizing Tokens \\
                 Recognizing Keywords \\
                 Recognizing Identifiers \\
                 Recognizing Numbers \\
                 Recognizing Character Constants and Strings \\
                 7. Expressions \\
                 Languages and Grammars \\
                 Ambiguity and Parse Trees \\
                 Top-Down Parsing \\
                 FIRST and FOLLOW Sets \\
                 Writing Parsing Functions \\
                 Handling Syntax Errors \\
                 8. Expressions: Representing Expressions \\
                 Parsing Expressions \\
                 Parsing C Expressions \\
                 Assignment Expressions \\
                 Conditional Expressions \\
                 Binary Expressions \\
                 Unary and Postfix Expressions \\
                 Primary Expressions \\
                 9. Expression Semantics: Conversions \\
                 Unary and Postfix Operators \\
                 Function Calls \\
                 Binary Operators \\
                 Assignments \\
                 Conditionals \\
                 Constant Folding \\
                 10. Statements: Representing Code \\
                 Execution Points \\
                 Recognizing Statements \\
                 If Statements \\
                 Labels and Gotos \\
                 Loops \\
                 Switch Statements \\
                 Return Statements \\
                 Managing Labels and Jumps \\
                 11. Declarations: Translation Units \\
                 Declarations \\
                 Declarators \\
                 Function Declarators \\
                 Structure Specifiers \\
                 Function Definitions \\
                 Compound Statements \\
                 Finalization \\
                 The Main Program \\
                 12. Generating Immediate Code: Eliminating Common
                 Subexpressions \\
                 Building Nodes \\
                 Flow of Control \\
                 Assignments \\
                 Function Calls \\
                 Enforcing Evaluation Order \\
                 Driving Code Generation \\
                 Eliminating Multiply Referenced Nodes \\
                 13. Structuring the Code Generator: Organization of the
                 Code Generator \\
                 Interface Extensions \\
                 Upcalls \\
                 Node Extensions \\
                 Symbol Extensions \\
                 Frame Layout \\
                 Generating Code to Copy Blocks \\
                 Initialization \\
                 14. Selecting and Emitting instructions: Specifications
                 \\
                 Labelling the Tree \\
                 Reducing the Tree \\
                 Cost Functions \\
                 Debugging \\
                 The Emitter \\
                 Register Targeting \\
                 Coordinating Instruction Selection \\
                 Shared Rules \\
                 Writing Specifications \\
                 15. Register Allocation: Organization \\
                 Tracking the Register State \\
                 Allocating Registers \\
                 Spilling \\
                 16. Generating MIPS R3000 Code: Registers \\
                 Selecting Instructions \\
                 Implementing Functions \\
                 Defining Data \\
                 Segments \\
                 Copying Blocks \\
                 17. Generating SPARC Code: Registers \\
                 Selecting Instructions \\
                 Implementing Functions \\
                 Defining Data \\
                 Copying Blocks, 18. Generating X86 Code: Registers \\
                 Selecting Instructions \\
                 Implementing Functions \\
                 Defining Data \\
                 19. Retrospective: Data Structures \\
                 Interface \\
                 Syntactic and Semantic Analyses \\
                 Code Generation and Optimization \\
                 Testing and Validation",
}

@InProceedings{Hamer:1995:LPS,
  author =       "J. Hamer",
  title =        "Literate programming: a software engineering
                 perspective",
  crossref =     "Purvis:1995:PSE",
  pages =        "282--288",
  year =         "1995",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Initial impressions of literate programming tend to
                 the view that this is the software equivalent of the
                 `Faberg{\'e} egg': ornate beyond all practical uses.
                 However, recent advances in the field have produced
                 tools that are less ornate, easy to use and eminently
                 practical. We take a critical look at what literate
                 programming has to offer in the practice and teaching
                 of software engineering, and present a brief review of
                 the state-of-the-art tools now (freely) available. No
                 previous experience with literate programming is
                 assumed.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Auckland Univ., New Zealand",
  classification = "C0220 (Computing education and training); C6110B
                 (Software engineering techniques); C6115 (Programming
                 support)",
  keywords =     "Literate programming; Practice; Software engineering
                 perspective; State-of-the-art tools; Teaching",
  thesaurus =    "Computer science education; Programming; Reviews;
                 Software engineering; Software tools; Teaching",
}

@Article{Kyriazopoulos:1995:ILP,
  author =       "Evan Kyriazopoulos",
  title =        "Introduction to Literate programming using noweb",
  journal =      "SunOpsis: The Developer Support Centre Newsletter",
  volume =       "4",
  number =       "3",
  month =        jul # "--" # nov,
  year =         "1995",
  bibdate =      "Mon Aug 03 07:16:15 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Available electronically at
                 \path=http://www.sun.ca/newsletter/SunOpsisVol4.No3/SunOpsisVol4.No3.html#12256=.",
  URL =          "http://www.sun.ca/newsletter/SunOpsisVol4.No3/SunOpsisVol4.No3.html#12256",
  acknowledgement = ack-nhfb,
}

@Article{Osterbye:1995:LSP,
  author =       "K. Osterbye",
  title =        "Literate {Smalltalk} Programming Using Hypertext",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "21",
  number =       "2",
  pages =        "138--145",
  month =        feb,
  year =         "1995",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/32.345829",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Sat Sep 07 18:07:06 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The problem examined in this paper is: how and to what
                 extent can hypertext support literate programming in
                 Smalltalk? In order to examine this question we have
                 created a hypertext system which allows us to write
                 Smalltalk code and documentation, and to link code and
                 documentation freely. The literate programs created in
                 hypertext differ from those created with traditional
                 literate programming tools. The main difference is that
                 hypertext-based program exposition promotes description
                 of program dependencies and is perhaps less suited for
                 the detailed exposition of algorithms.",
  acknowledgement = ack-nhfb,
  affiliation =  "Aalborg Univ., Denmark",
  classification = "C6110J (Object-oriented programming); C6115
                 (Programming support); C6130M (Multimedia); C6140D
                 (High level languages)",
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
  keywords =     "Documentation; Hypertext; Literate programming;
                 Literate programming tools; Object oriented
                 programming; Program dependencies; Programming
                 environments; Smalltalk code; Smalltalk programming",
  thesaurus =    "Hypermedia; Object-oriented programming; Programming
                 environments; Smalltalk; Software tools; System
                 documentation",
}

@TechReport{Prechelt:1995:CCM,
  author =       "Lutz Prechelt",
  title =        "The {CuPit} compiler for the {MasPar MP-1} and {MP-2}:
                 a literate programming document",
  type =         "Interner Bericht",
  number =       "95,1",
  institution =  "Universit{\"a}t Karlsruhe, Fakult{\"a}t f{\"u}r
                 Informatik",
  address =      "Karlsruhe, Germany",
  pages =        "353",
  year =         "1995",
  bibdate =      "Tue Mar 03 11:56:05 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Book{Schrod:1995:LPW,
  author =       "Joachim Schrod and Christine Detig",
  title =        "{Literate Programming --- WEB und Co. Methoden und
                 Werkzeuge, M{\"o}glichkeiten und Grenzen}",
  publisher =    pub-ITP,
  address =      pub-ITP:adr,
  pages =        "300",
  year =         "1995",
  ISBN =         "3-8266-0176-9",
  ISBN-13 =      "978-3-8266-0176-7",
  LCCN =         "????",
  bibdate =      "Wed Jan 17 12:09:31 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  price =        "DM79.00",
  URL =          "http://www.ora.de/itp/science/0176/0176.html",
  acknowledgement = ack-nhfb,
}

@TechReport{vanLeeuwen:1995:LPC,
  author =       "Marc A. {van Leeuwen}",
  title =        "Literate programming in {C}: {CWEBx} manual",
  type =         "Report",
  number =       "AM-R9510",
  institution =  "Centrum voor Wiskunde en Informatica, Department of
                 Analysis, Algebra and Geometry, Stichting Mathematisch
                 Centrum",
  address =      "Amsterdam, The Netherlands",
  year =         "1995",
  bibdate =      "Tue Mar 03 11:53:04 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Wittenberg:1995:LPC,
  author =       "Lee Wittenberg",
  title =        "Literate Programming in {C} and {C++} using {CWEB}",
  journal =      j-CCCUJ,
  volume =       "13",
  number =       "5",
  pages =        "55, 57--63",
  month =        may,
  year =         "1995",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Mon May 20 05:54:05 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Feeling constrained by those comment delimiters in
                 your C or C++ code? Literate programming is a way to
                 really document your code.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Aitken:1996:AGJ,
  author =       "Gary Aitken",
  title =        "Automatically Generating {Java} Documentation: javadoc
                 and the doc comment",
  journal =      j-DDJ,
  volume =       "21",
  number =       "7",
  pages =        "42, 44, 46--49",
  month =        jul,
  year =         "1996",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Sat Jun 01 08:59:05 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Briggs:1996:LPA,
  author =       "Preston Briggs",
  title =        "Literate Programming: Automatic Parallelization",
  journal =      j-SIGPLAN,
  volume =       "31",
  number =       "4",
  pages =        "11--14",
  month =        apr,
  year =         "1996",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jun 28 13:37:26 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Briggs:1996:LPSa,
  author =       "Preston Briggs",
  title =        "Literate Programming: Sparse Matrix Manipulation",
  journal =      j-SIGPLAN,
  volume =       "31",
  number =       "8",
  pages =        "5--7",
  month =        aug,
  year =         "1996",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Oct 24 06:44:49 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Briggs:1996:LPSb,
  author =       "Preston Briggs",
  title =        "Literate Programming: Sparse Matrix Multiplication",
  journal =      j-SIGPLAN,
  volume =       "31",
  number =       "11",
  pages =        "33--37",
  month =        nov,
  year =         "1996",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Nov 25 18:52:27 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Briggs:1996:PLPa,
  author =       "Preston Briggs",
  title =        "Programming: Literate Programming: Remembering",
  journal =      j-SIGPLAN,
  volume =       "31",
  number =       "1",
  pages =        "4--5",
  month =        jan,
  year =         "1996",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Aug 15 12:31:49 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Briggs:1996:PLPb,
  author =       "Preston Briggs",
  title =        "Programming: Literate Programming: Automatic
                 Parallelization",
  journal =      j-SIGPLAN,
  volume =       "31",
  number =       "4",
  pages =        "11--15",
  month =        apr,
  year =         "1996",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Feb 14 17:00:56 MST 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Tera Comput. Co., Seattle, WA, USA",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@InProceedings{Childs:1996:LPD,
  author =       "Bart Childs and Johannes Sametinger",
  title =        "Literate programming and documentation reuse",
  crossref =     "Sitaraman:1996:FIC",
  pages =        "205--214",
  year =         "1996",
  DOI =          "https://doi.org/10.1109/ICSR.1996.496128",
  bibdate =      "Tue Feb 11 14:07:43 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Texas A\&M Univ",
  affiliationaddress = "College Station, TX, USA",
  classification = "723.1; 723.2; 723.5",
  keywords =     "Codes (symbols); Computer aided software engineering;
                 Computer software; Data processing; Data structures;
                 Documentation reuse; Literate programming; Object
                 oriented programming; Program documentation; Software
                 engineering; Software reuse; Source code",
}

@InProceedings{Deransart:1996:HBEa,
  author =       "P. Deransart and R. {Da Silva Bigonha} and P. Parot
                 and M. Andrade",
  title =        "A Hypertext Based Environment to Write Literate Logic
                 Programs",
  crossref =     "Fuchs:1996:LPJ",
  pages =        "247--252",
  year =         "1996",
  bibdate =      "Fri Feb 27 15:48:07 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  searchkey =    "su:literate programming",
}

@InProceedings{Deransart:1996:HBEb,
  author =       "P. Deransart and P. Parot and R. {Da Silva Bigonha}
                 and M. A. {Da Silva Bigonha}",
  title =        "A Hypertext Based Environment to Write Literate Logic
                 Programs",
  crossref =     "Maher:1996:LPP",
  pages =        "540--??",
  year =         "1996",
  bibdate =      "Fri Feb 27 15:48:07 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  searchkey =    "su:literate programming",
}

@Book{Deursen:1996:LPA,
  editor =       "Arie van Deursen and Jan Heering and Paul Klint",
  title =        "Language Prototyping: An Algebraic Specification
                 Approach",
  publisher =    pub-WORLD-SCI,
  address =      pub-WORLD-SCI:adr,
  pages =        "xx + 353",
  year =         "1996",
  ISBN =         "981-02-2732-9",
  ISBN-13 =      "978-981-02-2732-6",
  LCCN =         "QA76.7 .L355 1996",
  bibdate =      "Fri Feb 27 18:22:41 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Many of the chapters in this book are literate
                 programs.",
  URL =          "http://www.cwi.nl/~gipe/language_prototyping/index.html",
  acknowledgement = ack-nhfb,
}

@InProceedings{Hurst:1996:LPA,
  author =       "A. J. Hurst",
  title =        "Literate Programming as an Aid to Marking Student
                 Assignments",
  crossref =     "Rosenberg:1996:PFA",
  pages =        "280--286",
  year =         "1996",
  bibdate =      "Tue Mar 03 09:08:41 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-lw,
}

@Article{Johnson:1996:LS,
  author =       "C. W. Johnson",
  title =        "Literate specifications",
  journal =      j-SEJ,
  volume =       "11",
  number =       "4",
  pages =        "225--237",
  month =        jul,
  year =         "1996",
  CODEN =        "SEJOED",
  ISSN =         "0268-6961",
  bibdate =      "Thu Feb 13 07:02:10 MST 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Glasgow Univ., UK",
  fjournal =     "Software Engineering Journal",
  pubcountry =   "UK",
}

@InProceedings{Knasmueller:1996:RLP,
  author =       "M. Knasmueller",
  title =        "Reverse Literate Programming",
  crossref =     "Samson:1996:PSQ",
  pages =        "97--105",
  year =         "1996",
  bibdate =      "Fri Feb 27 15:48:07 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  searchkey =    "su:literate programming",
}

@Book{Lions:1996:LCU,
  author =       "John Lions",
  title =        "{Lions'} Commentary on {UNIX 6th Edition}, with Source
                 Code",
  publisher =    "Peer-to-Peer Communications",
  address =      "San Jose, CA 95164-0218, USA",
  pages =        "254",
  year =         "1996",
  ISBN =         "1-57398-013-7",
  ISBN-13 =      "978-1-57398-013-5",
  LCCN =         "????",
  bibdate =      "Fri Jun 26 10:43:09 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "With forewords by Dennis M. Ritchie and Ken Thompson.
                 Prefatory notes by Peter H. Salus and Michael Tilson; a
                 Historical Note by Peter H. Salus; and Appreciations by
                 Greg Rose, Mike O'Dell, Berny Goodheart, Peter
                 Collinson, and Peter Reintjes. Originally circulated as
                 two restricted-release volumes: ``UNIX Operating System
                 Source Code Level Six'', and ``A Commentary on the UNIX
                 Operating System''.",
  price =        "US\$29.96; CAN\$41.95",
  series =       "Computer classics revisited",
  URL =          "http://www.peer-to-peer.com/catalog/opsrc/lions.html",
  acknowledgement = ack-nhfb,
  remark =       "This book exists because the Unix kernel was not
                 written as a literate program, but needed to be.",
}

@InProceedings{Moore:1996:IAL,
  author =       "A. P. Moore and C. N. {Payne, Jr.}",
  title =        "Increasing assurance with literate programming
                 techniques",
  crossref =     "IEEE:1996:CPE",
  pages =        "187--198",
  year =         "1996",
  DOI =          "https://doi.org/10.1109/CMPASS.1996.507887",
  bibdate =      "Thu Feb 13 07:02:10 MST 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The assurance argument that a trusted system satisfies
                 its information security requirements mast be
                 convincing, because the argument supports the
                 accreditation decision to allow the computer to process
                 classified information in an operational environment.
                 Assurance is achieved through understanding, but some
                 evidence that supports the assurance argument can be
                 difficult to understand. The paper describes a novel
                 application of a technique, called literate programming
                 (D.E. Knuth, 1984), that significantly improves the
                 readability of the assurance argument while maintaining
                 its consistency with formal specifications that are
                 input to specification and verification systems. We
                 describe an application of this technique to a simple
                 example and discuss the lessons learned from this
                 effort",
  acknowledgement = ack-nhfb,
  affiliation =  "Naval Res. Lab., Washington, DC, USA",
}

@TechReport{Morales-German:1996:SLS,
  author =       "Daniel Morales-Germ{\'a}n and Donald D. Cowan and A.
                 Ryman",
  title =        "{SGML-Lite} --- An {SGML}-based Programming
                 Environment for Literate Programming",
  type =         "Technical Report",
  number =       "CS-96-6",
  institution =  "Department of Computer Science, University of
                 Waterloo",
  address =      "Waterloo, ON, Canada",
  pages =        "10",
  year =         "1996",
  bibdate =      "Fri Aug 07 15:35:09 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://csgwww.uwaterloo.ca/~dmg/research/isacc96.ps.gz",
  acknowledgement = ack-nhfb,
}

@MastersThesis{Parker:1996:LPU,
  author =       "Chris Parker",
  title =        "Literate programming using {SGML} and modern hypertext
                 technology",
  type =         "Thesis ({M.S.})",
  school =       "Department of Computer Science, Worcester Polytechnic
                 Institute",
  address =      "Worcester, MA, USA",
  pages =        "vii, 111",
  year =         "1996",
  bibdate =      "Tue Mar 3 12:48:18 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Hypertext systems.; SGML (Document markup language)",
}

@Article{Ramsey:1996:SSL,
  author =       "Norman Ramsey",
  title =        "Simple solver for linear equations containing
                 nonlinear operators",
  journal =      j-SPE,
  volume =       "26",
  number =       "4",
  pages =        "467--487",
  month =        apr,
  year =         "1996",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Tue Feb 11 14:07:43 MST 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Bell Communications Research",
  affiliationaddress = "Morristown, NJ, USA",
  classification = "721.1; 723.1; 723.1.1; 723.2; 921.1; 921.6",
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  journalabr =   "Software Pract Exper",
  keywords =     "Algebraic simplification; C (programming language);
                 Computational methods; Computer hardware description
                 languages; Computer programming; Decoding; Digital
                 arithmetic; Encoding (symbols); Equation solver;
                 Equational specifications; Linear algebra; Linear
                 equations; Literate programming; Machine instructions;
                 Machine oriented languages; Mathematical operators;
                 Modula (programming language); Nonlinear operators;
                 Simultaneous equations",
}

@Article{Rath:1996:MSW,
  author =       "Hans Holger Rath and Hans-Peter Wiedling",
  title =        "Making {SGML} Work: Introducing {SGML} Into an
                 Enterprise and Using its Possibilities in Advanced
                 Applications",
  journal =      j-COMP-STANDARDS-INTERFACES,
  volume =       "18",
  number =       "1",
  pages =        "37--53",
  month =        jan,
  year =         "1996",
  CODEN =        "CSTIEZ",
  ISSN =         "0920-5489",
  ISSN-L =       "0920-5489",
  bibdate =      "Fri Aug 07 15:39:54 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.sil.org/sgml/bib-or.html#rathMacleod",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Standards and Interfaces",
}

@Article{Simons:1996:ALS,
  author =       "M. Simons and M. Weber",
  title =        "An approach to literate and structured formal
                 developments",
  journal =      "Formal Aspects of Computing",
  volume =       "8",
  number =       "1",
  pages =        "86--107",
  month =        "????",
  year =         "1996",
  CODEN =        "FACMES",
  ISSN =         "0934-5043",
  bibdate =      "Thu Feb 13 08:47:53 MST 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Forschungsgruppe Softwaretech., Tech. Univ. Berlin,
                 Germany",
  pubcountry =   "UK",
}

@Misc{Sperberg-McQueen:1996:SYL,
  author =       "C. M. Sperberg-McQueen",
  title =        "A Simple Yacc\slash Lex Processor for {Sweb}, an
                 {SGML} Tag Set for Literate Programming",
  howpublished = "World-Wide Web document.",
  day =          "5",
  month =        feb,
  year =         "1996",
  bibdate =      "Fri Aug 07 15:11:47 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.uic.edu/~cmsmcq/tech/sweb/swebyacc.html",
  acknowledgement = ack-nhfb,
}

@InProceedings{Wittenberg:1996:ULP,
  author =       "Lee Wittenberg",
  booktitle =    "{Proceedings of the 1st Australasian conference on
                 computer science education, Sydney, Australia}",
  title =        "Using literate programming notation in introductory
                 programming courses",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "267--272",
  year =         "1996",
  DOI =          "https://doi.org/10.1145/369585.369644",
  ISBN =         "0-89791-845-2",
  ISBN-13 =      "978-0-89791-845-9",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 14:21:16 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Wittenberg:1996:ULPa,
  author =       "L. Wittenberg",
  title =        "Using Literate Programming Notation in Introductory
                 Programming Courses",
  crossref =     "Rosenberg:1996:PFA",
  pages =        "267--272",
  year =         "1996",
  bibdate =      "Mon Mar 02 10:05:04 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-lw,
}

@Article{Wittenberg:1996:ULPb,
  author =       "L. Wittenberg",
  title =        "Using Literate Programming Notation in Introductory
                 Programming Courses",
  journal =      j-SIGCSE,
  volume =       "28",
  number =       "1",
  pages =        "437--437",
  month =        "????",
  year =         "1996",
  CODEN =        "SIGSD3",
  ISBN =         "0-89791-757-X",
  ISBN-13 =      "978-0-89791-757-5",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Fri Feb 27 15:28:18 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@InProceedings{Al-Maati:1997:ILP,
  author =       "Shereef Abu Al-Maati and William D. Shoaff",
  booktitle =    "Second Australasian Conference on Computer Science
                 Education",
  title =        "Integrating Literate Programming and Cleanroom
                 Software Engineering",
  publisher =    "University of Melbourne",
  address =      "Melbourne, Victoria, Australia",
  pages =        "99--106",
  day =          "2--4",
  month =        jul,
  year =         "1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Baecker:1997:SVD,
  author =       "Ron Baecker and Chris DiGiano and Aaron Marcus",
  title =        "Software Visualization for Debugging",
  journal =      j-CACM,
  volume =       "40",
  number =       "4",
  pages =        "44--54",
  month =        apr,
  year =         "1997",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri May 2 13:20:05 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Shows typeset literate code produced by methods
                 described in \cite{Baecker:1990:HFT}.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Book{Detig:1997:LPC,
  author =       "Christine Detig and Joachim Schrod",
  title =        "Literate Programming: Concepts, Methods, and Tools",
  publisher =    pub-ITCP,
  address =      pub-ITCP:adr,
  pages =        "????",
  year =         "1997",
  ISBN =         "1-85032-305-4",
  ISBN-13 =      "978-1-85032-305-1",
  LCCN =         "????",
  bibdate =      "Fri Feb 27 15:48:07 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Includes disk.",
  price =        "US\$36.95",
  series =       "ITCP-UK Computer Science Series",
  acknowledgement = ack-nhfb,
  remark =       "Was this ever published? Cannot find library catalog
                 data for it. What is the correct author list?",
}

@MastersThesis{Franosch:1997:KTI,
  author =       "Heike Franosch",
  title =        "{Konzeption und Teilrealisierung einer interaktiven
                 Programmierumgebung f{\"u}r die Lehrerausbildung
                 basierend auf der Idee des Literate-Programming}",
  type =         "Diplomarbeit",
  school =       "Universit{\"a}t Stuttgart",
  address =      "Stuttgart, Germany",
  pages =        "165",
  year =         "1997",
  bibdate =      "Tue Mar 03 11:51:05 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Book{Hanson:1997:CII,
  author =       "David R. Hanson",
  title =        "{C} Interfaces and Implementations: Techniques for
                 Creating Reusable Software",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvii + 519",
  year =         "1997",
  ISBN =         "0-201-49841-3",
  ISBN-13 =      "978-0-201-49841-7",
  LCCN =         "QA76.73.C15H37 1997",
  bibdate =      "Fri Feb 27 16:08:11 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  price =        "US\$37.95",
  series =       "Addison-Wesley Professional Computing Series",
  URL =          "http://www.cs.princeton.edu/software/cii/",
  acknowledgement = ack-nhfb,
}

@Article{Hendseth:1997:LPC,
  author =       "Sverre Hendseth",
  title =        "Literate Programming and Code Reuse",
  journal =      j-DDJ,
  volume =       "22",
  number =       "6",
  pages =        "18--20, 22, 24, 97, 98",
  month =        jun,
  year =         "1997",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Apr 30 07:02:17 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InProceedings{Hylands:1997:TUI,
  author =       "Christopher Hylands and Edward A. Lee and H. John
                 Reekie",
  title =        "The {Tycho} User Interface System",
  crossref =     "USENIX:1997:ATT",
  institution =  "University of California, Berkeley (authors 1-3)",
  pages =        "149--??",
  day =          "14--17",
  month =        jul,
  year =         "1997",
  bibdate =      "Wed Aug 20 10:15:08 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.usenix.org/cgi-bin/sortbib.pl?-sA",
  acknowledgement = ack-nhfb,
  annote =       "The system includes a semiliterate programming system
                 that allows embedded documentation to be converted
                 automatically to HTML.",
}

@Article{Johnson:1997:LPU,
  author =       "Andrew L. Johnson and Brad C. Johnson",
  title =        "Literate Programming Using {{\tt Noweb}}",
  journal =      j-LINUX-JOURNAL,
  volume =       "42",
  pages =        "64--69",
  month =        oct,
  year =         "1997",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  bibdate =      "Fri Oct 9 08:35:26 MDT 1998",
  bibsource =    "http://www.linuxjournal.com/issue42/index.html;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "ftp://ftp.ssc.com/pub/lj/listings/issue42/2188.tgz",
  abstract =     "An introduction to Noweb, a tool designed to aid the
                 programmer in producing understandable and easy to
                 maintain code.",
  acknowledgement = ack-nhfb,
}

@Misc{Kimber:1997:ALP,
  author =       "W. Eliot Kimber",
  title =        "An Approach to Literate Programming With {SGML}
                 Architectures",
  howpublished = "World-Wide Web document.",
  day =          "18",
  month =        jul,
  year =         "1997",
  bibdate =      "Fri Aug 07 15:50:40 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.isogen.com/papers/litprogarch/litprogarch.html",
  acknowledgement = ack-nhfb,
}

@Misc{Kimber:1997:USA,
  author =       "W. Eliot Kimber",
  title =        "Using {SGML} Architectures and {DSSSL} to Do Literate
                 Programming",
  howpublished = "World-Wide Web document.",
  day =          "20",
  month =        jul,
  year =         "1997",
  bibdate =      "Fri Aug 07 15:50:40 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.sil.org/sgml/kimberDSSSLLitProg.html",
  acknowledgement = ack-nhfb,
}

@Article{Ramsey:1997:SRM,
  author =       "Norman Ramsey and Mary F. Fern{\'a}ndez",
  title =        "Specifying Representations of Machine Instructions",
  journal =      j-TOPLAS,
  volume =       "19",
  number =       "3",
  pages =        "492--524",
  month =        may,
  year =         "1997",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Mon Jul 21 05:58:25 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "This article was written using the {\tt noweb}
                 literate programming system.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Sofka:1997:WTT,
  author =       "Michael D. Sofka",
  title =        "{{\it Writing with \TeX{}}, and {\it \TeX\ \& \LaTeX:
                 Drawing \& Literate Programming}, by Eitan M. Gurari}",
  journal =      j-TUGboat,
  volume =       "18",
  number =       "1",
  pages =        "37--38",
  month =        mar,
  year =         "1997",
  ISSN =         "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
                 http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@InProceedings{Zukowski:1997:ISU,
  author =       "Monty Zukowski",
  editor =       "Anonymous",
  booktitle =    "Proceedings of the 6th International Python
                 Conference: October 14--17, 1997, San Jose,
                 California",
  title =        "Implementing a Selective Undo Framework in {Python}",
  publisher =    "Corporation for National Research Initiatives (CNRI)",
  address =      "1895 Preston White Drive, Suite 100, Reston, VA 20191,
                 USA",
  pages =        "69--75",
  year =         "1997",
  ISBN =         "",
  ISBN-13 =      "",
  LCCN =         "????",
  bibdate =      "Mon Dec 29 14:27:24 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.python.org/workshops/1997-10/proceedings/zukowski.html",
  acknowledgement = ack-nhfb,
}

@Misc{Anonymous:1998:SFL,
  author =       "Anonymous",
  title =        "Suggestions for Frameworks for Literate Programming
                 Tools",
  howpublished = "World-Wide Web document.",
  year =         "1998",
  bibdate =      "Fri Aug 07 15:53:07 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.ems.uq.edu.au/Public/Lists/xml-litprog-l/framework.html",
  acknowledgement = ack-nhfb,
}

@Misc{Coates:1998:FDX,
  author =       "A. B. Coates",
  title =        "{\tt funnelweb.dtd}: {XML DTD} for
                 typesetter-independent FunnelWeb documents",
  howpublished = "World-Wide Web document.",
  day =          "01",
  month =        may,
  year =         "1998",
  bibdate =      "Fri Aug 07 15:56:12 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.ems.uq.edu.au/People/Tony/litprog/xml/dtd/funnelweb.dtd",
  acknowledgement = ack-nhfb,
}

@Misc{Coates:1998:XLP,
  author =       "Anthony B. Coates",
  title =        "{XML} and Literate Programming",
  howpublished = "World-Wide Web document.",
  year =         "1998",
  bibdate =      "Fri Aug 07 15:58:11 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.ems.uq.edu.au/Seminars/XML_LitProg/",
  acknowledgement = ack-nhfb,
}

@Misc{Cover:1998:SXL,
  author =       "Robin Cover",
  title =        "{SGML\slash XML} and Literate Programming",
  howpublished = "World-Wide Web document.",
  year =         "1998",
  bibdate =      "Fri Aug 07 14:58:51 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "This document includes links to other
                 literate-programming-in-SGML documents and software
                 packages.",
  URL =          "http://www.sil.org/sgml/xmlLitProg.html",
  acknowledgement = ack-nhfb,
}

@Article{Hatzigeorgiu:1998:LPS,
  author =       "Nick Hatzigeorgiu and Apostolos Syropoulos",
  title =        "Literate Programming and the ``{Spaniel}'' Model",
  journal =      j-SIGPLAN,
  volume =       "33",
  number =       "12",
  pages =        "52--56",
  month =        dec,
  year =         "1998",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:17:55 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See comments
                 \cite{Bigot:1999:LEC,Syropoulos:1999:LER}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{LPT:TB19-2-137,
  author =       "{\LaTeX} project team",
  title =        "{Default docstrip headers}",
  journal =      j-TUGboat,
  volume =       "19",
  number =       "2",
  pages =        "137--138",
  month =        jun,
  year =         "1998",
  ISSN =         "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
                 http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@Article{Lumley:1998:SAX,
  author =       "Thomas Lumley",
  title =        "Survival Analysis in {XLISP-Stat}. {A} semiliterate
                 program",
  journal =      j-J-STAT-SOFT,
  volume =       "3",
  number =       "2",
  pages =        "1--90",
  year =         "1998",
  CODEN =        "JSSOBK",
  ISSN =         "????",
  bibdate =      "Sun Nov 17 22:35:43 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.jstatsoft.org/v03/i02;
                 http://www.jstatsoft.org/v03/i02/code/;
                 http://www.jstatsoft.org/v03/i02/coxregdoc.pdf;
                 http://www.jstatsoft.org/v03/i02/coxregdoc.ps.gz;
                 http://www.jstatsoft.org/v03/i02/survival.tar.gz;
                 http://www.jstatsoft.org/v03/i02/updates",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  keywords =     "noweb",
}

@Misc{MacKichan:1998:TBE,
  author =       "Barry MacKichan",
  title =        "The {\tt toxml} Back End for {\tt noweb}",
  howpublished = "World-Wide Web document.",
  year =         "1998",
  bibdate =      "Fri Aug 07 15:54:17 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.halcyon.com/barrym/toxml.htm",
  acknowledgement = ack-nhfb,
}

@Article{Ramsey:1998:UEP,
  author =       "Norman Ramsey",
  title =        "Unparsing Expressions with Prefix and Postfix
                 Operators",
  journal =      j-SPE,
  volume =       "28",
  number =       "12",
  pages =        "1327--1356",
  month =        oct,
  year =         "1998",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Thu Jul 29 15:12:01 MDT 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=1761;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=1761&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  annote =       "This paper is a literate program.",
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Ruys:1998:ELP,
  author =       "Theo C. Ruys and Ed Brinksma",
  title =        "Experience with Literate Programming in the Modelling
                 and Validation of Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1384",
  pages =        "393--??",
  year =         "1998",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Feb 5 11:51:51 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1384.htm;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1384/13840393.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1384/13840393.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Misc{Skaller:1998:IDS,
  author =       "John Skaller",
  title =        "{Interscript} design and source documentation",
  howpublished = "World-Wide Web document.",
  year =         "1998",
  bibdate =      "Mon Aug 10 08:47:43 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.triode.net.au/~skaller/interscript/iscrs.html",
  acknowledgement = ack-nhfb,
}

@Misc{Skaller:1998:IT,
  author =       "John Skaller",
  title =        "{Interscript} tutorial",
  howpublished = "World-Wide Web document.",
  year =         "1998",
  bibdate =      "Mon Aug 10 08:47:43 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.triode.net.au/~skaller/interscript/iscru.html",
  acknowledgement = ack-nhfb,
}

@Misc{Skaller:1998:MSR,
  author =       "John Skaller",
  title =        "{Maxtal} Scripting Resources: Download",
  howpublished = "World-Wide Web document.",
  year =         "1998",
  bibdate =      "Mon Aug 10 08:58:23 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.triode.net.au/~skaller/interscript/iscrdown.html",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:1998:PPL,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: {Leo} and the Lizards",
  journal =      j-DDJ,
  volume =       "23",
  number =       "7",
  pages =        "101--103",
  month =        jul,
  year =         "1998",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Sat May 30 10:34:02 MDT 1998",
  bibsource =    "http://www.ddj.com/ddj/1998/1998_07/index.htm;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  annote =       "Lee Wittenberg <leew@samson.kean.edu> comments on the
                 LitProg mailing list on 29 May 1998 19:05:08
                 GMT:\par

                 Mike Swaine, in his ``Programming Paradigms'' column of
                 the current (\#287, July '98) issue of ``Dr. Dobb's
                 Journal'', writes about Ed Ream's LEO system for
                 literate programming. From his description (and the
                 simple example), it looks (to me) like a cross between
                 noweb and ExcoWord. Has anyone heard anything about
                 this?\par

                 Swaine also gives a pretty accurate (as far as it goes)
                 description of LP, describing Ream's technique as
                 ``literate outlining'' (which I think is a really good
                 description of what ExcoWord does). He uses Knuth's
                 (and, I suppose Ream's) ``section'' terminology to
                 refer to what we would call ``chunks'', but he's never
                 very far off base.\par

                 His most significant point, IMO, is\par

                 ...as Ed points out, the programming world has not
                 beaten a path to Knuth's door demanding WEB. Maybe it
                 lacks something. Maybe that something is
                 outlines.\par

                 While there's not doubt that LP is not at all popular
                 (witness the half-truths I had to resort to in order to
                 get students to sign up for a Special Topics LP
                 course), but I can't agree with his (tentative)
                 conclusion. I think the reason programmers stay away
                 from LP is the same reason they never really do
                 top-down design or document their programs thoroughly
                 or use any of the other ``Good Programming Practices'':
                 It looks like it involves more work than just sitting
                 at the terminal and typing in code. We all know that
                 this ``extra'' up-front work saves significant amounts
                 of time later on, but psychologically, this knowledge
                 doesn't generally translate into action. I'm afraid
                 that ``literate outlining'' faces the same
                 psychological hurdle.\par

                 I also find it interesting that, according to Swaine,
                 Ed Ream found traditional LP too unstructured. My
                 (limited) experience with ExcoWord brought me to the
                 conclusion that the outlining structure was too
                 restrictive, particularly under the demands of
                 maintenance, where major reorganization of the code's
                 structure is often necessary. With traditional LP,
                 structural reorganization involves text chunks almost
                 exclusively, with a bit of shuffling of where specific
                 code chunks are used, but very little rewriting of code
                 chunks (and no rewriting at all of leaf-level code
                 chunks). Outlining, on the other hand, seems to me to
                 require much more work to accomplish the same kind of
                 thing (of course, it is certainly possible that I just
                 didn't look hard enough, and didn't find the ``easy''
                 way to do this). And, since I consider LP's primary
                 strength to be in the area of program maintenance, I
                 think this is a serious problem.",
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Bigot:1999:LEC,
  author =       "Peter A. Bigot",
  title =        "Letters to the {Editor}: Comment on {Spaniel} paper",
  journal =      j-SIGPLAN,
  volume =       "34",
  number =       "2",
  pages =        "42--45",
  month =        feb,
  year =         "1999",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Apr 21 17:43:37 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See
                 \cite{Hatzigeorgiu:1998:LPS,Syropoulos:1999:LER}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Knuth:1999:DT,
  author =       "Donald E. Knuth",
  title =        "Digital Typography",
  volume =       "78",
  publisher =    pub-CSLI,
  address =      pub-CSLI:adr,
  pages =        "xvi + 685",
  year =         "1999",
  ISBN =         "1-57586-010-4 (paperback), 1-57586-011-2 (hardcover)",
  ISBN-13 =      "978-1-57586-010-7 (paperback), 978-1-57586-011-4
                 (hardcover)",
  LCCN =         "Z249.3.K59 1998",
  MRclass =      "68U15",
  MRnumber =     "MR1676044 (2002k:68194)",
  bibdate =      "Mon May 10 18:01:36 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/texbook3.bib;
                 http://www.math.utah.edu/pub/tex/bib/typeset.bib;
                 MathSciNet database",
  price =        "US\$90.00 (cloth), US\$39.95 (paperback)",
  series =       "CSLI Lecture Notes",
  acknowledgement = ack-nhfb,
  tableofcontents = "1: Digital Typography / 1 \\
                 2: Mathematical Typography / 19 \\
                 3: Breaking Paragraphs Into Lines / 67 \\
                 4: Mixing Right-to-Left Texts with Left-to-Right Texts
                 / 157 \\
                 5: Recipes and Fractions / 177 \\
                 6: The \TeX{} Logo in Various Fonts / 181 \\
                 7: Printing Out Selected Pages / 183 \\
                 8: Macros for Jill / 185 \\
                 9: Problem for a Saturday Morning / 195 \\
                 10: Exercises for \TeX{}: The Program / 197 \\
                 11: Mini-Indexes for Literate Programs / 225 \\
                 12: Virtual Fonts: More Fun for Grand Wizards / 247 \\
                 13: The Letter S / 263 \\
                 14: My First Experience with Indian Scripts / 285 \\
                 15: Concept of a Meta-Font / 289 \\
                 16: Lessons Learned from METAFONT / 315 \\
                 17: AMS Euler --- A New Typeface for Mathematics / 339
                 \\
                 18: Typesetting Concrete Mathematics / 367 \\
                 19: Course on METAFONT Programming / 379 \\
                 20: Punk Meta-Font / 391 \\
                 21: Fonts for Digital Halftones / 415 \\
                 22: Digital Halftones by Dot Diffusion / 449 \\
                 23: A Note on Digital Angles / 473 \\
                 24: TEXDR.AFT / 481 \\
                 25: TEX.ONE / 505 \\
                 26: \TeX{} Incunabula / 533 \\
                 27: Icons for \TeX{} and METAFONT / 547 \\
                 28: Computers and Typesetting / 555 \\
                 29: The New Versions of \TeX{} and METAFONT / 563 \\
                 30: The Future of \TeX{} and METAFONT / 571 \\
                 31: Questions and Answers, I / 573 \\
                 32: Questions and Answers, II / 601 \\
                 33: Questions and Answers, III / 625 \\
                 34: Final Errors of \TeX{} / 655 \\
                 Index / 663",
}

@Book{Mehlhorn:1999:LPC,
  author =       "Kurt Mehlhorn and Stefan N{\"a}her",
  title =        "{LEDA}: a platform for combinatorial and geometric
                 computing",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  pages =        "xvi + 1018",
  year =         "1999",
  ISBN =         "0-521-56329-1 (hardcover)",
  ISBN-13 =      "978-0-521-56329-1 (hardcover)",
  LCCN =         "QA76.73.C153 M44 1999",
  bibdate =      "Mon Jul 5 13:05:43 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/description/cam0210/99024952.html;
                 http://www.loc.gov/catdir/toc/cam027/99024952.html",
  acknowledgement = ack-nhfb,
  subject =      "C++ (Computer program language); LEDA (Computer file);
                 literate programming; Lweb; noweb",
}

@Article{Normark:1999:PWW,
  author =       "Kurt N{\o}rmark",
  title =        "Programming {World Wide Web} Pages in {Scheme}",
  journal =      j-SIGPLAN,
  volume =       "34",
  number =       "12",
  pages =        "37--47",
  month =        dec,
  year =         "1999",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Feb 23 18:36:28 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Describes a literate programming environment, LAML
                 (Lisp Abstracted Markup Language), for HTML dynamically
                 generated from Scheme programs.",
  URL =          "http://www.cs.auc.dk/~normark/laml/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Unpublished{Normark:1999:REP,
  author =       "Kurt N{\o}rmark",
  title =        "Requirements for an Elucidative Programming
                 Environment",
  year =         "1999",
  bibdate =      "Mon Aug 02 07:21:42 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "About to be submitted for publication.",
  URL =          "http://www.cs.auc.dk/~normark/elucidative-programming/index.html",
  acknowledgement = ack-kn,
}

@Article{Syropoulos:1999:LER,
  author =       "Apostolos Syropoulos",
  title =        "Letters to the {Editor}: Response to {Peter A.
                 Bigot}",
  journal =      j-SIGPLAN,
  volume =       "34",
  number =       "2",
  pages =        "46--46",
  month =        feb,
  year =         "1999",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Apr 21 17:43:37 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "See \cite{Hatzigeorgiu:1998:LPS,Bigot:1999:LEC}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@TechReport{Briggs:19xx:NVS,
  author =       "Preston Briggs",
  title =        "{Nuweb} Version 0.87b: a Simple Literate Programming
                 Tool",
  type =         "World-Wide Web document.",
  institution =  "Electrical Engineering and Computer Science
                 Department, Harvard University",
  address =      "Cambridge, MA, USA",
  year =         "19xx",
  bibdate =      "Mon Sep 24 17:27:44 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.eecs.harvard.edu/~nr/noweb/nuweb.html",
  acknowledgement = ack-nhfb,
}

@Misc{Advogato:2000:IDK,
  author =       "Advogato",
  title =        "Interview with {Donald E. Knuth}",
  howpublished = "World-Wide Web document",
  day =          "25",
  month =        jan,
  year =         "2000",
  bibdate =      "Tue Feb 11 05:53:54 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.advogato.org/article/28.html",
  acknowledgement = ack-nhfb,
  annote =       "Several comments on the value of literate
                 programming.",
}

@Article{Dwelly:2000:JXL,
  author =       "Andrew Dwelly",
  title =        "{Java}, {XML}, and Literate Programming",
  journal =      j-DDJ,
  volume =       "25",
  number =       "2",
  pages =        "62, 64--66, 68",
  month =        feb,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:13 MST 2000",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_02/litjava.txt;
                 http://www.ddj.com/ftp/2000/2000_02/litjava.zip",
  abstract =     "Marius, the system Andrew presents here, implements
                 some of Donald Knuth's ideas about literate programs,
                 but uses Java as its programming language, with HTML as
                 the output. In the process, Marius leverages the power
                 of XML. Additional resources include litjava.txt
                 (listings) and litjava.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Knuth:2000:SPA,
  author =       "Donald E. Knuth",
  title =        "Selected Papers on Analysis of Algorithms",
  volume =       "102",
  publisher =    pub-CSLI,
  address =      pub-CSLI:adr,
  pages =        "xvi + 621",
  year =         "2000",
  ISBN =         "1-57586-212-3 (paperback), 1-57586-211-5 (cloth)",
  ISBN-13 =      "978-1-57586-212-5 (paperback), 978-1-57586-211-8
                 (cloth)",
  LCCN =         "QA9.58 .K65 2000",
  MRclass =      "68Q25 (01A75 68W40)",
  MRnumber =     "2001c:68066",
  MRreviewer =   "A. D. Booth",
  bibdate =      "Fri Mar 22 18:03:29 MST 2002",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 MathSciNet database",
  series =       "CSLI Lecture Notes",
  acknowledgement = ack-nhfb,
}

@InProceedings{Normark:2000:REP,
  author =       "K. N{\o}rmark",
  editor =       "{IEEE}",
  booktitle =    "{8th International Workshop on Program Comprehension,
                 10--11 June, 2000, Limerick, Ireland. Proceedings. IWPC
                 2000}",
  title =        "Requirements for an elucidative programming
                 environment",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  bookpages =    "xi + 257",
  pages =        "119--128",
  year =         "2000",
  DOI =          "https://doi.org/10.1109/WPC.2000.852486",
  ISBN =         "0-7695-0656-9",
  ISBN-13 =      "978-0-7695-0656-2",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 14:28:13 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "IEEE Computer Society order number PR00656.",
  acknowledgement = ack-nhfb,
}

@Misc{Williams:2000:FTM,
  author =       "R. Williams",
  title =        "{FunnelWeb} Tutorial Manual",
  howpublished = "Web document",
  year =         "2000",
  bibdate =      "Mon Jul 5 14:04:20 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.ross.net/funnelweb/tutorial/intro_what.html",
  acknowledgement = ack-nhfb,
}

@Article{Atlamazoglou:2001:ALP,
  author =       "P. E. Atlamazoglou and H. T. Anastassiu and D. I.
                 Kaklamani",
  title =        "Application of literate-programming principles for the
                 description of a {FORTRAN 90} extension to quaternion
                 arithmetic",
  journal =      j-IEEE-APM,
  volume =       "43",
  number =       "4",
  pages =        "104--114",
  month =        aug,
  year =         "2001",
  CODEN =        "IAPMEZ",
  DOI =          "https://doi.org/10.1109/74.951564",
  ISSN =         "1045-9243",
  ISSN-L =       "1045-9243",
  bibdate =      "Mon Jul 5 14:39:37 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "In an effort to effectively annotate and document a
                 FORTRAN 90 module that extends the language's
                 mathematical capabilities to the performance of
                 quaternion operations, the literate-programming
                 paradigm is adopted. The basic principles of this
                 paradigm are discussed through a short introduction to
                 the features of a specific literate-programming system
                 known as FWEB. This system is then employed for the
                 efficient presentation of the FORTRAN 90 quaternion
                 arithmetic module",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Antennas and Propagation Magazine",
}

@Article{Donev:2001:CUNa,
  author =       "Aleksandar Donev",
  title =        "Communicating with the User in Numerical Routines:
                 {Part I}: {OOP} Approach in {F2x}",
  journal =      j-FORTRAN-FORUM,
  volume =       "20",
  number =       "2",
  pages =        "11--18",
  month =        aug,
  year =         "2001",
  ISSN =         "1061-7264 (print), 1931-1311 (electronic)",
  ISSN-L =       "1061-7264",
  bibdate =      "Mon Aug 27 19:11:05 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Fortran Forum",
  keywords =     "\FWEB{}",
}

@Article{Donev:2001:CUNb,
  author =       "Aleksandar Donev",
  title =        "Communicating with the User in Numerical Routines:
                 {Part II}: An Iterative Linear Solver in {F95} and
                 {F2X}",
  journal =      j-FORTRAN-FORUM,
  volume =       "20",
  number =       "2",
  pages =        "19--32",
  month =        aug,
  year =         "2001",
  ISSN =         "1061-7264 (print), 1931-1311 (electronic)",
  ISSN-L =       "1061-7264",
  bibdate =      "Mon Aug 27 19:11:05 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Fortran Forum",
  keywords =     "\FWEB{}",
}

@InProceedings{Anderson:2002:FLP,
  author =       "H. Anderson",
  editor =       "{IEEE}",
  booktitle =    "Eighth Asia-Pacific Software Engineering Conference,
                 4--7 December, 2001. APSEC 2001",
  title =        "Formalization and `literate' programming",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "39--44",
  year =         "2002",
  ISBN =         "0-7695-1408-1",
  ISBN-13 =      "978-0-7695-1408-6",
  ISSN =         "1530-1362",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 14:32:37 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The `literate' programming model is extended to
                 include a concept of mechanical transformation. A
                 prototype tool, FLP (formal literate programming tool),
                 has been developed which uses this extended `literate'
                 programming model in both a formal program proof
                 setting, and within a formal (refinement) program
                 development setting. In both settings, FLP provides
                 history, access to tools, and an easy-to-use interface.
                 FLP is a system with (i) a tree structured revision
                 control system allowing easy access to an entire
                 software development history, (ii) a unifying
                 semi-formal model encompassing both program proof and
                 refinement, and (iii) a single simple mechanism for
                 managing both formal transformations on programs
                 (proofs, tests, refinements) and informal
                 transformations (explanations). In this paper, we
                 outline the underlying semi-formal model for this
                 extended `literate' programming tool, briefly show the
                 system architecture, and demonstrate the tool's use
                 during a sample program development.",
  acknowledgement = ack-nhfb,
  keywords =     "formal literate programming tool; formal program
                 development setting; formal program proof setting;
                 formal transformations; formalization; informal
                 transformations; interface; literate programming;
                 mechanical transformation; semi-formal model; software
                 development history; system architecture; tree
                 structured revision control system; unifying
                 semi-formal model",
}

@InProceedings{Kacofegitis:2002:TBL,
  author =       "Andreas Kacofegitis and Neville Churcher",
  editor =       "Paul Strooper",
  booktitle =    "{Ninth Asia-Pacific Software Engineering Conference,
                 APSEC 2002: 4--6 December 2002, Gold Coast, Australia:
                 Proceedings}",
  title =        "Theme-Based Literate Programming",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "549--557",
  year =         "2002",
  DOI =          "https://doi.org/10.1109/APSEC.2002.1183079",
  ISBN =         "0-7695-1850-8",
  ISBN-13 =      "978-0-7695-1850-3",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 13:53:06 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "IEEE Computer Society order number PR01850.",
  URL =          "http://www.gbv.de/dms/bowker/toc/9780769518503",
  abstract =     "The source code for computer programs is destined to
                 be read by compilers and consequently its internal
                 structure is heavily constrained. The compiler neither
                 knows nor cares about such things as a program's
                 internal structure, the relationships between its
                 components and their specifications, the way design
                 patterns are instantiated, the best way to explain its
                 algorithms or how it is intended to be used. People do.
                 Literate programming (LP) was invented by Donald Knuth
                 as a way to address such problems. The idea is
                 appealing but LP has not been adopted widely:the lack
                 of good tools, difficulties with object-oriented
                 languages and the limitations of a single psychological
                 order are among the reasons. In this paper we report
                 the development of theme-based literate programming
                 (TBLP). Themes are extremely flexible: they may be
                 aimed at particular reader groups or represent aspects
                 of the program. Features of TBLP include an extended
                 chunk model which accommodates a richer variety of
                 types, an extended connectionmodel which allows chunks
                 to be threaded together into multiple themes, an
                 enhanced processing model which generalises tangling
                 and weaving and a chunk-level version management
                 system. XML is used to represent the web structure and
                 XML-based technologies such as XSLTare used in
                 processing. This provides flexibility and
                 extensibility, allowing users to define new chunk
                 types. An application which implements TBLP is
                 presented and the integration of TBLP with software
                 engineering processes is discussed.",
  acknowledgement = ack-nhfb,
}

@InProceedings{Leisch:2002:SDG,
  author =       "F. Leisch",
  editor =       "Wolfgang H{\"a}rdle and Bernd R{\"o}nz",
  booktitle =    "{Compstat 2002: Proceedings in Computational
                 Statistics: 15th symposium held in Berlin, Germany,
                 2002}",
  title =        "{Sweave}: Dynamic Generation of Statistical Reports
                 Using Literate Data Analysis",
  publisher =    "Physika-Verlag Heidelberg",
  address =      "Heidelberg, Germany",
  pages =        "565--580",
  year =         "2002",
  ISBN =         "3-7908-1517-9",
  ISBN-13 =      "978-3-7908-1517-7",
  LCCN =         "????",
  bibdate =      "Sat Jul 5 10:32:16 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.ci.tuwien.ac.at/~leisch/Sweave;
                 http://www.quantlet.de/scripts/compstat2002_wh/paper/full/S_08_leisch.pdf;
                 http://www.statistik.lmu.de/~leisch/Sweave/Sweave-compstat2002.pdf",
  acknowledgement = ack-nhfb,
  pagecount =    "6",
}

@Article{Leisch:2002:SPM,
  author =       "Friedrich Leisch",
  title =        "{Sweave}, {Part I}: Mixing {R} and {\LaTeX}",
  journal =      "R News",
  volume =       "2",
  number =       "3",
  pages =        "28--31",
  month =        dec,
  year =         "2002",
  bibdate =      "Sat Jul 05 19:24:59 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "http://www.statistik.lmu.de/~leisch/Sweave/Sweave-Rnews-2002-3.pdf",
  acknowledgement = ack-nhfb,
}

@TechReport{Leisch:2002:SUM,
  author =       "Friedrich Leisch",
  title =        "{Sweave} User Manual",
  type =         "Technical report",
  institution =  "Institut f{\"u}r Statistik und
                 Wahrscheinlichkeitstheorie, Technische Universit{\"a}t
                 Wien",
  address =      "Wiedner Haupstra{\ss}e 8-10, A-1040 Wien, Austria",
  day =          "7",
  month =        oct,
  year =         "2002",
  bibdate =      "Sat Jul 5 19:36:50 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://biosun1.harvard.edu/courses/individual/bio271/lectures/L7/Sweave-manual-20021007.pdf;
                 http://rss.acs.unt.edu/Rdoc/library/utils/html/Rtangle.html;
                 http://rss.acs.unt.edu/Rdoc/library/utils/html/RweaveLatex.html;
                 http://rss.acs.unt.edu/Rdoc/library/utils/html/Sweave.html",
  acknowledgement = ack-nhfb,
}

@InProceedings{Patry:2002:EUP,
  author =       "G. Patry and P. Girard",
  editor =       "{IEEE}",
  booktitle =    "{IEEE Symposia on Human-Centric Computing Languages
                 and Environments: proceedings, September 5-7, 2001,
                 Stresa, Italy}",
  title =        "End-user programming in a structured dialogue
                 environment: the {GIPSE Project}",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "212--219",
  year =         "2002",
  DOI =          "https://doi.org/10.1109/HCC.2001.995261",
  ISBN =         "0-7803-7198-4",
  ISBN-13 =      "978-0-7803-7198-9",
  LCCN =         "QA76.9.H85.I32 2001",
  bibdate =      "Mon Jul 5 14:55:41 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "IEEE catalog number 01TH8587.",
  URL =          "http://ieeexplore.ieee.org/servlet/opac?punumber=7811",
  abstract =     "Computer Aided Design software is a class of
                 application where the need for specialized versions of
                 functions is especially important. These added
                 functionalities are usually made by computer experts.
                 The GIPSE system has been designed to allow end-users
                 to specialize themselves their application to their
                 need by removing or adding new functions. The creation
                 of a new functionality is done by the way of
                 Programming by Demonstration techniques, without any
                 use of textual programming language.",
  acknowledgement = ack-nhfb,
}

@Misc{Ream:2002:LLP,
  author =       "E. K. Ream",
  title =        "{Leo} and Literate Programming",
  howpublished = "Web document and software.",
  year =         "2002",
  bibdate =      "Mon Jul 5 13:57:26 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://personalpages.tds.net/%7eedream/design.html",
  acknowledgement = ack-nhfb,
}

@Misc{Ream:2002:LSP,
  author =       "E. K. Ream",
  title =        "{Leo} Literate Editor with Outlines",
  howpublished = "Web document and software.",
  year =         "2002",
  bibdate =      "Mon Jul 5 13:57:26 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://personalpages.tds.net/%7eedream/intro.html",
  acknowledgement = ack-nhfb,
}

@Article{Saha:2002:RLP,
  author =       "Prasenjit Saha",
  title =        "{Rambutan: Literate programming in Java}",
  journal =      j-TUGboat,
  volume =       "23",
  number =       "3/4",
  pages =        "304--309",
  year =         "2002",
  ISSN =         "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
                 http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@InProceedings{Vestdam:2002:AIP,
  author =       "Thomas Vestdam and Kurt N{\o}rmark",
  editor =       "{IEEE}",
  booktitle =    "{Proceedings of the 10th International Workshop on
                 Program Comprehension, June 27--29, 2002, Paris,
                 France}",
  title =        "Aspects of Internal Program Documentation: An
                 Elucidative Perspective",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "43--52",
  year =         "2002",
  DOI =          "https://doi.org/10.1109/WPC.2002.1021315",
  ISBN =         "0-7695-1495-2 (paperback), 0-7695-1496-0 (case),
                 0-7695-1497-9 (microfiche)",
  ISBN-13 =      "978-0-7695-1495-6 (paperback), 978-0-7695-1496-3
                 (case), 978-0-7695-1497-0 (microfiche)",
  ISSN =         "1092-8138",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 14:02:43 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "IEEE Computer Society order number PR01495.",
  URL =          "http://www.gbv.de/dms/bowker/toc/9780769514963",
  abstract =     "It is difficult and challenging to comprehend the
                 internal aspects of a program. The internal aspects are
                 seen as contrasts to end user aspects and interface
                 aspects. Internal program documentation is relevant for
                 almost any kind of software. The internal program
                 documentation represents the original as well as the
                 accumulated understanding of the program, which is very
                 difficult to extract from the source program and its
                 modifications over time. Elucidative programming is a
                 documentation technique that was originally inspired by
                 literate programming. As an important difference
                 between the two, elucidative programming does not call
                 for any reorganization of the source programs, as
                 required by literate programming tools. Elucidative
                 programming provides for mutual navigation in between
                 program source files and sections of the documentation.
                 The navigation takes place in an Internet browser
                 applying a two-framed layout. In this paper we
                 investigate the applicability of elucidative
                 programming in a number of areas related to internal
                 program documentation. It is concluded that elucidative
                 programming can solve a number of concrete problems in
                 the areas of program tutorials, frameworks, and program
                 reviews. In addition we see positive impacts of
                 elucidative programming in the area of programming
                 education.",
  acknowledgement = ack-nhfb,
}

@Article{Holmes:2003:CPP,
  author =       "N. Holmes",
  title =        "The case for perspicuous programming",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "4",
  pages =        "104, 102--103",
  month =        apr,
  year =         "2003",
  CODEN =        "CPTRB4",
  DOI =          "https://doi.org/10.1109/MC.2003.1193236",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:57 MST 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/04/r4104.htm;
                 http://csdl.computer.org/dl/mags/co/2003/04/r4104.pdf",
  abstract =     "Traditional approaches to coding interactive programs,
                 even literate programming, suffer from the problem of
                 focusing on what the computer will do, not what the
                 user wants it to do. The algorithmic code is primary
                 and any documentation secondary, especially user
                 documentation. Help facilities appear to be added as an
                 almost independent exercise. We can solve this problem
                 by focusing on the user documentation and regarding the
                 algorithmic code as a mere adjunct. The production of
                 an interactive program should start with the user
                 documentation, with the majority of effort spent on
                 developing and refining that documentation and its
                 structure. Developers should add algorithmic code for
                 any program module only after its documentation is
                 complete and all parties have tested and agreed to it.
                 This perspicuous programming approach seeks to produce
                 programs for the user that are as unenigmatic as
                 possible. With a touch of blithely false etymology, we
                 could call this igmatic programming instead. Take your
                 pick.",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Book{Knuth:2003:SPC,
  author =       "Donald E. Knuth",
  title =        "Selected Papers on Computer Languages",
  publisher =    pub-CSLI,
  address =      pub-CSLI:adr,
  pages =        "xvi + 594",
  year =         "2003",
  ISBN =         "1-57586-381-2 (hardback), 1-57586-382-0 (paperback)",
  ISBN-13 =      "978-1-57586-381-8 (hardback), 978-1-57586-382-5
                 (paperback)",
  LCCN =         "QA76.7 .K63 2002",
  MRclass =      "68N15 (01A75 68-03 68-06)",
  MRnumber =     "MR2019164 (2005b:68045)",
  MRreviewer =   "Julian Padget",
  bibdate =      "Thu Sep 30 07:16:32 2004",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  price =        "US\$75.00 (hardback), US\$35.00 (paperback)",
  acknowledgement = ack-nhfb,
  classmath =    "68-03 (Historical (computer science)); 00B60
                 (Collections of reprinted articles); 01A75 (Collected
                 or selected works); 68-02 (Research monographs
                 (computer science))",
  keywords =     "Algol; attribute grammars; automata; BNF; compiler;
                 Fortran; programming history; programming language;
                 semantics; syntax",
  remark =       "Publisher's description: ``This book is the fifth
                 volume of the papers written by Donald E. Knuth, the
                 pioneer of computer science. The previous volumes were:
                 1. Literate Programming (1992); 2. Selected Papers on
                 Computer Science (1996; Zbl 0866.68002); 3. Digital
                 Typography (1999; Zbl 0927.68109); 4. Selected Papers
                 on Analysis of Algorithms (2000; Zbl 0966.68082). This
                 fifth volume contains 25 papers on programming
                 languages, their syntax, semantics and translation. The
                 book begins with a survey `The Early Development of
                 Programming Languages' originally published in 1977. It
                 is followed by the well known paper `Backus Normal Form
                 versus Backus Naur Form' (1964). Five papers are
                 concerned with Algol-60, two with SOL. The remaining
                 papers deal with the theory of programming languages,
                 context-free languages, formal semantics, attribute
                 grammars, compilers, algebraic translation, coroutine
                 generation, etc. The reader will be able to see the
                 early history and development of fundamental concepts
                 that have now become thoroughly integrated into modern
                 software systems.''",
}

@Book{Knuth:2003:SPD,
  author =       "Donald E. Knuth",
  title =        "Selected Papers on Discrete Mathematics",
  volume =       "106",
  publisher =    pub-CSLI,
  address =      pub-CSLI:adr,
  pages =        "xvi + 812",
  year =         "2003",
  ISBN =         "1-57586-248-4",
  ISBN-13 =      "978-1-57586-248-4",
  LCCN =         "QA39.3 .K59 2001",
  MRclass =      "01A75 (05-06 68-06)",
  MRnumber =     "MR2030307 (2005c:01030)",
  MRreviewer =   "Alexander Zvonkin",
  bibdate =      "Mon Dec 08 07:03:58 2003",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  price =        "US\$40.00",
  series =       "CSLI Lecture Notes",
  acknowledgement = ack-nhfb,
  classmath =    "01A75 (Collected or selected works); 00B60
                 (Collections of reprinted articles)",
  keywords =     "discrete mathematics; graph theory; groupoid;
                 identities; matrix theory; matroid; partitions;
                 permutations; recurrences",
  remark =       "This book is number six in a series of eight of Donald
                 E. Knuth's collected papers that Stanford's Center for
                 the Study of Language and Information plans to publish.
                 The previous already published volumes were: 1.
                 Literate Programming (1992); 2. Selected Papers on
                 Computer Science (1996; Zbl 0866.68002); 3. Digital
                 Typography (1999; Zbl 0927.68109); 4. Selected Papers
                 on Analysis of Algorithms (2000; Zbl 0966.68082). 5.
                 Selected Papers on Computer Languages (2003; Zbl
                 1046.68003). This sixth volume is devoted to
                 mathematical topics and contains 41 papers written
                 during the last four decades.\par

                 Donald E. Knuth is widely known as a pioneer of the
                 computer science and most of his papers are devoted to
                 this field. However he has solid mathematical
                 background and has published a lot of mathematical
                 papers covering the entire range of discrete
                 mathematics. Let us mention some topics exposed in this
                 collection of papers: combinatorial analysis related to
                 computers (sequences, backtrack, Latin squares,
                 projective planes), notes on mathematical notation,
                 notes on some 17th century mathematical publications,
                 doubly stochastic matrices, Pfaffians (arrays of
                 numbers), relations between matrices, graphs and trees,
                 large numbers (power series raised to the power), floor
                 function, random sequences, finite fields, central
                 groupoids, algebraic approach of Huffman's algorithm,
                 directed graphs, random matroids, permutations,
                 efficient balanced codes, various aspects of partitions
                 (enumeration, identities, etc.), recurrences (linear,
                 minimization, related to trees), cycles in an evolving
                 graph.\par

                 The collection ends with two lengthy papers: ``First
                 Cycles in an Evolving Graph'' (56 pages) (see Zbl
                 0696.05045) and ``The Birth of the Giant Component''
                 (150 pages) devoted to random graph problems (see Zbl
                 0795.05127), initiated by [{\it P. Erd{\H{o}}s} and
                 {\it A. R{\'e}nyi}, ``On random graphs I''. Publ. Math.
                 (Debrecen) 6, 290--297 (1959; Zbl 0092.15705)]. The
                 papers are self-contained so that a reader with a
                 general mathematical background would be able to
                 understand the content.\par

                 Almost every paper in this book is supplemented with an
                 addendum where the author presents short information
                 about what has happened after the paper was published:
                 further investigations and new results related to the
                 topic of the paper, comments, corrections.",
}

@Article{Leisch:2003:PPI,
  author =       "Friedrich Leisch",
  title =        "\pkg{Sweave}, {Part II}: Package Vignettes",
  journal =      j-R-NEWS,
  volume =       "3",
  number =       "2",
  pages =        "21--24",
  month =        oct,
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1609-3631",
  ISSN-L =       "1609-3631",
  bibdate =      "Thu Aug 13 09:25:10 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/rjournal.bib",
  URL =          "http://CRAN.R-project.org/doc/Rnews/",
  acknowledgement = ack-r-project,
  fjournal =     "R News: the Newsletter of the R Project",
  journal-URL =  "http://journal.r-project.org/",
  pdf =          Rnews2003-2,
}

@Article{Leisch:2003:RSR,
  author =       "Friedrich Leisch and Anthony J. Rossini",
  title =        "Reproducible statistical research",
  journal =      j-CHANCE,
  volume =       "16",
  number =       "2",
  pages =        "46--50",
  year =         "2003",
  CODEN =        "CNDCE4",
  ISSN =         "0933-2480 (print), 1867-2280 (electronic)",
  ISSN-L =       "0933-2480",
  bibdate =      "Sat Jul 05 19:30:42 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Chance: a magazine for people interested in the
                 analysis of data",
  journal-URL =  "http://chance.amstat.org/;
                 http://link.springer.com/journal/144;
                 http://www.tandfonline.com/loi/ucha20",
}

@InProceedings{Leisch:2003:SBC,
  author =       "Friedrich Leisch",
  editor =       "Kurt Hornik and Friedrich Leisch and Achim Zeileis",
  booktitle =    "{Proceedings of the 3rd International Workshop on
                 Distributed Statistical Computing, Vienna, Austria,
                 2003}",
  title =        "{Sweave} and beyond: Computations on text documents",
  publisher =    "????",
  address =      "????",
  pages =        "??--??",
  year =         "2003",
  ISBN =         "????",
  ISBN-13 =      "????",
  ISSN =         "1609-395X",
  LCCN =         "????",
  bibdate =      "Sat Jul 05 19:28:07 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Leisch:2003:SPI,
  author =       "Friedrich Leisch",
  title =        "{Sweave}, {Part II}: Package Vignettes",
  journal =      "R News",
  volume =       "3",
  number =       "2",
  pages =        "21--24",
  month =        oct,
  year =         "2003",
  bibdate =      "Sat Jul 05 19:24:59 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "http://www.statistik.lmu.de/~leisch/Sweave/Sweave-Rnews-2003-2.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Moon:2003:LPM,
  author =       "Alun Moon",
  title =        "{{Literate programming meets \acro{UML}}}",
  journal =      j-TUGboat,
  volume =       "24",
  number =       "1",
  pages =        "116--119",
  year =         "2003",
  ISSN =         "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
                 http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@TechReport{Rossini:2003:LSP,
  author =       "Anthony J. Rossini and Friedrich Leisch",
  title =        "Literate statistical practice",
  type =         "UW Biostatistics Working Paper Series",
  number =       "194",
  institution =  "University of Washington",
  address =      "Seattle, WA, USA",
  year =         "2003",
  bibdate =      "Sat Jul 05 19:31:41 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.bepress.com/uwbiostat/paper194",
  abstract =     "Literate Statistical Practice (LSP, Rossini, 2001)
                 describes an approach for creating self-documenting
                 statistical results. It applies literate programming
                 (Knuth, 1992) and related techniques in a natural
                 fashion to the practice of statistics. In particular,
                 documentation, specification, and descriptions of
                 results are written concurrently with writing and
                 evaluation of statistical programs. We discuss how and
                 where LSP can be integrated into practice and
                 illustrate this with an example derived from an actual
                 statistical consulting project. The approach is
                 simplified through the use of a comprehensive, open
                 source toolset incorporating Noweb, Emacs Speaks
                 Statistics (ESS), Sweave (Ramsey, 1994; Rossini, et al,
                 2002; Leisch, 2002; Ihaka and Gentlemen, 1996). We
                 conclude with an assessment of LSP for the construction
                 of reproducible, auditable, and comprehensible
                 statistical analyses.",
  acknowledgement = ack-nhfb,
}

@Article{Thimbleby:2003:ECP,
  author =       "Harold Thimbleby",
  title =        "Explaining code for publication",
  journal =      j-SPE,
  volume =       "33",
  number =       "10",
  pages =        "975--1001",
  month =        aug,
  year =         "2003",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.537",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Nov 29 17:39:47 MST 2003",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "25 Jun 2003",
}

@Book{Pfaff:2004:IBS,
  author =       "Ben Pfaff",
  title =        "An Introduction to Binary Search Trees and Balanced
                 Trees",
  publisher =    pub-FSF,
  address =      pub-FSF:adr,
  pages =        "x + 428",
  year =         "2004",
  bibdate =      "Mon Aug 27 14:54:14 2007",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "ftp://ftp.gnu.org/avl/",
  acknowledgement = ack-nhfb,
  remark =       "From the author: ``libavl is written using a literate
                 programming system called TexiWEB. By way of TexiWEB,
                 libavl is as much a textbook on binary trees and
                 balanced binary trees as it is a collection of
                 code.''",
}

@InProceedings{Pieterse:2004:CCL,
  author =       "Vreda Pieterse and Derrick G. Kourie and Andrew
                 Boake",
  booktitle =    "{Proceedings of the 2004 annual research conference of
                 the South African Institute of Computer Scientists and
                 Information Technologists on IT research in developing
                 countries: Stellenbosch, Western Cape, South Africa}",
  title =        "A case for contemporary literate programming",
  publisher =    "South African Institute for Computer Scientists and
                 Information Technologists",
  address =      "Cape Town, Republic of South Africa",
  pages =        "2--9",
  year =         "2004",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 13:45:09 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.5578&rep=rep1&type=pdf",
  abstract =     "In this paper we discuss the characteristics of
                 Literate Programming and the development of programming
                 environments to support Literate Programming in the
                 past two decades. We argue that recent technological
                 developments allow Literate Programming to be
                 re-introduced as a viable approach to improve the
                 quality and consistency of software artefacts.",
  acknowledgement = ack-nhfb,
}

@InProceedings{Pieterse:2004:LPE,
  author =       "Vreda Pieterse and Derrick G. Kourie and Andrew
                 Boake",
  title =        "Literate Programming to Enhance Agile Methods",
  crossref =     "Eckstein:2004:EPA",
  pages =        "250--253",
  year =         "2004",
  bibdate =      "Mon Jul 5 13:31:57 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.cs.up.ac.za/cs/vpieterse/pub/XP2004_LP.pdf",
  abstract =     "In this position paper, after explaining the
                 essentials of literate programming, we argue that a
                 literate programming style is consistent with the
                 values espoused by agile software development; and that
                 the application of literate programming in the context
                 of an agile software development methodology is likely
                 to enhance both the quality and lifespan of the final
                 product.",
  acknowledgement = ack-nhfb,
}

@InProceedings{Shankar:2004:ILA,
  author =       "T. R. Shankar",
  editor =       "J. (John) Hosking and P. (Philip) Cox and others",
  booktitle =    "{2003 IEEE Symposium on Human Centric Computing
                 Languages and Environments: proceedings: October 28-31,
                 2003, Auckland, New Zealand}",
  title =        "Intersections of literacy acquisition and
                 programming",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  bookpages =    "xiv + 296",
  pages =        "283--284",
  year =         "2004",
  DOI =          "https://doi.org/10.1109/HCC.2003.1260251",
  ISBN =         "0-7803-8225-0",
  ISBN-13 =      "978-0-7803-8225-1",
  LCCN =         "QA76.9.H85.I32 2003; QA76.9.H85.I32",
  bibdate =      "Mon Jul 5 14:53:21 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://ieeexplore.ieee.org/xpl/RecentCon.jsp?puNumber=8908",
  abstract =     "The computer is a highly literate instrument. And, the
                 design of most computer software, especially
                 programming languages and environments, assume a high
                 degree of literacy on the part of the user. Because
                 most programming environments rely upon text as the
                 primary method of specifying instructions, and because
                 programming structures are similar in a number of ways
                 to writing text, the development of literacy is a
                 necessary precondition, or at least an accompanying
                 concern when instructing low-literacy adult students in
                 programming. An understanding of how adults acquire
                 knowledge of and an ability to produce well-formed
                 literate structures shares a direct relationship to
                 their ability to program. This paper discusses problems
                 adult learners have with textual mechanics, of central
                 importance to literacy and text-based programming.",
  acknowledgement = ack-nhfb,
}

@Article{Betebenner:2005:UCS,
  author =       "Damian Betebenner",
  title =        "Using Control Structures with {Sweave}",
  journal =      j-R-NEWS,
  volume =       "5",
  number =       "1",
  pages =        "40--44",
  month =        may,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1609-3631",
  ISSN-L =       "1609-3631",
  bibdate =      "Thu Aug 13 09:25:10 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/rjournal.bib",
  URL =          "http://CRAN.R-project.org/doc/Rnews/",
  acknowledgement = ack-r-project,
  fjournal =     "R News: the Newsletter of the R Project",
  journal-URL =  "http://journal.r-project.org/",
  pdf =          Rnews2005-1,
}

@Article{Gallesio:2005:SFA,
  author =       "Erick Gallesio and Manuel Serrano",
  title =        "{Skribe}: a functional authoring language",
  journal =      j-J-FUNCT-PROGRAM,
  volume =       "15",
  number =       "5",
  pages =        "751--770",
  month =        sep,
  year =         "2005",
  CODEN =        "JFPRES",
  DOI =          "https://doi.org/10.1017/S0956796805005575",
  ISSN =         "0956-7968 (print), 1469-7653 (electronic)",
  ISSN-L =       "0956-7968",
  bibdate =      "Tue Jul 11 18:07:44 MDT 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "https://www.cambridge.org/core/product/689EF8960521587B23203A56C46D2592",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Funct. Program.",
  fjournal =     "Journal of Functional Programming",
  journal-URL =  "http://journals.cambridge.org/action/displayJournal?jid=JFP",
  onlinedate =   "08 June 2005",
}

@Article{Lymperopoulos:2005:UOO,
  author =       "D. G. Lymperopoulos and D. Logothetis and P.
                 Atlamazoglou and D. L. Kaklamani",
  title =        "Using object-oriented and literate-programming
                 techniques for the development of a computational
                 electromagnetics library",
  journal =      j-IEEE-APM,
  volume =       "47",
  number =       "3",
  pages =        "31--38",
  month =        jun,
  year =         "2005",
  CODEN =        "IAPMEZ",
  DOI =          "https://doi.org/10.1109/MAP.2005.1532539",
  ISSN =         "1045-9243",
  ISSN-L =       "1045-9243",
  bibdate =      "Mon Jul 5 14:44:14 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Code maintenance is perhaps the most time-consuming
                 problem in developing source code for various purposes.
                 The increased complexity of
                 computational-electromagnetics (CEM) simulation
                 software makes this task even more difficult and
                 tedious. The current paper proposes a sophisticated
                 approach for a significant performance improvement in
                 CEM code-maintenance tasks, with the fusion of
                 object-oriented and literate-programming techniques. A
                 case study concerning the development of a CEM library
                 is thoroughly analyzed and presented. Various aspects
                 of computational efficiency have been examined in order
                 to estimate the costs of developing object-oriented CEM
                 programs. The aim of the analysis is to stress the
                 advantages of the above-mentioned techniques, and to
                 provide useful guidelines for effective implementation
                 of CEM programs with reusable, extensible,
                 self-documented source code.",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Antennas and Propagation Magazine",
}

@Article{Quiney:2005:LPQ,
  author =       "H. M. Quiney and S. Wilson",
  title =        "Literate programming in quantum chemistry: a simple
                 example",
  journal =      j-IJQC,
  volume =       "104",
  number =       "4",
  pages =        "430--445",
  month =        "????",
  year =         "2005",
  CODEN =        "IJQCB2",
  DOI =          "https://doi.org/10.1002/qua.20641",
  ISSN =         "0020-7608 (print), 1097-461X (electronic)",
  ISSN-L =       "0020-7608",
  bibdate =      "Sat Oct 1 09:42:49 MDT 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/ijqc2000.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Int. J. Quantum Chem.",
  fjournal =     "International Journal of Quantum Chemistry",
  journal-URL =  "http://www.interscience.wiley.com/jpages/0020-7608/",
  onlinedate =   "13 May 2005",
}

@Article{Rougier:2005:LPC,
  author =       "Jonathan Rougier",
  title =        "Literate Programming for Creating and Maintaining
                 Packages",
  journal =      j-R-NEWS,
  volume =       "5",
  number =       "1",
  pages =        "35--39",
  month =        may,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "1609-3631",
  ISSN-L =       "1609-3631",
  bibdate =      "Thu Aug 13 09:25:10 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/rjournal.bib",
  URL =          "http://CRAN.R-project.org/doc/Rnews/",
  acknowledgement = ack-r-project,
  fjournal =     "R News: the Newsletter of the R Project",
  journal-URL =  "http://journal.r-project.org/",
  pdf =          Rnews2005-1,
}

@Book{Ruckert:2005:UMS,
  author =       "Martin Ruckert",
  title =        "Understanding {MP3}: syntax, semantics, mathematics,
                 and algorithms",
  publisher =    pub-VIEWEG,
  address =      pub-VIEWEG:adr,
  pages =        "xiii + 247",
  year =         "2005",
  ISBN =         "3-528-05905-2 (paperback)",
  ISBN-13 =      "978-3-528-05905-7 (paperback)",
  LCCN =         "ML74.4.M6 R83 2005",
  bibdate =      "Mon Jul 5 12:55:55 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 prodorbis.library.yale.edu:7090/voyager;
                 z3950.gbv.de:20011/gvk",
  series =       "vieweg-it",
  URL =          "http://www.gbv.de/dms/bowker/toc/9783528059057",
  acknowledgement = ack-nhfb,
  remark =       "Contains MP3 software written as literate programs.",
  subject =      "MP3 (Audio coding standard); Music; Data processing;
                 Computer sound processing; Computer network resources;
                 Computer programs",
}

@InProceedings{Vestdam:2005:TDP,
  author =       "T. Vestdam and K. N{\o}rmark",
  editor =       "{IEEE}",
  booktitle =    "{Proceedings of the 21st IEEE International Conference
                 on Software Maintenance: [Budapest, Hungary, 26 - 29
                 September 2005]. ICSM'05}",
  title =        "Toward documentation of program evolution",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  bookpages =    "xxiii + 731",
  year =         "2005",
  DOI =          "https://doi.org/10.1109/ICSM.2005.92",
  ISBN =         "0-7695-2368-4",
  ISBN-13 =      "978-0-7695-2368-2",
  ISSN =         "1063-6773",
  LCCN =         "QA76.76.S64",
  bibdate =      "Mon Jul 5 14:49:12 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "he documentation of a program often falls behind the
                 evolution of the program source files. When this
                 happens it may be attractive to shift the documentation
                 mode from updating the documentation to documenting the
                 evolution of the program. This paper describes tools
                 that support the documentation of program evolution.
                 The tools are refinements of the elucidative
                 programming tools, which in turn are inspired from
                 literate programming tools. The version-aware
                 elucidative programming tools are able to process a set
                 of program source files in different versions together
                 with unversioned documentation files. The paper
                 introduces a set of fine grained program evolution
                 steps, which are supported directly by the
                 documentation tools. The automatic discovery of the
                 fine grained program evolution steps makes up a
                 platform for documenting coarse grained and more
                 high-level program evolution steps. It is concluded
                 that our approach can help revitalize older
                 documentation, and that discovery of the fine grained
                 program evolution steps help the programmer in
                 documenting the evolution of the program.",
  acknowledgement = ack-nhfb,
}

@Article{Garbade:2006:URS,
  author =       "Sven Garbade and Peter Burgard",
  title =        "Using {R\slash Sweave} in everyday clinical practice",
  journal =      j-R-NEWS,
  volume =       "6",
  number =       "2",
  pages =        "26--31",
  month =        may,
  year =         "2006",
  CODEN =        "????",
  ISSN =         "1609-3631",
  ISSN-L =       "1609-3631",
  bibdate =      "Thu Aug 13 09:25:10 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/rjournal.bib",
  URL =          "http://CRAN.R-project.org/doc/Rnews/",
  acknowledgement = ack-r-project,
  fjournal =     "R News: the Newsletter of the R Project",
  journal-URL =  "http://journal.r-project.org/",
  pdf =          Rnews2006-2,
}

@Article{Husing:2006:ARA,
  author =       "Johannes H{\"u}sing",
  title =        "An Accept-and-Reject Algorithm to Sample from a Set of
                 Permutations Restricted by a Time Constraint",
  journal =      j-J-STAT-SOFT,
  volume =       "16",
  number =       "6",
  pages =        "1--17",
  month =        may,
  year =         "2006",
  CODEN =        "JSSOBK",
  ISSN =         "1548-7660",
  bibdate =      "Fri Jul 4 10:54:15 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.jstatsoft.org/v16/i06",
  abstract =     "A modification of an accept-and-reject algorithm to
                 sample from a set of restricted permutations is
                 proposed. By concentrating on a special class of
                 matrices obtained by restriction of the permutation in
                 time, assuming the objects to be permuted to be events
                 in time, the modified algorithm's running time can be
                 shown to be linear instead of geometric in the number
                 of elements. The implementation of the algorithm in the
                 language R is presented in a Literate Programming
                 style.",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  pubdates =     "Submitted 2005-04-11; Accepted 2006-05-16",
}

@Article{Kuhn:2006:SOD,
  author =       "Max Kuhn",
  title =        "{Sweave} and the {Open Document Format} --- The
                 \pkg{odfWeave} Package",
  journal =      j-R-NEWS,
  volume =       "6",
  number =       "4",
  pages =        "2--8",
  month =        oct,
  year =         "2006",
  CODEN =        "????",
  ISSN =         "1609-3631",
  ISSN-L =       "1609-3631",
  bibdate =      "Thu Aug 13 09:25:10 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/rjournal.bib",
  URL =          "http://CRAN.R-project.org/doc/Rnews/",
  acknowledgement = ack-r-project,
  fjournal =     "R News: the Newsletter of the R Project",
  journal-URL =  "http://journal.r-project.org/",
  pdf =          Rnews2006-4,
}

@Article{Roy:2006:DEP,
  author =       "Geoffrey G. Roy",
  title =        "Designing and explaining programs with a literate
                 pseudocode",
  journal =      j-JERIC,
  volume =       "6",
  number =       "1",
  pages =        "1:1--1:??",
  month =        mar,
  year =         "2006",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1217862.1217863",
  ISSN =         "1531-4278",
  bibdate =      "Fri Jun 20 10:12:12 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/jeric/;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Designing and explaining programs are often difficult
                 tasks, especially when novices are involved. It also
                 concerns more experienced programmers when complex
                 algorithms need to be carefully explained and
                 documented as part of software development. Good
                 practice suggests that code and documentation be
                 tightly coupled; but there are only a few support tools
                 specifically targeted at novices that require this as
                 an integral part of the programming process. We propose
                 a new tool design with this objective in mind: P-Coder
                 gives a flexible descriptive view of the program via
                 pseudocode notation within a graphical tree-structured
                 model, from which the complete algorithm can be
                 specified to retain the informal description integrated
                 with the final code. Thus the code meets some of the
                 key requirements for realizing a literate program.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "ACM Journal on Educational Resources in Computing
                 (JERIC)",
  keywords =     "literate programming; novices; pseudocode",
}

@TechReport{Sartori:2006:SRL,
  author =       "Nicola Sartori",
  title =        "{Sweave $=$ R $ \cdot $ {\LaTeX}$^2$}",
  type =         "Technical report",
  institution =  "Universit{\`a} ``Ca' Foscari'' Venezia",
  address =      "Venice, Italy",
  pages =        "17",
  day =          "23",
  month =        nov,
  year =         "2006",
  bibdate =      "Sat Jul 5 19:11:39 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "http://stat.epfl.ch/webdav/site/stat/shared/Regression/EPFL-Sweave-powerdot.pdf",
  acknowledgement = ack-nhfb,
}

@InProceedings{Dinmore:2007:LMI,
  author =       "M. Dinmore and A. F. Norcio",
  booktitle =    "IEEE International Conference on Information Reuse and
                 Integration, 13--15 August, 2007. IRI 2007",
  title =        "Literacy for the Masses: Integrating Software and
                 Knowledge Reuse for End-User Developers Through
                 Literate Programming",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "455--460",
  year =         "2007",
  DOI =          "https://doi.org/10.1109/IRI.2007.4296662",
  ISBN =         "1-4244-1500-4",
  ISBN-13 =      "978-1-4244-1500-7",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 14:36:16 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "We examine the potential for applying the literate
                 programming approach to end-user development problems
                 in which explicit knowledge capture and sharing is an
                 objective. Research results from the literate
                 programming literature are presented to support this
                 concept, and recent work addressing previously
                 recognized shortcomings of literate programming
                 technology is highlighted. A prototype system and early
                 experiences with an end-user literate programming are
                 briefly described.",
  acknowledgement = ack-nhfb,
  keywords =     "end-user development problem; end-user literate
                 programming; knowledge reuse; prototype system;
                 software reuse",
}

@Book{Goodliffe:2007:CCP,
  author =       "Pete Goodliffe",
  title =        "Code craft: the practice of writing excellent code",
  publisher =    pub-NO-STARCH,
  address =      pub-NO-STARCH:adr,
  year =         "2007",
  ISBN =         "1-59327-119-0",
  ISBN-13 =      "978-1-59327-119-0",
  LCCN =         "QA76.6 .G656 2007",
  bibdate =      "Mon Jul 5 13:28:08 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 library.mit.edu:9909/mit01",
  acknowledgement = ack-nhfb,
  keywords =     "literate programming",
  subject =      "Computer programming; Programming languages
                 (Electronic computers); Computer software;
                 Development",
}

@Article{Lenth:2007:SLP,
  author =       "Russell V. Lenth and S{\o}ren H{\o}jsgaard",
  title =        "{SASweave}: Literate Programming Using {SAS}",
  journal =      j-J-STAT-SOFT,
  volume =       "19",
  number =       "8",
  pages =        "1--20",
  month =        may,
  year =         "2007",
  CODEN =        "JSSOBK",
  ISSN =         "1548-7660",
  bibdate =      "Fri Jul 4 10:54:15 MDT 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.jstatsoft.org/v19/i08",
  abstract =     "SASweave is a collection of scripts that allow one to
                 embed SAS code into a {\LaTeX} document, and
                 automatically incorporate the results as well. SASweave
                 is patterned after Sweave, which does the same thing
                 for code written in R. In fact, a document may contain
                 both SAS and R code. Besides the convenience of being
                 able to easily incorporate SAS examples in a document,
                 SASweave facilitates the concept of ``literate
                 programming'': having code, documentation, and results
                 packaged together. Among other things, this helps to
                 ensure that the SAS output in the document is in
                 concordance with the code.",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  pubdates =     "Submitted 2007-02-14; Accepted 2007-05-27",
}

@Article{Page:2007:AOS,
  author =       "William S. Page",
  title =        "{Axiom}: open source computer algebra system",
  journal =      j-ACM-COMM-COMP-ALGEBRA,
  volume =       "41",
  number =       "3",
  pages =        "114--114",
  month =        sep,
  year =         "2007",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1358190.1358206",
  ISSN =         "1932-2232 (print), 1932-2240 (electronic)",
  ISSN-L =       "1932-2232",
  bibdate =      "Wed Jun 18 09:23:01 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Axiom has been in development since 1971. Originally
                 called Scratchpad II, it was developed by IBM under the
                 direction of Richard Jenks[1]. The project evolved over
                 a period of 20 years as a research platform for
                 developing new ideas in computational mathematics.
                 ScratchPad also attracted the interest and
                 contributions of a large number of mathematicians and
                 computer scientists outside of IBM. In the 1990s, the
                 Scratchpad project was renamed to Axiom, and sold to
                 the Numerical Algorithms Group (NAG) in England who
                 marketed it as a commercial system. NAG withdrew Axiom
                 from the market in October 2001 and agreed to release
                 Axiom as free software, under an open source
                 license.\par

                 Tim Daly (a former ScratchPad developer at IBM) setup a
                 pubic open source Axiom project[2] in October 2002 with
                 a primary goal to improve the documentation of Axiom
                 through the extensive use of literate programming[3].
                 The first free open source version of Axiom was
                 released in 2003. Since that time the project has
                 attracted a small but very active group of developers
                 and a growing number of users.\par

                 This exhibit includes a laptop computer running a
                 recent version of Axiom, Internet access (if available)
                 to the Axiom Wiki website[4], and CDs containing Axiom
                 software for free distribution[5].",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Communications in Computer Algebra",
  issue =        "161",
}

@TechReport{Filzmoser:2008:LRS,
  author =       "Peter Filzmoser",
  title =        "{\LaTeX} and {R} via {Sweave}: An example document how
                 to use {Sweave}",
  type =         "Technical report",
  institution =  "Vienna University of Technology",
  address =      "Wiedner Haupstra{\ss}e 8-10, A-1040 Wien, Austria",
  pages =        "6",
  day =          "12",
  month =        mar,
  year =         "2008",
  bibdate =      "Sat Jul 5 19:14:35 2008",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "http://www.statistik.tuwien.ac.at/public/filz/students/SweaveExa.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Gorjanc:2008:USL,
  author =       "Gregor Gorjanc",
  title =        "Using {Sweave} with {LyX}",
  journal =      j-R-NEWS,
  volume =       "8",
  number =       "1",
  pages =        "2--9",
  month =        may,
  year =         "2008",
  CODEN =        "????",
  ISSN =         "1609-3631",
  ISSN-L =       "1609-3631",
  bibdate =      "Thu Aug 13 09:25:10 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/rjournal.bib",
  URL =          "http://CRAN.R-project.org/doc/Rnews/",
  acknowledgement = ack-r-project,
  fjournal =     "R News: the Newsletter of the R Project",
  journal-URL =  "http://journal.r-project.org/",
  pdf =          Rnews2008-1,
}

@Article{Meredith:2009:TRE,
  author =       "Evan Meredith and Jeffrey S. Racine",
  title =        "Towards reproducible econometric research: the {{\tt
                 Sweave}} framework",
  journal =      j-J-APPL-ECONOMETRICS,
  volume =       "24",
  number =       "2",
  pages =        "366--374",
  month =        mar,
  year =         "2009",
  CODEN =        "JAECET",
  DOI =          "https://doi.org/10.1002/jae.1030",
  ISSN =         "0883-7252 (print), 1099-1255 (electronic)",
  ISSN-L =       "0883-7252",
  bibdate =      "Sat Mar 9 10:20:23 MST 2019",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jappleconometrics.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Applied Econometrics",
  journal-URL =  "https://onlinelibrary.wiley.com/journal/10991255;
                 https://www.jstor.org/journal/japplecon",
  onlinedate =   "24 February 2009",
}

@InProceedings{Palmer:2009:RLP,
  author =       "James Dean Palmer and Eddie Hillenbrand",
  booktitle =    "{Proceeding of the 24th ACM SIGPLAN conference
                 companion on Object oriented programming systems
                 languages and applications, Orlando, Florida, USA}",
  title =        "Reimagining literate programming",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "1007--1014",
  year =         "2009",
  DOI =          "https://doi.org/10.1145/1639950.1640072",
  ISBN =         "1-60558-768-0",
  ISBN-13 =      "978-1-60558-768-4",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 14:17:13 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "In this paper we describe Ginger, a new language with
                 first class support for literate programming. Literate
                 programming is a philosophy that argues computer
                 programs should be written as literature with human
                 readability and understanding of paramount importance.
                 While the intent of literate programming is to make
                 understanding computer programs simpler, most literate
                 programming systems are quite complex and consist of
                 three different languages corresponding to )1) an
                 implementation language, )2) a documentation language,
                 and (3) a literate programming glue language. In
                 Knuth's original implementation these were Pascal, TeX,
                 and WEB respectively. Antithetical to the goals that
                 literate programming espouses, this three-language
                 paradigm creates a truly challenging environment for
                 new programmers. In this paper we reimagine literate
                 programming as a core programming language feature and
                 describe a novel system for literate programming based
                 on G-expression transformations. We show that Ginger
                 code can be used to naturally represent code, prose,
                 and literate connections, which in turn unifies,
                 simplifies and significantly extends the literate
                 programming experience.",
  acknowledgement = ack-nhfb,
}

@Book{Seibel:2009:CWR,
  author =       "Peter Seibel",
  title =        "Coders at work: reflections on the craft of
                 programming",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xiii + 617",
  year =         "2009",
  ISBN =         "1-4302-1948-3",
  ISBN-13 =      "978-1-4302-1948-4",
  LCCN =         "HD8039.D37 S45 2009",
  bibdate =      "Mon Jul 5 13:24:12 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  keywords =     "literate programming",
}

@Book{Anonymous:2010:FTS,
  author =       "Anonymous",
  title =        "Free Typesetting Software: {{\LaTeX}}, {Troff},
                 {Scribus}, {Figlet}, {Lout}, {Noweb}, {Freetype},
                 {Graphite}, {Groff}",
  publisher =    "Books LLC",
  address =      "????",
  pages =        "44",
  year =         "2010",
  ISBN =         "1-157-24708-3",
  ISBN-13 =      "978-1-157-24708-1",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 13:09:21 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Book{Anonymous:2010:SDL,
  author =       "Anonymous",
  title =        "Software Documentation: Literate Programming, Software
                 Documentation, Docbook, {Gnu Free Documentation
                 License}",
  publisher =    "Books LLC",
  address =      "????",
  pages =        "70",
  year =         "2010",
  ISBN =         "1-156-09458-5",
  ISBN-13 =      "978-1-156-09458-7",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 13:09:21 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Book{Anonymous:2010:TNJ,
  author =       "Anonymous",
  title =        "{Troff: Nroff, James Clark, Noweb, Typset and Runoff,
                 Mike Lesk, Groff, Pic Language, Refer, Xindy, Tbl, Eqn,
                 Makeindex, Joe Ossanna, Troff Macro}",
  publisher =    "Books LLC",
  address =      "????",
  pages =        "46",
  year =         "2010",
  ISBN =         "1-156-87498-X",
  ISBN-13 =      "978-1-156-87498-1",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 13:10:57 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
}

@Article{Childs:2010:TYL,
  author =       "Bart Childs",
  title =        "Thirty years of literate programming and more?",
  journal =      j-TUGboat,
  volume =       "31",
  number =       "2",
  pages =        "183--188",
  year =         "2010",
  ISSN =         "0896-3207",
  bibdate =      "Sun Nov 27 15:57:23 MST 2011",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/tugboat.bib",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
}

@Article{Lundholm:2011:ICC,
  author =       "Michael Lundholm",
  title =        "Implementing the Compendium Concept with {Sweave} and
                 {DOCSTRIP}",
  journal =      j-R-JOURNAL,
  volume =       "3",
  number =       "2",
  pages =        "16--21",
  month =        dec,
  year =         "2011",
  CODEN =        "????",
  ISSN =         "2073-4859",
  bibdate =      "Thu Aug 13 15:54:57 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/rjournal.bib",
  URL =          "http://journal.r-project.org/archive/2011-2/RJournal_2011-2_Lundholm.pdf",
  acknowledgement = ack-r-project,
  fjournal =     "The R Journal",
  journal-URL =  "http://journal.r-project.org/",
}

@Article{Racine:2012:RPI,
  author =       "Jeffrey S. Racine",
  title =        "{RStudio}: A Platform-Independent {IDE} for {R} and
                 {Sweave}",
  journal =      j-J-APPL-ECONOMETRICS,
  volume =       "27",
  number =       "1",
  pages =        "167--172",
  month =        jan # "--" # feb,
  year =         "2012",
  CODEN =        "JAECET",
  DOI =          "https://doi.org/10.1002/jae.1278",
  ISSN =         "0883-7252 (print), 1099-1255 (electronic)",
  ISSN-L =       "0883-7252",
  bibdate =      "Sat Mar 9 10:20:32 MST 2019",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jappleconometrics.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Applied Econometrics",
  journal-URL =  "https://onlinelibrary.wiley.com/journal/10991255;
                 https://www.jstor.org/journal/japplecon",
  onlinedate =   "26 October 2011",
}

@Article{Schulte:2012:MLC,
  author =       "Eric Schulte and Dan Davison and Thomas Dye and
                 Carsten Dominik",
  title =        "A Multi-Language Computing Environment for Literate
                 Programming and Reproducible Research",
  journal =      j-J-STAT-SOFT,
  volume =       "46",
  number =       "3",
  pages =        "??--??",
  month =        jan,
  year =         "2012",
  CODEN =        "JSSOBK",
  ISSN =         "1548-7660",
  bibdate =      "Wed Mar 28 07:47:54 MDT 2012",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://www.jstatsoft.org/v46/i03",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Statistical Software",
  journal-URL =  "http://www.jstatsoft.org/",
  pubdates =     "Submitted 2010-12-22; Accepted 2011-10-03",
}

@Book{Ruckert:2015:MSS,
  author =       "Martin Ruckert",
  title =        "The {MMIX} supplement: supplement to {{\booktitle{The
                 Art of Computer Programming, volumes 1, 2, 3}} by
                 Donald E. Knuth}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxi + 193",
  year =         "2015",
  ISBN =         "0-13-399231-4 (paperback), 0-13-399289-6",
  ISBN-13 =      "978-0-13-399231-1 (paperback), 978-0-13-399289-2",
  LCCN =         "QA76.6 .K64 2005 Suppl. 1",
  bibdate =      "Wed Feb 4 10:19:23 MST 2015",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/hash.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 http://www.math.utah.edu/pub/tex/bib/master.bib;
                 http://www.math.utah.edu/pub/tex/bib/prng.bib;
                 http://www.math.utah.edu/pub/tex/bib/string-matching.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://mmix.cs.hm.edu/",
  abstract =     "In the first edition of Volume 1 of The Art of
                 Computer Programming, Donald E. Knuth introduced the
                 MIX computer and its machine language: a teaching tool
                 that powerfully illuminated the inner workings of the
                 algorithms he documents. Later, with the publication of
                 his Fascicle 1, Knuth introduced MMIX: a modern, 64-bit
                 RISC replacement to the now-obsolete MIX. Now, with
                 Knuth's guidance and approval, Martin Ruckert has
                 rewritten all MIX example programs from Knuth's Volumes
                 1--3 for MMIX, thus completing this MMIX update to the
                 original classic.\par

                 From Donald E. Knuth's Foreword:\par

                 ``I am thrilled to see the present book by Martin
                 Ruckert: It is jam-packed with goodies from which an
                 extraordinary amount can be learned. Martin has not
                 merely transcribed my early programs for MIX and recast
                 them in a modern idiom. He has penetrated to their
                 essence and rendered them anew with elegance and good
                 taste. His carefully checked code represents a
                 significant contribution to the art of pedagogy as well
                 as to the art of programming.''",
  acknowledgement = ack-nhfb,
  libnote =      "Not yet in my library.",
  subject =      "MMIX (Computer architecture); Assembly languages
                 (Electronic computers); Microcomputers; Programming",
  tableofcontents = "Foreword / iii \\
                 Preface / v \\
                 Style Guide / viii \\
                 Programming Techniques / xii \\
                 Basic Concepts / 1 \\
                 Applications to Permutations / 1 \\
                 Input and Output / 8 \\
                 Information Structures / 15 \\
                 Introduction / 15 \\
                 Sequential Allocation / 17 \\
                 Linked Allocation / 18 \\
                 Circular Lists / 25 \\
                 Doubly Linked Lists / 27 \\
                 Arrays and Orthogonal Lists / 36 \\
                 Traversing Binary Trees / 37 \\
                 Binary Tree Representation of Trees / 39 \\
                 Other Representations of Trees / 43 \\
                 Lists and Garbage Collection / 44 \\
                 Dynamic Storage Allocation / 45 \\
                 Random Numbers / 48 \\
                 Choice of modulus / 48 \\
                 Potency / 49 \\
                 Other Methods / 50 \\
                 Numerical Distributions / 51 \\
                 Summary / 52 \\
                 Arithmetic / 53 \\
                 Positional Number Systems / 53 \\
                 Single-Precision Calculations / 53 \\
                 Accuracy of Floating Point Arithmetic / 58 \\
                 Double-Precision Calculations / 58 \\
                 The Classical Algorithms / 62 \\
                 Radix Conversion / 68 \\
                 The Greatest Common Divisor / 70 \\
                 Analysis of Euclid's Algorithm / 71 \\
                 Factoring into Primes / 72 \\
                 Evaluation of Powers / 72 \\
                 Evaluation of Polynomials / 73 \\
                 Sorting / 74 \\
                 Internal Sorting / 74 \\
                 Sorting by Insertion / 76 \\
                 Sorting by Exchanging / 81 \\
                 Sorting by Selection / 87 \\
                 Sorting by Merging / 89 \\
                 Sorting by Distribution / 93 \\
                 Minimum-Comparison Sorting / 94 \\
                 Summary, History and Bibliography / 95 \\
                 Searching / 97 \\
                 Sequential Searching / 97 \\
                 Searching an Ordered Table / 99 \\
                 Binary Tree Searching / 102 \\
                 Balanced Trees / 103 \\
                 Digital Searching / 106 \\
                 Hashing / 108 \\
                 Answers to Exercises / 117 \\
                 The MMIX Assembly Language / 117 \\
                 Applications to Permutations / 120 \\
                 Input and Output / 120 \\
                 Introduction / 122 \\
                 Sequential Allocation / 123 \\
                 Linked Allocation / 124 \\
                 Circular Lists / 128 \\
                 Doubly Linked Lists / 130 \\
                 Arrays and Orthogonal Lists / 132 \\
                 Traversing Binary Trees / 134 \\
                 Binary Tree Representation of Trees / 136 \\
                 Lists and Garbage Collection / 139 \\
                 Dynamic Storage Allocation / 140 \\
                 Choice of modulus / 147 \\
                 Potency / 148 \\
                 Other Methods / 148 \\
                 Numerical Distributions / 149 \\
                 Summary / 150 \\
                 Positional Number Systems / 150 \\
                 Single-Precision Calculations / 151 \\
                 Accuracy of Floating Point Arithmetic / 152 \\
                 Double-Precision Calculations / 153 \\
                 The Classical Algorithms / 156 \\
                 Radix Conversion / 158 \\
                 The Greatest Common Divisor / 160 \\
                 Analysis of Euclid's Algorithm / 160 \\
                 Evaluation of Powers / 161 \\
                 Evaluation of Polynomials / 161 \\
                 Sorting / 162 \\
                 Internal Sorting / 162 \\
                 Sorting by Insertion / 165 \\
                 Sorting by Exchanging / 169 \\
                 Sorting by Selection / 174 \\
                 Sorting by Distribution / 179 \\
                 Minimum-Comparison Sorting / 180 \\
                 Summary, History, and Bibliography / 183 \\
                 Sequential Searching / 183 \\
                 Searching an Ordered Table / 184 \\
                 Binary Tree Searching / 185 \\
                 Balanced Trees / 185 \\
                 Digital Searching / 186 \\
                 Hashing / 186 \\
                 Acknowledgements / 188 \\
                 Index / 189",
}

@Misc{Anonymous:2017:SUD,
  author =       "Anonymous",
  title =        "{Skribilo}: The Ultimate Document Programming
                 Framework",
  howpublished = "Web site",
  year =         "2017",
  bibdate =      "Fri Mar 10 14:22:41 2017",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "Skribilo is a free document production tool that takes
                 a structured document representation as its input and
                 renders that document in a variety of output formats:
                 HTML and Info for on-line browsing, and Lout and
                 {\LaTeX} for high-quality hard copies.\par

                 The input document can use Skribilo's markup language
                 to provide information about the document's structure,
                 which is similar to HTML or {\LaTeX} and does not
                 require expertise. Alternatively, it can use a simpler,
                 markup-less format that borrows from Emacs' outline
                 mode and from other conventions used in emails, Usenet
                 and text.\par

                 Last but not least, Skribilo can be thought of as a
                 complete document programming framework for the Scheme
                 programming language that may be used to automate a
                 variety of document generation tasks. Technically, the
                 Skribilo language\slash API is an embedded
                 domain-specific language (EDSL), implemented via
                 so-called deep embedding. Skribilo uses GNU Guile 1.8
                 or 2.0 as the underlying Scheme implementation.",
  acknowledgement = ack-nhfb,
}

@Article{Pastell:2017:PWJ,
  author =       "Matti Pastell",
  title =        "\pkg{Weave.jl}: Scientific Reports Using {Julia}",
  journal =      j-J-OPEN-SOURCE-SOFT,
  volume =       "2",
  number =       "11",
  pages =        "204:1--204:1",
  month =        mar,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.21105/joss.00204",
  ISSN =         "2475-9066",
  ISSN-L =       "2475-9066",
  bibdate =      "Thu Sep 13 08:09:35 MDT 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/joss.bib;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://joss.theoj.org/papers/10.21105/joss.00204",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Open Source Software",
  journal-URL =  "http://joss.theoj.org/;
                 https://github.com/openjournals/joss-papers/",
  onlinedate =   "22 March 2017",
  ORCID-numbers = "Matti Pastell / 0000-0002-5810-4801",
}

@Book{Vee:2017:CLH,
  author =       "Annette Vee",
  title =        "Coding Literacy: How Computer Programming is Changing
                 Writing",
  publisher =    pub-MIT,
  address =      pub-MIT:adr,
  pages =        "xi + 361",
  year =         "2017",
  ISBN =         "0-262-03624-X (hardcover)",
  ISBN-13 =      "978-0-262-03624-5 (hardcover)",
  LCCN =         "LC149.5",
  bibdate =      "Tue Sep 25 07:58:54 MDT 2018",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  series =       "Software studies",
  abstract =     "The message from educators, the tech community, and
                 even politicians is clear: everyone should learn to
                 code. To emphasize the universality and importance of
                 computer programming, promoters of coding for everyone
                 often invoke the concept of ``literacy,'' drawing
                 parallels between reading and writing code and reading
                 and writing text. In this book, Annette Vee examines
                 the coding-as-literacy analogy and argues that it can
                 be an apt rhetorical frame. The theoretical tools of
                 literacy help us understand programming beyond a
                 technical level, and in its historical, social, and
                 conceptual contexts. Viewing programming from the
                 perspective of literacy and literacy from the
                 perspective of programming, she argues, shifts our
                 understandings of both. Computer programming becomes
                 part of an array of communication skills important in
                 everyday life, and literacy, augmented by programming,
                 becomes more capacious. Vee examines the ways that
                 programming is linked with literacy in coding literacy
                 campaigns, considering the ideologies that accompany
                 this coupling, and she looks at how both writing and
                 programming encode and distribute information. She
                 explores historical parallels between writing and
                 programming, using the evolution of mass textual
                 literacy to shed light on the trajectory of code from
                 military and government infrastructure to large-scale
                 businesses to personal use. Writing and coding were
                 institutionalized, domesticated, and then established
                 as a basis for literacy.",
  acknowledgement = ack-nhfb,
  subject =      "Computers and literacy; Literacy; History; Computer
                 literacy; Written communication; Programming languages
                 (Electronic computers); Rhetoric; Study and teaching;
                 Computer programming; Computer literacy; Study and
                 teaching; Computers and literacy; Literacy; Programming
                 languages (Electronic computers); Written
                 communication; Programmierung; Schriftlichkeit;
                 Schriftsprache; Kommunikation; literate programming",
  tableofcontents = "Introduction : Computer programming as literacy \\
                 Coding for everyone and the legacy of mass literacy \\
                 Sociomaterialities of programming and writing \\
                 Material infrastructures of programming and writing \\
                 Literacy for everyday life \\
                 Conclusion : Promoting coding literacy : lessons from
                 reading and writing",
}

%%% ====================================================================
%%% Cross-referenced entries must come last, sort by year, and then by
%%% citation label, with ``bibsort --byyear'':

@Proceedings{Gianni:1989:SAC,
  editor =       "P. (Patrizia) Gianni",
  booktitle =    "Symbolic and algebraic computation: International
                 Symposium ISSAC '88, Rome, Italy, July 4--8, 1988:
                 proceedings",
  title =        "Symbolic and algebraic computation: International
                 Symposium {ISSAC} '88, Rome, Italy, July 4--8, 1988:
                 proceedings",
  volume =       "358",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xi + 543",
  year =         "1989",
  ISBN =         "3-540-51084-2",
  ISBN-13 =      "978-3-540-51084-0",
  LCCN =         "QA76.95 .I571 1988",
  bibdate =      "Thu Sep 26 06:21:35 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Conference held jointly with AAECC-6.",
  series =       ser-LNCS,
  abstract =     "The following topics were dealt with: differential
                 algebra; applications; Gr{\"o}bner bases; differential
                 equations; algorithmic number theory; algebraic
                 geometry; computational geometry; computational logic;
                 systems; and arithmetic.",
  acknowledgement = ack-nhfb,
  classification = "C1110 (Algebra); C4100 (Numerical analysis); C7310
                 (Mathematics)",
  confdate =     "4--8 July 1988",
  conflocation = "Rome, Italy",
  keywords =     "Differential algebra; Applications; Gr{\"o}bner bases;
                 Differential equations; Algorithmic number theory;
                 Algebraic geometry; Computational geometry;
                 Computational logic; Systems; Arithmetic",
  pubcountry =   "West Germany",
  thesaurus =    "Algebra; Computational geometry; Differential
                 equations; Formal logic; Mathematics computing; Theorem
                 proving",
}

@Proceedings{IEEE:1990:PTA,
  editor =       "{IEEE}",
  booktitle =    "Proceedings of the Twenty-Third Annual Hawaii
                 International Conference on System Sciences",
  title =        "Proceedings of the Twenty-Third Annual Hawaii
                 International Conference on System Sciences",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "x + 449 + xii + 575 + xii + 673 + xi + 515",
  year =         "1990",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "4 vol.",
  acknowledgement = ack-nhfb,
  confdate =     "2--5 Jan. 1990",
  conflocation = "Kailua-Kona, HI, USA",
  confsponsor =  "IEEE; Univ. Hawaii; PRIISM; ACM",
}

@Book{Broy:1991:MPS,
  author =       "Manfred Broy and Martin Wirsing",
  booktitle =    "Methods of programming. Selected papers on the
                 {CIP-Project}",
  title =        "Methods of programming. Selected papers on the
                 {CIP-Project}",
  volume =       "544",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xii + 268",
  year =         "1991",
  CODEN =        "LNCSD9",
  ISBN =         "3-540-54576-X (Berlin), 0-387-54576-X (USA)",
  ISBN-13 =      "978-3-540-54576-7 (Berlin), 978-0-387-54576-9 (USA)",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  LCCN =         "QA76.6 .M4543 1991, QA267.A1 L43 no.544",
  bibdate =      "Wed Aug 31 00:52:14 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t0544.htm;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=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,
  classification = "C4210 (Formal logic); C4240 (Programming and
                 algorithm theory); C6110B (Software engineering
                 techniques)",
  keywords =     "Deductive program development; electronic digital
                 computers; Formal specification; Functional
                 programming; Literate programming; literate
                 programming; Meta-models; OOP; programming; Quantifier
                 elimination; Reverse Polish notation; Software
                 reusability; System development; Transformational
                 programming",
  thesaurus =    "Formal logic; Formal specification; Programming;
                 Programming theory; Software reusability",
}

@Proceedings{Noye:1992:CTA,
  editor =       "John Noye and Basil Benjamin and Lee Colgan",
  booktitle =    "Computational techniques and applications: proceedings
                 of 5th International Computational Techniques and
                 Applications Conference, held at The University of
                 Adelaide, 14--17 July, 1991",
  title =        "Computational techniques and applications: proceedings
                 of 5th International Computational Techniques and
                 Applications Conference, held at The University of
                 Adelaide, 14--17 July, 1991",
  publisher =    "Australian Mathematics Society",
  address =      "Adelaide, South Australia, Australia",
  pages =        "xxii + 466",
  year =         "1992",
  ISBN =         "0-86396-172-X",
  ISBN-13 =      "978-0-86396-172-4",
  LCCN =         "????",
  bibdate =      "Fri Feb 27 18:32:40 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  series =       "Computational Techniques and Applications 1991",
  acknowledgement = ack-nhfb,
  sponsor =      "Australian Mathematical Society; Applied Mathematics
                 Division; Computational Mathematics Group.",
}

@Proceedings{ACM:1993:PFA,
  key =          "ACM-SIAM-DA4",
  booktitle =    "Proceedings of the {Fourth Annual ACM-SIAM Symposium
                 on Discrete Algorithms}",
  title =        "Proceedings of the {Fourth Annual ACM-SIAM Symposium
                 on Discrete Algorithms}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "506",
  year =         "1993",
  ISBN =         "0-89871-313-7",
  ISBN-13 =      "978-0-89871-313-8",
  LCCN =         "QA76.9.A43 A34 1993",
  bibdate =      "Wed Aug 17 23:51:38 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  annote =       "4th: 1993: Austin, TX.",
}

@Proceedings{Bowen:1993:ZUW,
  editor =       "J. P. Bowen and J. E. Nicholls",
  booktitle =    "{Z} User Workshop London 1992. Proceedings of the
                 Seventh Annual {Z} User Meeting",
  title =        "{Z} User Workshop London 1992. Proceedings of the
                 Seventh Annual {Z} User Meeting",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "viii + 347",
  year =         "1993",
  ISBN =         "3-540-19818-0",
  ISBN-13 =      "978-3-540-19818-5",
  LCCN =         "QA76.73.Z2 Z2 1992",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  confdate =     "14--15 Dec. 1992",
  conflocation = "London, UK",
  pubcountry =   "Germany",
}

@Proceedings{Osterbye:1993:HEW,
  editor =       "K. Osterbye",
  booktitle =    "Hypertext in engineering: Workshop: Hypertext '93
                 conference --- November 1993, Seattle, WA, USA",
  title =        "Hypertext in engineering: Workshop: Hypertext '93
                 conference --- November 1993, Seattle, {WA}, {USA}",
  number =       "2030",
  publisher =    "Aalborg University",
  address =      "Aalborg, Denmark",
  pages =        "????",
  year =         "1993",
  ISSN =         "0908-1216",
  bibdate =      "Wed Apr 3 16:24:12 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  series =       "University of Aalborg Department of Mathematics and
                 Computer Science --- Reports --- R 1993",
  acknowledgement = ack-nhfb,
  sponsor =      "ACM.",
}

@Proceedings{Anonymous:1994:PAA,
  editor =       "Anonymous",
  booktitle =    "Proceedings of 21st Annual ACM SIGACT-SIGPLAN
                 Symposium on Principles of Programming Languages",
  title =        "Proceedings of 21st Annual {ACM SIGACT-SIGPLAN}
                 Symposium on Principles of Programming Languages",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "viii + 492",
  month =        "????",
  year =         "1994",
  ISBN =         "0-89791-636-0",
  ISBN-13 =      "978-0-89791-636-3",
  LCCN =         "QA76.7 .A15 1994",
  bibdate =      "Sat Sep 7 07:51:54 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The following topics were dealt with: programming
                 language principles; OOP; type theory; program
                 correctness; lambda calculus; garbage collection; logic
                 programming; scheduling; data flow graphs; functional
                 programming; and continuation passing.",
  acknowledgement = ack-nhfb,
  classification = "C4210 (Formal logic); C4240 (Programming and
                 algorithm theory); C6110J (Object-oriented
                 programming); C6120 (File organisation); C6140D (High
                 level languages); C6150C (Compilers, interpreters and
                 other processors)",
  confdate =     "17--21 Jan. 1994",
  conflocation = "Portland, OR, USA",
  confsponsor =  "ACM",
  keywords =     "Continuation passing; Data flow graphs; Functional
                 programming; Garbage collection; Lambda calculus; Logic
                 programming; OOP; Program correctness; Programming
                 language principles; Scheduling; Type theory",
  thesaurus =    "High level languages; Lambda calculus; Object-oriented
                 programming; Program compilers; Program verification;
                 Storage management; Type theory",
}

@Proceedings{Botsford:1994:PCI,
  editor =       "J. Botsford and A. Gawman and M. Gentleman and E. Kidd
                 and K. Lyons and J. Slonim",
  booktitle =    "Proceedings. {CASCON} '94. Integrated Solutions",
  title =        "Proceedings. {CASCON} '94. Integrated Solutions",
  publisher =    "Nat. Res. Council Canada",
  address =      "Ottawa, Ont., Canada",
  pages =        "xxiv + 386",
  year =         "1994",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  confdate =     "31 Oct.--3 Nov. 1994",
  conflocation = "Toronto, Ont., Canada",
  confsponsor =  "IBM; Nat. Res. Council of Canada; Ind. Canada; Nat.
                 Sci. and Eng. Res. Council",
  pubcountry =   "Canada",
}

@Proceedings{IEEE:1994:PIT,
  editor =       "{IEEE}",
  booktitle =    "Proceedings. {IEEE} Third Workshop on Program
                 Comprehension",
  title =        "Proceedings. {IEEE} Third Workshop on Program
                 Comprehension",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "ix + 176",
  year =         "1994",
  ISBN =         "0-8186-5647-6",
  ISBN-13 =      "978-0-8186-5647-7",
  LCCN =         "QA76.751 .I38 1994",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "IEEE Catalog No. 94TH06767.",
  acknowledgement = ack-nhfb,
  confdate =     "14--15 Nov. 1994",
  conflocation = "Washington, DC, USA",
  confsponsor =  "IEEE Comput. Soc. Tech. Council on Software Eng",
}

@Proceedings{Joyce:1994:PTS,
  editor =       "D. Joyce",
  booktitle =    "The Papers of the Twenty-fifth SIGCSE Technical
                 Symposium on Computer Science Education: Phoenix,
                 Arizona, March 10--11, 1994",
  title =        "The Papers of the Twenty-fifth {SIGCSE} Technical
                 Symposium on Computer Science Education: Phoenix,
                 Arizona, March 10--11, 1994",
  volume =       "26(1)",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "xxii + 414",
  year =         "1994",
  CODEN =        "SIGSD3",
  ISBN =         "0-89791-646-8",
  ISBN-13 =      "978-0-89791-646-2",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  LCCN =         "QA76.A1 A1125 v.26:1",
  bibdate =      "Wed Apr 3 16:24:12 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  series =       "SIGCSE Bulletin",
  acknowledgement = ack-nhfb,
  sponsor =      "Association for Computing Machinery; Special Interest
                 Group on Computer Science Education.",
}

@Proceedings{Maurer:1995:EMH,
  editor =       "H. Maurer",
  booktitle =    "Educational Multimedia and Hypermedia, 1995.
                 Proceedings of {ED-MEDIA} 95 --- World Conference on
                 Educational Multimedia and Hypermedia",
  title =        "Educational Multimedia and Hypermedia, 1995.
                 Proceedings of {ED-MEDIA} 95 --- World Conference on
                 Educational Multimedia and Hypermedia",
  publisher =    "Assoc. Advancement of Comput. Educ",
  address =      "Charlottesville, VA, USA",
  pages =        "xiii + 825",
  year =         "1995",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  confdate =     "17--21 June 1995",
  conflocation = "Graz, Austria",
}

@Proceedings{Purvis:1995:PSE,
  editor =       "Martin Purvis",
  booktitle =    "Software Education Conference (SRIG-ET '94):
                 proceedings, November 22--25, 1994, University of
                 Otago, New Zealand",
  title =        "Software Education Conference ({SRIG}-{ET} '94):
                 proceedings, November 22--25, 1994, University of
                 Otago, New Zealand",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "xi + 365",
  year =         "1995",
  ISBN =         "0-8186-5870-3",
  ISBN-13 =      "978-0-8186-5870-9",
  LCCN =         "QA76.758 .S6447 1994",
  bibdate =      "Sat Sep 7 17:48:58 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  confdate =     "22--25 Nov. 1994",
  conflocation = "Dunedin, New Zealand",
  confsponsor =  "Southeast Asian Regional Comput. Confederation Special
                 Regional Interest Group --- Educ. and Training; New
                 Zealand Comput. Soc.; Australian Comput. Soc.; Univ.
                 Otago Inf. Sci. Dept.; IEEE Comput. Soc",
}

@Proceedings{Fuchs:1996:LPJ,
  editor =       "Norbert E. Fuchs and Ulrich Geske",
  booktitle =    "Logic programming: Joint international conference and
                 symposium --- September 2--6, 1996, Bonn, Germany",
  title =        "Logic programming: Joint international conference and
                 symposium --- September 2--6, 1996, Bonn, Germany",
  volume =       "296",
  publisher =    "GMD-Forschungszentrum Informationstechnik",
  address =      "Sankt Augustin, Germany",
  pages =        "various",
  year =         "1996",
  ISBN =         "3-88457-296-2",
  ISBN-13 =      "978-3-88457-296-2",
  ISSN =         "0170-8120",
  LCCN =         "????",
  bibdate =      "Fri Feb 27 18:29:50 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  series =       "GMD-Studien",
  acknowledgement = ack-nhfb,
  searchkey =    "su:literate programming",
}

@Proceedings{IEEE:1996:CPE,
  editor =       "{IEEE}",
  booktitle =    "COMPASS '96: proceedings of the Eleventh Annual
                 Conference on Computer Assurance, June 17--21, 1996,
                 National Institute of Standards and Technology,
                 Gaithersburg, Maryland",
  title =        "{COMPASS} '96: proceedings of the Eleventh Annual
                 Conference on Computer Assurance, June 17--21, 1996,
                 National Institute of Standards and Technology,
                 Gaithersburg, Maryland",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "v + 264",
  year =         "1996",
  ISBN =         "0-7803-3390-X",
  ISBN-13 =      "978-0-7803-3390-1",
  LCCN =         "QA 76.76 R44 C668 1996",
  bibdate =      "Fri Feb 27 18:25:23 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "IEEE Catalog No. 96CH35960.",
  acknowledgement = ack-nhfb,
  confdate =     "17--21 June 1996",
  conflocation = "Gaithersburg, MD, USA",
  confsponsor =  "IEEE Aerosp. and Electron. Syst. Soc.; IEEE Nat.
                 Capital Area Council; Arca Syst.; BDM; Comput.
                 Associates; Food and Drug Adm.; George Mason Univ.;
                 Intermetrics; Logicon; Kaman Sci. Corp.; Mitre Corp.;
                 NIST; Naval Res. Lab.; Reliable Software Technol.
                 Corp.; Space and Naval Warfare Syst. Command; Syst.
                 Safety Soc.; TRW Gov. Inf. Services Div.; Trusted Inf.
                 Syst",
}

@Proceedings{Maher:1996:LPP,
  editor =       "Michael Maher",
  booktitle =    "Logic programming: proceedings of the 1996 joint
                 international conference and symposium on logic
                 programming",
  title =        "Logic programming: proceedings of the 1996 joint
                 international conference and symposium on logic
                 programming",
  publisher =    pub-MIT,
  address =      pub-MIT:adr,
  pages =        "xix + 554",
  year =         "1996",
  ISBN =         "0-262-63173-3",
  ISBN-13 =      "978-0-262-63173-0",
  LCCN =         "QA76.63 L831 1996",
  bibdate =      "Fri Feb 27 15:48:07 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  searchkey =    "su:literate programming",
  sponsor =      "Association for Logic Programming.",
}

@Proceedings{Rosenberg:1996:PFA,
  editor =       "John Rosenberg",
  booktitle =    "The Proceedings of the First Australasian Conference
                 on Computer Science Education, University of Sydney,
                 Australia, July 3--5, 1996",
  title =        "The Proceedings of the First Australasian Conference
                 on Computer Science Education, University of Sydney,
                 Australia, July 3--5, 1996",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "353",
  year =         "1996",
  ISBN =         "0-89791-845-2",
  ISBN-13 =      "978-0-89791-845-9",
  LCCN =         "????",
  bibdate =      "Tue Mar 03 09:07:22 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "ACM Order no. 457963.",
  acknowledgement = ack-lw,
}

@Proceedings{Samson:1996:PSQ,
  editor =       "W. B. Samson and I. M. Marshall and D. G.
                 Edgar-Nevill",
  booktitle =    "Proceedings of the 5th Software Quality Conference: 9
                 and 10 July 1996, Dudhope Castle, University of Abertay
                 Dundee, Business School, Dundee, Scotland, UK",
  title =        "Proceedings of the 5th Software Quality Conference: 9
                 and 10 July 1996, Dudhope Castle, University of Abertay
                 Dundee, Business School, Dundee, Scotland, {UK}",
  publisher =    "University of Abertay Dundee",
  address =      "Dundee, Scotland",
  pages =        "xi + 261",
  year =         "1996",
  ISBN =         "1-899796-02-9 (??invalid ISBN??)",
  ISBN-13 =      "978-1-899796-02-1 (??invalid ISBN??)",
  LCCN =         "QA76.76.Q35 S64 1996",
  bibdate =      "Fri Feb 27 15:48:07 MST 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  searchkey =    "su:literate programming",
  sponsor =      "University of Abertay Dundee. University of
                 Humberside.",
}

@Proceedings{Sitaraman:1996:FIC,
  editor =       "Murali Sitaraman",
  booktitle =    "Fourth International Conference on Software Reuse:
                 proceedings, April 23--26, 1996, Orlando, Florida,
                 USA",
  title =        "Fourth International Conference on Software Reuse:
                 proceedings, April 23--26, 1996, Orlando, Florida,
                 {USA}",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "xi + 253",
  year =         "1996",
  ISBN =         "0-8186-7301-X, 0-8186-7303-6",
  ISBN-13 =      "978-0-8186-7301-6, 978-0-8186-7303-0",
  ISSN =         "1085-9098",
  LCCN =         "QA76.76.R47 I587 1996",
  bibdate =      "Tue Mar 03 13:36:47 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "IEEE order plan catalog number 96TH100015.",
  acknowledgement = ack-nhfb,
}

@Proceedings{USENIX:1997:ATT,
  editor =       "{USENIX}",
  booktitle =    "5th Annual Tcl/Tk Workshop '97, July 14--17, 1997.
                 Boston, MA",
  title =        "5th Annual Tcl/Tk Workshop '97, July 14--17, 1997.
                 Boston, {MA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  day =          "14--17",
  month =        jul,
  year =         "1997",
  bibdate =      "Wed Aug 13 10:48:45 MDT 1997",
  bibsource =    "ftp://ftp.uu.net/library/bibliography;
                 http://www.math.utah.edu/pub/tex/bib/litprog.bib",
  acknowledgement = ack-nhfb,
  location =     "Boston, MA",
}

@Proceedings{Eckstein:2004:EPA,
  editor =       "Jutta Eckstein and Hubert Baumeister",
  booktitle =    "{Extreme programming and agile processes in software
                 engineering: 5th international conference, XP 2004,
                 Garmisch-Partenkirchen, Germany, June 6--10, 2004:
                 proceedings}",
  title =        "{Extreme programming and agile processes in software
                 engineering: 5th international conference, XP 2004,
                 Garmisch-Partenkirchen, Germany, June 6--10, 2004:
                 proceedings}",
  volume =       "3092",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xv + 358",
  year =         "2004",
  ISBN =         "3-540-22137-9 (paperback)",
  ISBN-13 =      "978-3-540-22137-1 (paperback)",
  LCCN =         "QA76.76.D47 X62 2004",
  bibdate =      "Mon Jul 5 13:30:42 MDT 2010",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 library.ox.ac.uk:210/ADVANCE",
  series =       "Lecture notes in computer science",
  URL =          "http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3092",
  acknowledgement = ack-nhfb,
  keywords =     "literate programming",
  meetingname =  "XP 2004 (2004 : Garmisch-Partenkirchen, Germany)",
  subject =      "Computer software; Development; Congresses; eXtreme
                 programming",
}
