%%% -*-BibTeX-*- %%% /u/sy/beebe/tex/bib/litprog.bib, Wed Mar 11 07:57:40 1992 %%% Edit by Nelson H. F. Beebe %%% ==================================================================== %%% BibTeX-file{ %%% author = "Nelson H. F. Beebe", %%% version = "3.37", %%% date = "08 April 2021", %%% time = "08:46:53 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 = "52274 8772 39492 389248", %%% 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.37, the coverage looked like %%% this: %%% %%% 1982 ( 1) 1996 ( 30) 2010 ( 4) %%% 1983 ( 2) 1997 ( 14) 2011 ( 1) %%% 1984 ( 2) 1998 ( 14) 2012 ( 2) %%% 1985 ( 1) 1999 ( 6) 2013 ( 1) %%% 1986 ( 11) 2000 ( 5) 2014 ( 0) %%% 1987 ( 10) 2001 ( 3) 2015 ( 1) %%% 1988 ( 11) 2002 ( 10) 2016 ( 0) %%% 1989 ( 15) 2003 ( 10) 2017 ( 3) %%% 1990 ( 25) 2004 ( 5) 2018 ( 0) %%% 1991 ( 15) 2005 ( 7) 2019 ( 0) %%% 1992 ( 24) 2006 ( 5) 2020 ( 0) %%% 1993 ( 22) 2007 ( 4) 2021 ( 1) %%% 1994 ( 19) 2008 ( 2) %%% 1995 ( 18) 2009 ( 3) %%% 19xx ( 1) %%% %%% Article: 140 %%% Book: 35 %%% InCollection: 1 %%% InProceedings: 49 %%% MastersThesis: 5 %%% Misc: 21 %%% PhdThesis: 7 %%% Proceedings: 20 %%% TechReport: 29 %%% Unpublished: 1 %%% %%% Total entries: 308 %%% %%% 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 %%% 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 ctanpip.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 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, subject = "Visual programming (Computer science); Computer graphics; Human-computer interaction; Computer graphics.; Human-computer interaction.; Visual programming (Computer science); Programmation visuelle.; Infographie.; Interaction homme-ordinateur.; Infographie; Interaction homme-machine (Informatique); Programmation visuelle", tableofcontents = "Visualizing Programs \\ Background and Motivation \\ Mapping C \\ Source Text to Effective Visual Presentations \\ A Graphic Design \\ Manual for the C Programming Language \\ Programs as Publications \\ Future Issues in Program Presentation \\ Appendices", } @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; http://www.math.utah.edu/pub/tex/bib/string-matching.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 \\ / 17 \\ / 25 \\ / 47 \\ / 57 \\ / 73 \\ / 81 \\ / 127 \\ / 181 \\ / 193 \\ / 205 \\ / 215 \\ / 225 \\ / 333 \\ / 387 \\ / 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, tableofcontents = "Technicalities \\ Installation and use \\ How to read CWEB programs \\ Programs of the Stanford GraphBase \\ Appendix A. Error codes \\ Appendix B. Summary of function calls \\ Appendix C. Example graph parameters \\ Appendix D. 3000 five-letter words", } @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", DOI = "https://doi.org/10.1002/spe.4380240605", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Fri Nov 28 17:07:54 2003", bibsource = "ftp://garbo.uwasa.fi/pc/doc-soft/fpbibl18.zip; 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/spe.bib", note = "This paper derives an algorithm for division of long integers, and implements it as a literate program, although without identifier cross-references. See comment about another division algorithm \cite{Hansen:1995:LDA}.", abstract = "Long division of natural numbers plays a crucial role in Cobol arithmetic, cryptography, and primality testing. Only a handful of textbooks discuss the theory and practice of long division, and none of them do it satisfactorily. This tutorial attempts to fill this surprising gap in the literature on computer algorithms. We illustrate the subtleties of long division by examples, define the problem concisely, summarize the theory, and develop a complete Pascal algorithm using a consistent terminology.", acknowledgement = ack-nj # " and " # ack-mfc # " and " # ack-nhfb, ajournal = "Softw. Pract. Exp.", fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", keywords = "algorithms; multiple-length integer division", onlinedate = "30 Oct 2006", } @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", URL = "https://www.cs.tufts.edu/~nr/pubs/lpsimp.pdf", 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{Hansen:1995:LDA, author = "Per Brinch Hansen", title = "The Long Division Algorithm of {Linger}, {Mills} and {Witt}", journal = j-SPE, volume = "25", number = "1", pages = "109--109", month = jan, year = "1995", CODEN = "SPEXBL", DOI = "https://doi.org/10.1002/spe.4380250107", ISSN = "0038-0644 (print), 1097-024X (electronic)", ISSN-L = "0038-0644", bibdate = "Sat May 31 13:36:16 MDT 1997", bibsource = "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/spe.bib", note = "See \cite{Hansen:1994:MLD}.", acknowledgement = ack-nhfb, ajournal = "Softw. Pract. Exp.", fjournal = "Software --- Practice and Experience", journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X", onlinedate = "30 Oct 2006", } @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, tableofcontents = "1. An overview of ASF+SDF / Arie van Deursen \\ 2. The static semantics of pascal / Arie van Deursen \\ 3. A kernel object-oriented language / T. B. Dinesh \\ 4. Typechecking with modular error handling / T.B. Dinesh \\ 5. Multi-level specifications / Eelco Visser \\ 6. Incremental typechecking / Emma van der Meulen \\ 7. Origin tracking and its applications / Arie van Deursen, Paul Klint, and Frank Tip \\ 8. Second-order term rewriting specification of static semantics: An exercise / Jan Heering \\ 9. Origin tracking for higher-order term rewriting systems / Arie van Deursen and T.B. Dinesh", } @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.", tableofcontents = "UNIX operating system source code level six \\ A commentary on the UNIX operating system", } @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/fparith.bib; 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, subject = "C (Computer program language); Computer software; Reusability; Literate Programming", tableofcontents = "1. Introduction \\ 2. Interfaces and Implementations \\ 3. Atoms \\ 4. Exceptions and Assertions \\ 5. Memory Management \\ 6. More Memory Management \\ 7. Lists \\ 8. Tables \\ 9. Sets \\ 10. Dynamic Arrays \\ 11. Sequences \\ 12. Rings \\ 13. Bit Vectors \\ 14. Formatting \\ 15. Low-Level Strings \\ 16. High-Level Strings \\ 17. Extended-Precision Arithmetic \\ 18. Arbitrary-Precision Arithmetic \\ 19. Multiple-Precision Arithmetic \\ 20. Threads", } @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 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", tableofcontents = "Introduction \\ 1. Foundations \\ 2. Basic Data Types \\ 3. Numbers and Matrices \\ 4. Advanced Data Types \\ 5. Graphs and their Data Structures \\ 6. Graph Algorithms \\ 7. Embedded Graphs \\ 8. The Geometry Kernels \\ 9. Geometry Algorithms \\ 10. Windows and Panels \\ 11. GraphWin \\ 12. On the Implementation of LEDA \\ 13. Manual Pages and Documentation \\ 14. Bibliography", } @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, tableofcontents = "Mathematical analysis of algorithms \\ The dangers of computer science theory \\ The analysis of algorithms \\ Big Omicron and big Omega and big Theta \\ Optimal measurement points for program frequency counts \\ Estimating the efficiency of backtrack programs \\ Ordered hase tables \\ Activity in an interleaved memory \\ An analysis of Alpha-Beta pruning \\ Notes on generalized Dedekind sums \\ The distribution of continued fraction approximations \\ Evaluation of Porter's constant \\ The subtractive algorithm for greatest common divisors \\ Length of strings for a merge sort \\ The average height of planted plane trees \\ The toilet paper problem \\ An analysis of optimum caching \\ A trivial algorithm whose analysis isn't \\ Deletions that preserve randomness \\ Analysis of a simple factorization algorithm \\ The expected linearity of a simple equivalence algorithm \\ Textbook examples of recursion \\ An exact analysis of stable allocation \\ Stable husbands \\ Shellsort with three increments \\ The average time for carry propagation \\ Linear probing and graphs \\ A terminological proposal \\ Postscript about NP-hard problems \\ An experiment in optimal sorting \\ Duality in addition chains \\ Complexity results for bandwidth minimization \\ The problem of compatible representatives \\ The complexity of nonuniform random number generation", } @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.''", tableofcontents = "1: The Early Development of Programming Languages \\ 2: Backus Normal Form versus Backus Naur Form \\ 3: Teaching ALGOL 60 \\ 4: ALGOL 60 Confidential \\ 5: Smalgol-61 \\ 6: Man or Boy? \\ 7: A Proposal for Input-Output Conventions in ALGOL 60 \\ 8: The Remaining Trouble Spots in ALGOL 60 \\ 9: SOL \\ A Symbolic Language for Systems Simulation \\ 10: A Formal Definition of SOL \\ 11: The Science of Programming Languages \\ 12: Programming Languages for Automata \\ 13: A Characterization of Parenthesis Languages \\ 14: Top-Down Syntax Analysis \\ 15: On the Translation of Languages from Left to Right \\ 16: Context-Free Multilanguages \\ 17: Semantics of Context-Free Languages \\ 18: Examples of Formal Semantics", } @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.", tableofcontents = "1. Discussion of Mr. Riordan's paper `Abel identities and inverse relations' \\ 2. Duality in addition chains \\ 3. Combinatorial analysis and computers \\ 4. Tables of finite fields \\ 5. Finite semifields and projective planes \\ 6. A class of projective planes \\ 7. Construction of a random sequence \\ 8. Oriented subtrees of an arc digraph \\ 9. Another enumeration of trees \\ 10. Notes on central groupoids \\ 11. Permutations, matrices, and generalized Young tableaux \\ 12. A note on solid partitions \\ 13. Subspaces, subsets, and partitions \\ 14. Enumeration of plane partitions \\ 15. Complements and transitive closures \\ 16. Permutations with nonnegative partial sums \\ 17. Wheels within wheels \\ 18. The asymptotic number of geometries \\ 19. Random matroids \\ 20. Identities from partition involutions \\ 21. Huffman's algorithm via algebra \\ 22. A permanent inequality \\ 23. Efficient balanced codes \\ 24. The power of a prime that divides a generalized binomial coefficient \\ 25. The first cycles in an evolving graph \\ 26. The birth of the giant component \\ 27. Polynomials involving the floor function \\ 28. The sandwich theorem \\ 29. Aztec diamonds, checkerboard graphs, and spanning trees", } @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", tableofcontents = "1. Introduction \\ 2. Digital filters and subband synthesis \\ 3. Standard synthesis subband filter \\ 4. Subbands, the key to audio compression \\ 5. How to use mp32pcm \\ 6. How mp32pcm works \\ 7. Unpacking the frame \\ 8. Reading the bit stream \\ 9. Improving the bit packing: layer II \\ 10. The mathematics of analyzing components \\ 11. New ideas: layer III \\ 12. Huffman coding \\ 13. Advanced bit packing: layer III \\ 14. Low sample frequencies \\ Appendices \\ A. Tables and special code \\ B. Theory and practice of CRCs \\ C. Equalization \\ D. Testing compliance", } @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", tableofcontents = "1. On the defensive: defensive programming techniques for robust code \\ 2. The best laid plans: the layout and presentation of source code \\ 3. What's in a name?: giving meaningful things meaningful names \\ 4. The write stuff: techniques for writing ``self-documenting'' code \\ 5. A passing comment: how to write code comments \\ 6. To err in human: dealing with the inevitable \\ error conditions in code \\ 7. The programmer's toolbox: using tools to construct software \\ 8. Testing times: the black art of testing code \\ 9. Finding fault: debugging: what to do when things go wrong \\ 10. The code that Jack built: mechanisms to turn source code into executable code \\ 11. The need for speed: optimizing programs and writing efficient code \\ 12. An insecurity complex: writing secure programs \\ 13. Grand designs: how to produce good software designs \\ 14. Software architecture: laying the foundations of software design \\ 15. Software evolution or software revolution?: how does code grow? \\ 16. Code monkeys: fostering the correct attitude and approach to programming \\ 17. Together we stand: teamwork and the individual programmer \\ 18. Practicing safe source: source control and self-control \\ 19. Being specific: writing software specifications \\ 20. A review to a kill: performing code reviews \\ 21. How long is a piece of string?: the black art of software timescale estimation \\ 22. Recipe for a program: code development methodologies and processes \\ 23. The outer limits: the different programming disciplines \\ 24. Where next?: all's well that ends well", } @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; http://www.math.utah.edu/pub/tex/bib/unix.bib; z3950.bibsys.no:2100/BIBSYS", acknowledgement = ack-nhfb, keywords = "literate programming", tableofcontents = "Jamie Zawinski \\ Brad Fitzpatrick \\ Douglas Crockford \\ Brendan Eich \\ Joshua Bloch \\ Joe Armstrong \\ Simon Peyton Jones \\ Peter Norvig \\ Guy Steele \\ Dan Ingalls \\ L. Peter Deutsch \\ Ken Thompson \\ Fran Allen \\ Bernie Cosell \\ Donald Knuth", } @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", } @Misc{Robbins:2013:TJ, author = "Arnold Robbins", title = "{TexiWeb Jr.}", howpublished = "Github project.", month = nov, year = "2013", bibdate = "Tue Feb 18 07:48:15 2020", bibsource = "http://www.math.utah.edu/pub/tex/bib/litprog.bib", URL = "https://github.com/arnoldrobbins/texiwebjr", abstract = "This is TexiWeb Jr., a super simple literate programming system built on top of Texinfo and implemented in awk. The ``tangle'' piece was successfully bootstrapped on November 4, 2013. The ``weave'' piece started producing a reasonable-looking document on November 11, 2013.", acknowledgement = ack-nhfb, } @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", } @Article{Knuth:2021:TT, author = "Donald Knuth", title = "The {\TeX} tuneup of 2021", journal = j-TUGboat, volume = "42", number = "1", pages = "1--4 (check??)", month = feb, year = "2021", ISSN = "0896-3207", bibdate = "Thu Apr 08 07:49:24 2021", bibsource = "http://www.math.utah.edu/pub/tex/bib/litprog.bib; http://www.math.utah.edu/pub/tex/bib/tugboat.bib", URL = "https://tug.org/TUGboat/tb42-1/tb130knuth-tuneup21.pdf", acknowledgement = ack-nhfb, journal-URL = "https://tug.org/TUGboat/", } %%% ==================================================================== %%% 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; http://www.math.utah.edu/pub/tex/bib/string-matching.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", tableofcontents = "Two metamodels for application system development: conventional vs. object-oriented approach / W. Hesse \\ Transformational meta program development / B. Krieg-Br{\"u}ckner \\ Another case study on reusability of transformational developments pattern matching according to Knuth, Morris, and Pratt / H.A. Partsch, N. V{\"o}lker \\ A formal method for the systematic reuse of specification components / R. Hennicker, M. Wirsing \\ Deductive program development: evaluation in reverse Polish notation as an example / M. Broy \\ Literate program derivation: a case study / P. Pepper \\ Programs viewed as SKOLEM functions / R. Steinbr{\"u}ggen \\ Calculating a garbage collector / U. Berger, W. Meixner, B. M{\"o}ller \\ On the use of elements of functional programming in program development by transformations / R. Berghammer, H. Ehler \\ Transformational development of circuit descriptions for binary adders / C. Delgado Kloos, W. Dosch", 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", }