%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "2.26",
%%%     date            = "01 October 2008",
%%%     time            = "17:21:50 MDT",
%%%     filename        = "gnu.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        = "61791 18011 83798 772797",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography; BibTeX; FSF; Free Software
%%%                        Foundation; GNU; gcc (GNU Compiler
%%%                        Collection); g++; gawk; gimp; gnome; gnat",
%%%     license         = "public domain",
%%%     supported       = "yes",
%%%     docstring       = "This is a bibliography of publications about
%%%                        the GNU (Gnu's Not Unix) system.  It includes
%%%                        coverage of emacs, gawk, gcc, g++, and
%%%                        other GNU software tools.  It also includes
%%%                        some early references to TECO, the
%%%                        implementation language on the DEC PDP-10
%%%                        (1974--1990) of the first Emacs, and free
%%%                        software and open source software.  It does
%%%                        NOT cover GNU/Linux, one of the kernels of
%%%                        the GNU operating system; that subject is
%%%                        covered in a companion bibliography,
%%%                        linux.bib.
%%%
%%%                        At version 2.26, the year coverage looked
%%%                        like this:
%%%
%%%                             1960 (   1)    1977 (   2)    1994 (  59)
%%%                             1961 (   0)    1978 (   1)    1995 (  46)
%%%                             1962 (   0)    1979 (   1)    1996 (  20)
%%%                             1963 (   0)    1980 (   7)    1997 (  22)
%%%                             1964 (   0)    1981 (   8)    1998 (  15)
%%%                             1965 (   0)    1982 (   7)    1999 (  36)
%%%                             1966 (   0)    1983 (   1)    2000 (  36)
%%%                             1967 (   0)    1984 (   8)    2001 (  49)
%%%                             1968 (   0)    1985 (  11)    2002 (  36)
%%%                             1969 (   1)    1986 (   7)    2003 (  48)
%%%                             1970 (   0)    1987 (  17)    2004 (  46)
%%%                             1971 (   1)    1988 (  28)    2005 (  37)
%%%                             1972 (   0)    1989 (  24)    2006 (   6)
%%%                             1973 (   0)    1990 (  34)    2007 (   8)
%%%                             1974 (   1)    1991 (  38)    2008 (   3)
%%%                             1975 (   2)    1992 (  50)
%%%                             1976 (   0)    1993 (  48)
%%%                             19xx (   4)
%%%                             20xx (   2)
%%%
%%%                             Article:        235
%%%                             Book:           163
%%%                             InCollection:     1
%%%                             InProceedings:  120
%%%                             Manual:          45
%%%                             MastersThesis:   16
%%%                             Misc:            58
%%%                             Periodical:       4
%%%                             PhdThesis:        2
%%%                             Proceedings:     77
%%%                             TechReport:      50
%%%
%%%                             Total entries:  771
%%%
%%%                        The initial draft of this bibliography was
%%%                        derived almost entirely from the OCLC
%%%                        Article1st, Contents1st, Papers1st,
%%%                        Proceedings, and WorldCat databases.
%%%                        Additions were then made from all of the
%%%                        bibliographies in the TeX User Group
%%%                        collection, from the Uncover library
%%%                        database, from the University of California
%%%                        Melvyl catalog, from the U.S. Library of
%%%                        Congress catalog, from the IEEE INSPEC
%%%                        1989--1995 CD-ROM database, from
%%%                        bibliographies in the author's personal
%%%                        files, and from the computer science
%%%                        bibliography collection on ftp.ira.uka.de in
%%%                        /pub/bibliography to which many people of
%%%                        have contributed.  The snapshot of this
%%%                        collection was taken on 5-May-1994, and it
%%%                        consists of 441 BibTeX files, 2,672,675
%%%                        lines, 205,289 entries, and 6,375
%%%                        <at>String{} abbreviations, occupying 94.8MB
%%%                        of disk space.
%%%
%%%                        Regrettably, the OCLC databases often do not
%%%                        record final page numbers of journal
%%%                        articles, so there are many page ranges of
%%%                        the form 123--?? in this bibliography.
%%%
%%%                        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 software developed for the
%%%                        BibNet Project.
%%%
%%%                        In this bibliography, entries are sorted in
%%%                        year order, using bibsort -byyear, to
%%%                        facilitate locating most recent work.
%%%
%%%                        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.",
%%%  }
%%% ====================================================================

@Preamble{"\ifx \POSTSCRIPT \undefined \def \POSTSCRIPT {{Post\-Script}} \fi"}

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

@String{ack-bc =   "S. Bart Childs,
                    e-mail: \path|bart@cs.tamu.edu|"}

@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-njh =  "Nick Higham,
                    e-mail: \path|higham@vtx.ma.man.ac.uk|"}

@String{ack-sk =   "Samuel Ko,
                    e-mail: \path|kko@sfu.ca|"}

%%% ====================================================================
%%% Institution abbreviations:

@String{inst-CLSC                = "College of Science Computer, University of
                                  Utah"}

@String{inst-CLSC:adr           = "Salt Lake City, UT 84112, USA"}

@String{inst-CSC                = "Center for Scientific Computing and
                                  Department of Mathematics, University of
                                  Utah"}

@String{inst-CSC:adr            = "Salt Lake City, UT 84112, USA"}

@String{inst-MIT                = "Massachusetts Institute of Technology"}

@String{inst-MIT-AI             = "Massachusetts Institute of Technology,
                                  Artificial Intelligence Laboratory"}

@String{inst-MIT-AI:adr         = "Cambridge, MA, USA"}

@String{inst-MIT-EECS           = "Massachusetts Institute of Technology,
                                  Electrical Engineering and Computer Science
                                  Department"}

@String{inst-MIT-EECS:adr         = "Cambridge, MA, USA"}

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

@String{inst-U-MARYLAND         = "University of Maryland"}

@String{inst-U-MARYLAND:adr     = "College Park, MD, USA"}

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

@String{j-ADA-USER-J            = "Ada User Journal"}

@String{j-AI-EXPERT             = "AI Expert"}

@String{j-ANRITSU-TECHNICAL-BULL = "Anritsu Technical Bulletin"}

@String{j-BULL-SCI-ASSOC-INGEN-ELECTRICIENS-MONTEFIORE = "Bulletin
                                  Scientifique de l'Association des
                                  Ing{\'e}nieurs Electriciens sortis de
                                  l'Institut Electrotechnique Montefiore"}

@String{j-BYTE                  = "BYTE Magazine"}

@String{j-C-PLUS-PLUS-REPORT    = "C++ Report"}

@String{j-CACM                  = "Communications of the ACM"}

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

@String{j-COMP-ARCH-NEWS        = "ACM SIGARCH Computer Architecture News"}

@String{j-COMP-GEOSCI           = "Computers and Geosciences"}

@String{j-COMP-GRAPHICS         = "Computer Graphics"}

@String{j-COMP-HUM              = "Computers and the Humanities"}

@String{j-COMP-PHYSICS          = "Computers in physics"}

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

@String{j-COMP-SYS              = "Computing Systems"}

@String{j-COMPUTER              = "Computer"}

@String{j-CPE                   = "Concurrency, practice and experience"}

@String{j-CUJ                   = "C Users Journal"}

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

@String{j-EDN                   = "EDN"}

@String{j-EMBED-SYS-PROG        = "Embedded Systems Programming"}

@String{j-EMBEDDED-LINUX-J      = "Embedded Linux Journal"}

@String{j-EPODD                 = "Electronic
                                  Pub\-lish\-ing\emdash{}Orig\-i\-na\-tion,
                                  Dissemination, and Design"}

@String{j-HYPERMEDIA            = "Hypermedia"}

@String{j-IBM-JRD               = "IBM Journal of Research and Development"}

@String{j-IBM-SYS-J             = "IBM Systems Journal"}

@String{j-IEEE-SEC-PRIV         = "IEEE Security \& Privacy"}

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

@String{j-INFO-DECISION-TECHNOLOGIES = "Information and Decision Technologies"}

@String{j-INFO-SOFTWARE-TECH    = "Information and Software Technology"}

@String{j-INFORMATIK-INFORMATIONEN-REPORTE = "Informatik, Informationen
                                  Reporte"}

@String{j-INT-J-MAN-MACHINE-STUDIES = "International Journal of Man-Machine
                                  Studies"}

@String{j-INT-J-MINI-MICROCOMPUTERS = "International Journal of Mini and
                                  Microcomputers"}

@String{j-INT-J-SOFTW-TOOLS-TECHNOL-TRANSFER = "International Journal on
                                 Software Tools for Technology Transfer (STTT)"}

@String{j-J-ACM                 = "Journal of the ACM"}

@String{j-J-AM-SOC-INF-SCI      = "Journal of the American Society for
                                  Information Science"}

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

@String{j-J-MICROCOMPUT-APPL    = "Journal of Microcomputer Applications"}

@String{j-J-VIS-COMP-ANIMATION  = "Journal of Visualization and Computer
                                  Animation"}

@String{j-JAVAWORLD             = "JavaWorld: IDG's magazine for the
                                  Java community"}

@String{j-JOHO-SHORI            = "Joho-Shori (J. Information Processing Soc.
                                  Japan)"}

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

@String{j-LOGIN                 = ";login: the USENIX Association newsletter"}

@String{j-MICROPROC-MICROPROG   = "Microprocessing and Microprogramming"}

@String{j-NAMS                  = "Notices of the American Mathematical Society"}

@String{j-NETWORK-WORLD         = "Network World"}

@String{j-OPER-SYS-REV          = "Operating Systems Review"}

@String{j-PERFORM-COMPUT        = "Performance Computing"}

@String{j-PROC-SPIE             = "Proceedings of the SPIE --- The
                                  International Society for Optical
                                  Engineering"}

@String{j-QUEUE                 = "ACM Queue: Tomorrow's Computing Today"}

@String{j-SIGADA-LETTERS        = "ACM SIGADA Ada Letters"}

@String{j-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

@String{j-SIGSOFT-SOFTWARE-ENG-NOTES = "SIGSOFT Software Engineering Notes"}

@String{j-SOFTWARE-MAG          = "Software Magazine"}

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

@String{j-SUNEXPERT             = "SunExpert Magazine"}

@String{j-TECHNIQUE-SCI-INFORMATIQUES = "Technique et Science Informatiques"}

@String{j-TECS                  = "ACM Transactions on Embedded Computing
                                  Systems"}

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

@String{j-TOIS                  = "ACM Transactions on Information Systems"}

@String{j-TOMS                  = "ACM Transactions on Mathematical Software"}

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

@String{j-TRANS-INFO-PROCESSING-SOC-JAPAN = "Transactions of the Information
                                  Processing Society of Japan"}

@String{j-TRANS-SOC-COMP-SIM    = "Transactions of the Society for Computer
                                  Simulation"}

@String{j-TUGboat               = "TUGboat"}

@String{j-UNIX-REVIEW           = "UNIX review"}

@String{j-UNIX-WORLD            = "UNIX/world"}

@String{j-VAX-PROF              = "The VAX professional"}

@String{j-X-J                   = "{The {X} Journal: Computing Technology with
                                  the {X Window System}}"}

%%% ====================================================================
%%% Publisher abbreviations:

@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-CAMBRIDGE           = "Cambridge University Press"}

@String{pub-CAMBRIDGE:adr       = "Cambridge, UK"}

@String{pub-CMP-BOOKS           = "CMP Books"}

@String{pub-CMP-BOOKS:adr       = "6600 Silacci Way, Gilroy, CA 95020, USA"}

@String{pub-CORIOLIS            = "Coriolis Group Books"}

@String{pub-CORIOLIS:adr        = "Scottsdale, AZ, USA"}

@String{pub-DEC                 = "Digital Equipment Corporation"}

@String{pub-DEC:adr             = "Maynard, MA, USA"}

@String{pub-ELS                 = "Elsevier"}

@String{pub-ELS:adr             = "Amsterdam, The Netherlands"}

@String{pub-EUROPEN             = "EurOpen"}

@String{pub-EUROPEN:adr         = "Buntingford, Herts, UK"}

@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-GNU-PRESS           = "GNU Press"}

@String{pub-GNU-PRESS:adr       = "Boston, MA, USA"}

@String{pub-HAYDEN              = "Hayden Books"}

@String{pub-HAYDEN:adr          = "4300 West 62nd Street,
                                  Indianapolis, IN 46268, USA"}

@String{pub-IDG-WORLDWIDE       = "I D G Books Worldwide"}

@String{pub-IDG-WORLDWIDE:adr   = "Indianapolis, IN, USA"}

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

@String{pub-IEEE:adr            = "1109 Spring Street, Suite 300, Silver
                                  Spring, MD 20910, USA"}

@String{pub-INTERNET-SOCIETY    = "Internet Society"}

@String{pub-INTERNET-SOCIETY:adr = "Reston, VA, USA"}

@String{pub-IOS                 = "IOS Press"}

@String{pub-IOS:adr             = "Amsterdam, The Netherlands"}

@String{pub-LEARNED-INF         = "Learned Information"}

@String{pub-LEARNED-INF:adr     = "Medford, NJ, USA"}

@String{pub-MANNING             = "Manning Publications"}

@String{pub-MANNING:adr         = "Greenwich, CT, USA"}

@String{pub-MCGRAW-HILL         = "Mc{\-}Graw-Hill"}

@String{pub-MCGRAW-HILL:adr     = "New York, NY, USA"}

@String{pub-MF                  = "Miller Freeman Publications"}

@String{pub-MF:adr              = "San Francisco, CA, USA"}

@String{pub-MIT                 = "MIT Press"}

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

@String{pub-NETWORK-THEORY      = "Network Theory Ltd."}

@String{pub-NETWORK-THEORY:adr  = "Bristol, UK"}

@String{pub-NEW-RIDERS          = "New Riders Publishing"}

@String{pub-NEW-RIDERS:adr      = "Carmel, IN, USA"}

@String{pub-NH                  = "North-Holland Publishing Co."}

@String{pub-NH:adr              = "Amsterdam, The Netherlands"}

@String{pub-NO-STARCH           = "No Starch Press"}

@String{pub-NO-STARCH:adr       = "San Francisco, CA, USA"}

@String{pub-OSBORNE-MCGRAW-HILL = "Osborne\slash Mc{\-}Graw-Hill"}

@String{pub-OSBORNE-MCGRAW-HILL:adr = "Berkeley, CA, USA"}

@String{pub-ORA                 = "O'Reilly \& Associates, Inc."}

@String{pub-ORA:adr             = "981 Chestnut Street, Newton, MA 02164, USA"}

@String{pub-OSBORNE             = "Osborne/McGraw-Hill"}

@String{pub-OSBORNE:adr         = "Berkeley, CA, USA"}

@String{pub-PERSEUS             = "Perseus Publishers"}

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

@String{pub-PH                  = "Pren{\-}tice-Hall"}

@String{pub-PH:adr              = "Englewood Cliffs, NJ 07632, USA"}

@String{pub-PRIMA               = "Prima Publishing"}

@String{pub-PRIMA:adr           = "Roseville, CA, USA"}

@String{pub-QUE                 = "Que Corporation"}

@String{pub-QUE:adr             = "Indianapolis, IN, USA"}

@String{pub-SAMS-NET            = "Sams.net Pub."}

@String{pub-SAMS-NET:adr        = "Indianapolis, IN, USA"}

@String{pub-SIAM                = "Society for Industrial and Applied
                                  Mathematics"}

@String{pub-SIAM:adr            = "Philadelphia, PA, USA"}

@String{pub-SPIE                = "SPIE Optical Engineering Press"}

@String{pub-SPIE:adr            = "Bellingham, WA, USA"}

@String{pub-SSC                 = "Specialized Systems Consultants"}

@String{pub-SSC:adr             = "P.O. Box 55549, Seattle, WA 98155"}

@String{pub-STUDENTLITTERATUR   = "Studentlitteratur"}

@String{pub-STUDENTLITTERATUR:adr = "Lund, Sweden"}

@String{pub-SV                  = "Springer Verlag"}

@String{pub-SV:adr              = "Berlin, Germany~/ Heidelberg, Germany~/
                                  London, UK~/ etc."}

@String{pub-SYBEX               = "Sybex"}

@String{pub-SYBEX:adr           = "2021 Challenger Driver, Suite 100,
                                  Alameda, CA 94501, USA"}

@String{pub-USENIX              = "USENIX Association"}

@String{pub-USENIX:adr          = "Berkeley, CA, USA"}

@String{pub-VOGEL               = "Vogel Verlag"}

@String{pub-VOGEL:adr           = "Postfach 67 40, D-8700 W{\"u}rzburg,
                                  Germany"}

@String{pub-WILEY               = "Wiley"}

@String{pub-WILEY:adr           = "New York, NY, USA"}

@String{pub-WORLD-SCI           = "World Scientific Publishing Co."}

@String{pub-WORLD-SCI:adr       = "Singapore; Philadelphia, PA, USA; River
                                  Edge, NJ, USA"}

@String{pub-WROX                = "Wrox Press"}

@String{pub-WROX:adr            = "Chicago, IL, USA"}

@String{pub-YGGDRASIL           = "Yggdrasil Computing, Inc."}

@String{pub-YGGDRASIL:adr       = "Berkeley, CA, USA"}

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

@String{ser-LNAI                = "Lecture Notes in Artificial Intelligence"}

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

@String{ser-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

%%% ====================================================================
%%% Bibliography entries:

@Article{Galler:1960:LEC,
  author =       "Bernard A. Galler",
  title =        "Letters to the {Editor}: Cost of software",
  journal =      j-CACM,
  volume =       "3",
  number =       "4",
  pages =        "A12--A12",
  month =        apr,
  year =         "1960",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Fri Nov 25 18:19:26 MST 2005",
  bibsource =    "ftp://ftp.math.utah.edu/pub/tex/bib/cacm1960.bib;
                 http://www.acm.org/pubs/contents/journals/cacm/",
  acknowledgement = ack-nhfb,
  remark =       "From the letter: ``... it is clear that what is being
                 charged for is the development of the program, and
                 while I am particularly unhappy that it comes from a
                 university, I believe it is damaging to the whole
                 profession. There isn't a 704 installation that hasn't
                 directly benefited from the free exchange of programs
                 made possible by the distribution facilities of SHARE.
                 If we start to sell our programs, this will set very
                 undesirable precedents.''",
}

%%% The `Gnu soup' book has nothing to do with the GNU Project, but I found
%%% the title amusing, and it might be fun to read some time!

@Book{Fischer:1969:GS,
  author =       "Heinz Eduard Fischer",
  title =        "Gnu soup",
  publisher =    "Printed for Fred Cogswell",
  address =      "Fiddlehead Poetry Books",
  pages =        "48",
  year =         "1969",
  LCCN =         "PR6056.I77 G6",
  bibdate =      "Thu Oct 31 08:43:55 MST 1996",
  note =         "Limited ed. of 500 copies. Poems.",
  acknowledgement = ack-nhfb,
}

@Article{Wilkinson:1971:SCN,
  author =       "J. H. Wilkinson",
  title =        "Some Comments from a Numerical Analyst",
  journal =      j-J-ACM,
  volume =       "18",
  number =       "2",
  pages =        "137--147",
  month =        apr,
  year =         "1971",
  CODEN =        "JACOAH",
  DOI =          "http://doi.acm.org/10.1145/321637.321638",
  ISSN =         "0004-5411",
  bibdate =      "Sat Dec 10 15:00:46 1994",
  acknowledgement = ack-nhfb,
  remark =       "This is the 1970 ACM Turing Award Lecture. Subsequent
                 lectures are published in {\em Communications of the
                 ACM}. Wilkinson comments ``It is perhaps salutary to be
                 reminded that as early as 1946 Turing had considered
                 the possibility of working with both interval and
                 significant digit arithmetic and the report recalled
                 forgotten conversations, not to mention heated
                 arguments, which we had on this topic.'' He also says
                 ``I think it is of vital importance that all the work
                 that has been expended on the development of
                 satisfactory algorithms should be made fully available
                 to the people who need to use it. I would go further
                 than this and claim that it is a social duty to see
                 that this is achieved.''",
}

@Manual{DEC:1974:TUG,
  title =        "{TECO} user's guide",
  organization = pub-DEC,
  address =      pub-DEC:adr,
  pages =        "v + 61 + 30",
  year =         "1974",
  bibdate =      "Wed Oct 30 19:15:57 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "Order no.: DEC-11-UTECA-A-D. Operating system and
                 version: RT-11 V03; software version: TECO V28.",
  keywords =     "Text editors (Computer programs).",
}

@Manual{DEC:1975:DSI,
  title =        "{DEC} system 10: introduction to {TECO} ({Text Editor
                 and Corrector})",
  organization = pub-DEC,
  address =      pub-DEC:adr,
  pages =        "34",
  year =         "1975",
  bibdate =      "Wed Oct 30 19:15:57 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "Electronic digital computers --- Handbooks, manuals,
                 etc.",
}

@Manual{DEC:1975:TEC,
  title =        "{Text Editor and Corrector} program: programmer's
                 reference manual",
  organization = pub-DEC,
  address =      pub-DEC:adr,
  edition =      "Revised",
  pages =        "various",
  year =         "1975",
  bibdate =      "Wed Oct 30 19:15:57 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "This manual reflects the software version as of
                 version 23B of TECO. DEC-10-UTPRA-A-D.",
  keywords =     "Text editors (Computer programs); TECO (Computer
                 program); DECsystem-10 (Computer)",
}

@Manual{Harvard:1977:HTM,
  title =        "{HRSTS Teco} manual",
  organization = "{Harvard University} and {Harvard-Radcliffe Student
                 Timesharing System}",
  address =      "Cambridge, MA, USA",
  edition =      "Second",
  pages =        "61",
  year =         "1977",
  bibdate =      "Tue Dec 29 08:26:00 1998",
  acknowledgement = ack-nhfb,
  keywords =     "Time-sharing computer systems.",
}

@Manual{UTACC:1977:TPR,
  title =        "{TECO} pocket reference list: {DECsystem-10}",
  organization = "{University of Texas at Austin. Computation Center}",
  address =      "Austin, TX, USA",
  pages =        "8",
  year =         "1977",
  bibdate =      "Wed Oct 30 19:15:57 MST 1996",
  series =       "Pocket reference list; CCRL-7 University of Texas at
                 Austin. Computation Center",
  acknowledgement = ack-nhfb,
  annote =       "Tx Doc no.: Z, UA268.7, C739rl no. 7 Cover title.",
  keywords =     "DEC-10 (Computer)",
}

@TechReport{Ciccarelli:1978:IEE,
  author =       "Eugene Charles Ciccarelli",
  title =        "An introduction to the {EMACS} editor",
  type =         "AI memo",
  number =       "447",
  institution =  inst-MIT-AI,
  address =      inst-MIT-AI:adr,
  pages =        "23",
  year =         "1978",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
}

@TechReport{Stallman:1979:EEC,
  author =       "Richard M. Stallman",
  title =        "{EMACS}: The Extensible, Customizable,
                 Self-Documenting Display Editor",
  type =         "Report",
  number =       "AI Memo 519, 519A",
  institution =  inst-MIT-AI,
  address =      inst-MIT-AI:adr,
  pages =        "29",
  month =        jun,
  year =         "1979",
  bibsource =    "Ai/mit.aitr.aim.bib, Ai/lisp.bib,
                 Ai/mit.ai.memos.bib",
  abstract =     "EMACS is a display editor which is implemented in an
                 interpreted high level language. This allows users to
                 extend the editor by replacing parts of it, to
                 experiment with alternative command languages, and to
                 share extensions which are generally useful. The ease
                 of extension has contributed to the growth of a large
                 set of useful features. This paper describes the
                 organization of the EMACS system, emphasizing the way
                 in which extensibility is achieved and used.",
  adnum =        "AD-A078064",
  keywords =     "display, editor, extensible, interactive,
                 self-documenting, LISP",
  reference =    "Revised March 1981.",
}

@Manual{DEC:1980:PTU,
  title =        "{PDP-11 TECO} user's guide",
  organization = pub-DEC,
  address =      pub-DEC:adr,
  pages =        "iii + 150",
  year =         "1980",
  bibdate =      "Wed Oct 30 19:15:57 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "Order no. DEC-11-UTECA-B-D. This document describes
                 the operating procedures for the TECO (Text Editor and
                 Corrector) program. TECO is distributed with DIGITAL
                 Operating systems, but it is unsupported by DIGITAL;
                 TECO is Category C software. Supersedes
                 DEC-11-RTECA-A-D. Software version: TECO-11 v36;
                 TECO-10 v3; TECO-8 v7.",
  keywords =     "PDP-11 (Computer) --- Programming.; TECO (Computer
                 program)",
}

@Manual{DEC:1980:VVP,
  title =        "[{VAX\slash VMS} Programmming card and {PDP-11} {TECO}
                 user's guide]",
  organization = pub-DEC,
  address =      pub-DEC:adr,
  pages =        "????",
  year =         "1980",
  bibdate =      "Wed Oct 30 19:15:57 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "Order no. QLYY2-GZ4.4 and
                 DEC-11-UTECA-B-D,AV-D827C-TE. This document describes
                 the operating procedures for the TECO (Text Editor and
                 Corrector) program. TECO is distributed with DIGITAL
                 Operating systems, but it is unsupported by DIGITAL;
                 TECO is Category C software. Supersedes
                 DEC-11-RTECA-A-D. Software version: TECO-11 v36;
                 TECO-10 v3; TECO-8 v7. [1] PDP-11 TECO user's guide.
                 [2] VAX-11 programming card.",
  keywords =     "PDP-11 (Computer) --- Programming.; TECO (Computer
                 program); VAX-11 (Computer) --- Programming.",
}

@MastersThesis{Finseth:1980:TPTa,
  author =       "Craig A. Finseth",
  title =        "Theory and practice of text editors, or, {A} cookbook
                 for an Emacs",
  type =         "Thesis (B.S.)",
  school =       "M.I.T., Department of Electrical Engineering and
                 Computer Science",
  address =      "Cambridge, MA, USA",
  pages =        "103",
  year =         "1980",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  note =         "Supervised by David P. Reed.",
  acknowledgement = ack-nhfb,
  keywords =     "Programming (Electronic computers) --- Handbooks,
                 manuals, etc.",
}

@TechReport{Finseth:1980:TPTb,
  author =       "Craig A. Finseth",
  title =        "Theory and practice of text editors or a cookbook for
                 an Emacs",
  type =         "Technical memoranda",
  number =       "165",
  institution =  "Massachusetts Institute of Technology, Laboratory for
                 Computer Science",
  address =      "Cambridge, MA, USA",
  pages =        "106",
  year =         "1980",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "Originally presented as the author's thesis, (B.S.) in
                 the M.I.T. Dept. of Electrical Engineering and Computer
                 Science, 1980.",
  keywords =     "Programming (Electronic computers) --- Handbooks,
                 manuals, etc.",
}

@InProceedings{Greenberg:1980:PCM,
  author =       "B. S. Greenberg",
  booktitle =    "Conference Record of the 1980 LISP Conference,
                 Stanford University",
  title =        "Prose and {CONS} --- {Multics Emacs}: {A} Commercial
                 Text-Processing System in {LISP}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  year =         "1980",
  bibsource =    "Misc/Functional.bib",
  keywords =     "functional Text Processing",
}

@TechReport{Stallman:1980:EMI,
  author =       "Richard M. Stallman",
  title =        "{EMACS} Manual for {ITS} Users",
  number =       "AI Memo 554",
  institution =  inst-MIT,
  address =      inst-MIT:adr,
  pages =        "218",
  month =        jun,
  year =         "1980",
  bibsource =    "Ai/mit.aitr.aim.bib",
  adnum =        "AD-A093186",
  reference =    "Revised April 1981.",
}

@TechReport{Stallman:1980:EMT,
  author =       "Richard Stallman",
  title =        "{EMACS} manual for {TWENEX} users: a reference manual
                 for the extensible, customizable, self-documenting
                 real-time display editor",
  type =         "AI memo",
  number =       "555",
  institution =  inst-MIT-AI,
  address =      inst-MIT-AI:adr,
  pages =        "iv + 203",
  year =         "1980",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "Support for the laboratory's research is provided in
                 part by the Advanced Research Projects Agency of the
                 Dept. of Defense under Office of Naval Research
                 contract",
}

@TechReport{Abelson:1981:CNC,
  author =       "H. Abelson and R. M. Fano and G. J. Sussman",
  title =        "Course Notes {CS} 6.001: Structure and Interpretation
                 of Computer Programs, (Chapter 1+2, Guide to {DEC}-20,
                 {EMACS}-Intr., Intr. to {SCHEME}, {SCHEME}-Manual,
                 Chapter 3--7, Problemsets 1--9, Quiz 1+2, Final
                 Exam.)",
  type =         "Report",
  institution =  inst-MIT-EECS,
  address =      inst-MIT-EECS:adr,
  year =         "1981",
  bibsource =    "Ai/lisp.bib",
  keywords =     "LISP",
}

@TechReport{Gosling:1981:UE,
  author =       "James Gosling",
  title =        "{UNIX EMACS}",
  type =         "Report",
  institution =  inst-MIT-AI,
  address =      inst-MIT-AI:adr,
  month =        dec,
  year =         "1981",
  bibsource =    "Ai/lisp.bib",
  keywords =     "UNIX (Computer operating system) --- Handbooks,
                 manuals, etc.; LISP",
}

@TechReport{Stallman:1981:EECa,
  author =       "Richard M. Stallman",
  title =        "{EMACS}: the extensible, customizable self-documenting
                 display editor",
  type =         "AI memo",
  number =       "519a",
  institution =  inst-MIT-AI,
  address =      inst-MIT-AI:adr,
  pages =        "28",
  month =        mar,
  year =         "1981",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "Advanced Research Projects Agency, Dept. of Defense,
                 ONR.",
}

@InProceedings{Stallman:1981:EECb,
  author =       "R. M. Stallman",
  title =        "{EMACS}: the extensible customizable self-documenting
                 display editor",
  crossref =     "Abrahams:1981:TMA",
  pages =        "147--156",
  year =         "1981",
  bibdate =      "Sat Aug 13 17:16:20 MDT 1994",
  acknowledgement = ack-nhfb,
  keywords =     "languages",
  subject =      "B.4.2 Hardware, INPUT/OUTPUT AND DATA COMMUNICATIONS,
                 Input/Output Devices, Image display \\ D.4.9 Software,
                 OPERATING SYSTEMS, Systems Programs and Utilities,
                 Command and control languages \\ D.2.7 Software,
                 SOFTWARE ENGINEERING, Distribution and Maintenance,
                 Extensibility",
}

@TechReport{Stallman:1981:EMTa,
  author =       "Richard Stallman",
  title =        "{EMACS} manual for {TWENEX} users: a reference manual
                 for the extensible, customizable, self-documenting
                 real-time display editor",
  type =         "AI memo",
  number =       "555",
  institution =  "Massachusetts Institute of Technology, Artificial
                 Intelligence Laboratory",
  address =      "Cambridge, MA, USA",
  edition =      "Revised",
  pages =        "iv + 236",
  month =        oct,
  year =         "1981",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  note =         "This manual corresponds to EMACS version 162.",
  acknowledgement = ack-nhfb,
  annote =       "Advanced Research Projects Agency, Dept. of Defense,
                 ONR.",
}

@TechReport{Stallman:1981:EMTb,
  author =       "Richard Stallman",
  title =        "{EMACS} manual for {TOPS}-20 users: a reference manual
                 for the extensible, customizable, self-documenting
                 real-time display editor",
  type =         "AI memo 556",
  number =       "",
  institution =  "Massachusetts Institute of Technology, Artificial
                 Intelligence Laboratory",
  address =      "Cambridge, MA, USA",
  pages =        "various",
  year =         "1981",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "EMACS (Computer program); Text editors (Computer
                 programs); TOPS-20 (Computer system)",
}

@TechReport{Stallman:1981:EMU,
  author =       "Richard Stallman",
  title =        "{EMACS} manual for {ITS} users: a reference manual for
                 the extensible, customizable, self-documenting
                 real-time display editor",
  type =         "AI memo 554",
  number =       "554",
  institution =  "Massachusetts Institute of Technology, Artificial
                 Intelligence Laboratory",
  address =      "Cambridge, MA, USA",
  pages =        "iv + 224",
  year =         "1981",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  note =         "This manual corresponds to EMACS version 162.",
  acknowledgement = ack-nhfb,
}

@TechReport{Abelson:1982:CNC,
  author =       "H. Abelson and R. M. Fano and G. J. Sussman",
  title =        "Course Notes {CS} 6.001: Structure and Interpretation
                 of Computer Programs, (Chapters 1-8, Guide to {DEC}-20,
                 Intro. to {EMACS}, Intro. to {SCHEME})",
  type =         "Report",
  institution =  inst-MIT-EECS,
  address =      inst-MIT-EECS:adr,
  year =         "1982",
  bibsource =    "Ai/lisp.bib",
  keywords =     "LISP",
}

@Manual{Buck:1982:EP,
  author =       "Barbara Buck",
  title =        "{EMACS} primer",
  organization = "Prime Computer, Inc.",
  address =      "Framingham, MA, USA",
  pages =        "various",
  year =         "1982",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "IDR6107. Revision 18.3. This guide documents the
                 software operation of the Prime Computer and its
                 supporting systems and utilities at master disk
                 revision level 18 (rev.18).",
  keywords =     "Prime computers --- Programming.; EMACS (Computer
                 program)",
}

@Manual{Buck:1982:ERG,
  author =       "Barbara Buck",
  title =        "{EMACS} reference guide",
  organization = "Prime Computer, Inc.",
  address =      "Framingham, MA, USA",
  pages =        "various",
  year =         "1982",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "IDR5026. Revision 18.3. This guide documents the
                 software operation of the Prime Computer and its
                 supporting systems and utilities as implemented at
                 master disk revision level 18 (rev. 18)",
  keywords =     "Prime computers --- Programming.; EMACS (Computer
                 program)",
}

@Article{Cohen:1982:TSC,
  author =       "E. Cohen",
  title =        "Text-Oriented Structure Commands for Structure
                 Editors",
  journal =      j-SIGPLAN,
  volume =       "17",
  number =       "11",
  pages =        "45--49",
  month =        nov,
  year =         "1982",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Tue Jan 10 10:19:23 1984",
  bibsource =    "Os/os.bib, Misc/os.bib",
  abstract =     "The main problems associated with program structure
                 editors are not inherent and can be solved without
                 reverting to a textual view point. Cursor movements can
                 be made more natural by viewing the screen as a 2-D
                 arrangement of nodes. Expressions can be input to
                 commands more complex than simple template expansion.
                 Transformations of program fragments can be
                 accomplished by an editor which supports matching and
                 instantiation of subtrees.",
  keywords =     "editor, structure editor, emacs, Myte",
}

@Manual{DEC:1982:DMS,
  title =        "Data management systems: {SIG} handout: 1982 Spring
                 {DECUS} Symposium: May 10--14, 1982, Atlanta, Georgia:
                 {TECO} sessions",
  organization = pub-DEC,
  address =      pub-DEC:adr,
  pages =        "55",
  year =         "1982",
  bibdate =      "Wed Oct 30 19:15:57 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "Cover title.",
  keywords =     "Electronic data processing --- Management ---
                 Congresses.",
}

@Article{Graham:1982:GCG,
  author =       "Susan L. Graham and Peter B. Kessler and Marshall K.
                 Mckusick",
  title =        "{Gprof}: {A} call graph execution profiler",
  journal =      j-SIGPLAN,
  volume =       "17",
  number =       "6",
  pages =        "120--126",
  month =        jun,
  year =         "1982",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:14:38 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C6150C (Compilers, interpreters and other
                 processors)",
  conflocation = "Boston, MA, USA; 23-25 June 1982",
  conftitle =    "Proceedings of the SIGPLAN '82 Symposium on Compiler
                 Construction",
  corpsource =   "Computer Sci. Div., Electrical Engng. and Computer
                 Sci. Dept., Univ. of California, Berkeley, CA, USA",
  keywords =     "abstractions; call graph execution; call graph
                 execution profiler; called routines; compilers; complex
                 programs; gprof; program compilers; program
                 processors",
  sponsororg =   "ACM",
  treatment =    "P Practical",
}

@TechReport{Phillips:1982:UML,
  author =       "Richard E. Phillips and Phoebe L. Hauff",
  title =        "{USGS} Mineralogy Laboratory user's guide to the
                 {TECO} editing program for the {DEC RT-11} operating
                 system: (Part {C} of the {USGS} Mineralogy Laboratory
                 user's guide to the {DEC RT-11} operating system)",
  type =         "Open-file report",
  number =       "82-177",
  institution =  "U.S. Geological Survey",
  address =      "Denver, CO, USA",
  pages =        "ii + 39",
  year =         "1982",
  bibdate =      "Wed Oct 30 19:15:57 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "TECO (Computer program)",
}

@Manual{Gosling:1983:ESE,
  author =       "James Gosling",
  title =        "{EMACS} screen editor: version 264",
  organization = "UniPress Software, Inc.",
  address =      "Edison, NJ, USA",
  pages =        "various",
  year =         "1983",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  note =         "Seven computer disks.",
  acknowledgement = ack-nhfb,
}

@Manual{CCA:1984:CEMa,
  title =        "{CCA EMACS} manual for {UNIX} users",
  organization = "Computer Corporation of America",
  address =      "Cambridge, MA, USA",
  edition =      "Version 162.43z",
  pages =        "various",
  year =         "1984",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "UNIX (Computer operating system) --- Handbooks,
                 manuals, etc.",
}

@Manual{CCA:1984:CEMb,
  title =        "{CCA EMACS}: manual for {UNIX} users",
  organization = "CCA Uniworks",
  address =      "Cambridge, MA, USA",
  edition =      "Version 162.45z",
  pages =        "various",
  month =        oct,
  year =         "1984",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "Text editors (Computer programs); UNIX (Computer
                 operating system) --- Handbooks, manuals, etc.",
}

@Manual{Gosling:1984:EUM,
  author =       "James Gosling",
  title =        "{Emacs} user's manual",
  organization = "Pyramid Technology Corporation",
  address =      "Mountain View, CA, USA",
  edition =      "Revision A",
  pages =        "various",
  year =         "1984",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "4100-0012",
}

@TechReport{Mitchell:1984:ISU,
  author =       "William H. Mitchell",
  title =        "An {Icon} subsystem for {UNIX} Emacs",
  type =         "Technical report",
  number =       "TR 84-8",
  institution =  "Dept. of Computer Science, The University of Arizona",
  address =      "Tucson, AZ, USA",
  pages =        "17",
  year =         "1984",
  bibdate =      "Mon Jan 12 12:27:38 1998",
  acknowledgement = ack-nhfb,
  keywords =     "Icon (Computer program language); Text editors
                 (Computer programs)",
}

@Manual{PyramidTechnology:1984:ERD,
  title =        "{Emacs} release description",
  organization = "Pyramid Technology Corporation",
  address =      "Mountain View, CA, USA",
  edition =      "Revision A",
  pages =        "various",
  year =         "1984",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "4100-0013. Release 2.1.",
}

@Manual{SSC:1984:SRC,
  author =       "{SSC staff}",
  title =        "{SCC} Reference Cards",
  organization = pub-SSC,
  address =      pub-SSC:adr,
  year =         "1984--1993",
  bibdate =      "Wed Sep 29 13:43:45 1993",
  bibsource =    "Os/unix.2.bib, Misc/unix.2.bib",
  note =         "These are some good, inexpensive reference\slash
                 tutorial cards on UNIX commands, Bourne shell, Korn
                 shell, {\tt emacs}, {\tt vi}, C, C++, etc \ldots{}.
                 e.g. the new ``UNIX System Command Summary for
                 SVR4.2\slash Solaris 2.1'' (ISBN: 0-916151-61-1)
                 \ldots{}. Contact Belinda Frazier (\path|bel@ssc.com|)
                 or \path|sales@ssc.com| for more info.",
  acknowledgement = ack-sk,
}

@InCollection{Stallman:1984:EEC,
  author =       "Richard M. Stallman",
  title =        "{EMACS}: The Extensible, Customizable,
                 Self-Documenting Display Editor",
  crossref =     "Barstow:1984:IPE",
  pages =        "300--325",
  year =         "1984",
  bibdate =      "Wed Oct 30 19:05:37 1996",
  acknowledgement = ack-nhfb,
}

@Manual{DataGeneral:1985:DGE,
  title =        "{Data General EMACS} text editor user's manual",
  organization = "{Data General Corporation}",
  address =      "Westboro, MA, USA",
  edition =      "Revision 00, {February} 1985",
  pages =        "various",
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "093-701011-00",
  keywords =     "Text editors (Computer programs) --- Handbooks,
                 manuals, etc.; EMACS (Computer program) --- Handbooks,
                 manuals, etc.",
}

@Book{Fischer:1985:MWG,
  author =       "Gerhard Fischer and Rul Gunzenh{\"a}user",
  title =        "{Methoden und Werkzeuge zur Gestaltung
                 benutzergerechter Computersysteme}",
  volume =       "1",
  publisher =    "deGruyter",
  address =      "Berlin, Germany; New York, NY, USA",
  pages =        "xi + 282",
  year =         "1985",
  ISBN =         "3-11-010070-3",
  ISBN-13 =      "978-3-11-010070-9",
  bibsource =    "Database/Wiederhold.bib",
  note =         "Also published in/as: summary rcvd Sep.1984.",
  series =       "Mensch Computer Kommunikation",
  annote =       "Evaluation, analysis, design and implementation,
                 investigations on Integrated Information Manipulation
                 Systems (IMS) to support human-computer communication.
                 Runs under UNIX, using Franz-LISP on a VAX 780 using
                 BISY window front-end for EMACS, INGRES, SCRIBE, DYPAR
                 n.l.parser, OPS5, Mycin(!), Pixel based font editor,
                 C.",
  xxtitle =      "Project {INFORM}",
}

@TechReport{McArthur:1985:RRE,
  author =       "David McArthur",
  title =        "Running {ROSS} in an {Emacs} environment",
  type =         "The Rand paper series",
  number =       "P-7088",
  institution =  "Rand Corporation",
  address =      "Santa Monica, CA, USA",
  pages =        "10",
  month =        apr,
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "Data base management --- Computer programs.",
}

@Article{Stallman:1985:GM,
  author =       "Richard Stallman",
  title =        "The {GNU} Manifesto",
  journal =      j-DDJ,
  volume =       "10",
  number =       "3",
  pages =        "30--??",
  month =        mar,
  year =         "1985",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Mon Sep 2 09:09:39 MDT 1996",
  bibsource =    "http://www.ddj.com/index/author/index.htm",
  acknowledgement = ack-nhfb,
}

@Misc{UniPress:1985:ESE,
  author =       "{UniPress Software, Inc}",
  title =        "{Emacs} screen editor for {IBM-PC\slash MS-DOS}",
  publisher =    "UniPress Software",
  address =      "Edison, NJ, USA",
  edition =      "Version 1.0",
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  note =         "1 program file (IBM--PC) on 2 computer disks manual.",
  acknowledgement = ack-nhfb,
  annote =       "UniPress Emacs screen editor MS-DOS Emacs reference
                 manual, version 1.0 --- UniPress Emacs screen editor
                 manual, version 2.0. System requirements: 384K of
                 memory; PC-DOS version 2.00 or later.",
}

@Periodical{UniPress:1985:UEN,
  author =       "{UniPress Software, Inc}",
  title =        "{UniPress} Emacs newsletter",
  publisher =    "UniPress Software",
  address =      "Edison, NJ, USA",
  pages =        "various",
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  alttitle =     "Emacs newsletter",
  annote =       "Caption title.",
  keywords =     "UNIX (Computer operating system) --- Periodicals.",
}

@Manual{UniPress:1985:UESa,
  title =        "UniPress {EMACS} screen editor: user's guide",
  organization = "UniPress Software, Inc.",
  address =      "Edison, NJ, USA",
  edition =      "Version 2.0",
  pages =        "various",
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
}

@Manual{UniPress:1985:UESb,
  title =        "UniPress {EMACS} screen editor: {MLISP} user's guide",
  organization = "UniPress Software, Inc.",
  address =      "Edison, NJ, USA",
  edition =      "Version 2.0",
  pages =        "various",
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
}

@Manual{UniPress:1985:UESc,
  title =        "UniPress {EMACS} screen editor: {UNIX EMACS} reference
                 manual",
  organization = "UniPress Software, Inc.",
  address =      "Edison, NJ, USA",
  edition =      "Version 2.0",
  pages =        "various",
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
}

@Manual{UniPress:1985:UESd,
  title =        "UniPress {EMACS} screen editor: {VMS EMACS} reference
                 manual",
  organization = "UniPress Software, Inc.",
  address =      "Edison, NJ, USA",
  edition =      "Version 2.0",
  pages =        "various",
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
}

@TechReport{Waters:1985:KST,
  author =       "Richard C. Waters",
  title =        "{KBEmacs}: a step toward the programmer's apprentice",
  type =         "Technical report",
  number =       "AI-TR-753",
  institution =  "Massachusetts Institute of Technology, Artificial
                 Intelligence Laboratory.",
  address =      "Cambridge, MA, USA",
  pages =        "236",
  year =         "1985",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "KBEmacs (Computer program language); Emacs (Computer
                 program language)",
}

@TechReport{Beebe:1986:TIP,
  author =       "Nelson H. F. Beebe",
  title =        "{TECO on the IBM PC}",
  institution =  inst-CLSC,
  address =      inst-CLSC:adr,
  pages =        "62",
  day =          "22",
  month =        may,
  year =         "1986",
  bibsource =    "ftp://ftp.math.utah.edu/pub/bibnet/authors/b/beebe-nelson-h-f.bib",
}

@TechReport{Chen:1986:GEB,
  author =       "Pehong Chen",
  title =        "{GNU Emacs \BibTeX} mode: version 1.5",
  type =         "Technical report",
  number =       "UCB/CSD 87/317",
  institution =  "University of California. Computer Science Division",
  address =      "Berkeley, CA, USA",
  pages =        "ii + 34",
  year =         "1986",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "Sponsored in part by the National Science Foundation.
                 Defense Advanced Research Projects Agency (DoD).
                 Monitored by the Naval Electronic Systems Command.",
  keywords =     "Text editors (Computer programs).; Data base
                 management.",
}

@Manual{Kingsbury:1986:EEW,
  author =       "Barry M. Kingsbury and John Xenakis",
  title =        "{EMACS} extension writing guide",
  organization = "Prime Computer",
  address =      "Natick, MA, USA",
  edition =      "Second",
  pages =        "",
  year =         "1986",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "DOC 5025-2LA Master Disk Revision Level 19.4 (Rev.
                 19.4) Loose-leaf for updating.",
  keywords =     "EMACS (Computer program); Prime computers ---
                 Programming.",
}

@Manual{Stallman:1986:GEMa,
  author =       "Richard Stallman",
  title =        "{GNU Emacs} manual",
  number =       "",
  organization = pub-FSF,
  address =      pub-FSF:adr,
  edition =      "4th, {Emacs} version 17",
  pages =        "viii + 255",
  month =        feb,
  year =         "1986",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "GNU Emacs.",
}

@Manual{Stallman:1986:GEMb,
  author =       "Richard Stallman",
  title =        "{GNU Emacs} manual",
  organization = pub-FSF,
  address =      pub-FSF:adr,
  edition =      "5th, {Emacs} version 18 for {UNIX} users",
  pages =        "x + 284",
  month =        oct,
  year =         "1986",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "GNU Emacs (Computer program)",
}

@Manual{Stallman:1986:GEMc,
  author =       "Richard Stallman",
  title =        "{GNU Emacs} manual",
  organization = pub-FSF,
  address =      pub-FSF:adr,
  edition =      "6th, {Emacs} version 18 for {UNIX} users",
  pages =        "x + 284",
  month =        mar,
  year =         "1986",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "GNU Emacs.",
}

@Manual{UniPress:1986:UEU,
  title =        "{UniPress Emacs} user's guide",
  organization = "UniPress Software, Inc.",
  address =      "Edison, NJ, USA",
  edition =      "Version 2.10 and later",
  pages =        "various",
  year =         "1986",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "UNIX (Computer file); Text editors (Computer
                 programs); EMACS (Computer program)",
}

@TechReport{Ballance:1987:PII,
  author =       "R. A. Ballance and M. L. {Van De Vanter}",
  key =          "Ballance \& Van De Vanter",
  title =        "Pan {I}: An Introduction for Users",
  number =       "UCB/CSC 88/410",
  institution =  "EECS-University of California",
  address =      "Berkeley, CA",
  pages =        "60",
  month =        sep,
  year =         "1987",
  bibdate =      "Mon Feb 27 12:00:58 1989",
  bibsource =    "Misc/programming.env.bib",
  abstract =     "Pan is a prototype and testbed for language-based
                 editors and viewers. Its design addresses the needs of
                 experienced users who manage complex objects such as
                 large software systems. All of Pan's components are
                 multi-lingual, incremental, description-driven,
                 customizable, and extensible. Viewing is facilitated by
                 semantics-based browsing and an object model which
                 integrated text and structure. Pan is intended to share
                 information with other tools, allowing integration into
                 a larger language, program and document development
                 environment. This documents, a users manual, describes
                 the basic operational facilities of Pan I, the current
                 implementation. It explains the concepts behind Pan's
                 editing environment, introduces editing commands, and
                 discusses techniques for customization. Appendices list
                 command bindings-to both keystrokes and menus, buffer
                 options, buffer flags, and a compatibility guide for
                 GNU Emacs users.",
  owner =        "payne",
}

@TechReport{Chen:1987:GEB,
  author =       "Pehong Chen",
  title =        "{GNU Emacs} {\BibTeX}-Mode",
  number =       "UCB/CSD 87/317",
  institution =  "University of California, Berkeley",
  address =      "Berkeley, CA, USA",
  pages =        "ii + 57",
  year =         "1987",
  LCCN =         "QA76.6 .C546 1987",
  bibdate =      "Tue Dec 29 08:26:24 1998",
  bibsource =    "Techreports/university-of-california-berkeley.bib",
  price =        "US\$3.50",
  keywords =     "text editors (computer programs)",
}

@TechReport{Chen:1987:GET,
  author =       "Pehong Chen",
  title =        "{GNU Emacs \TeX} mode: version 1.5",
  type =         "Report",
  number =       "UCB/CSD 87/316",
  institution =  "University of California, Computer Science
                 Department",
  address =      "Berkeley, CA, USA",
  pages =        "ii + 57",
  year =         "1987",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "Text editors (Computer programs)",
}

@TechReport{Conklin:1987:SH,
  author =       "Jeff Conklin",
  title =        "A Survey of Hypertext",
  volume =       "2",
  type =         "MCC Technical Report STP-356-86, Rev.",
  number =       "2",
  institution =  "Microelectronics and Computer Technology Corporation",
  address =      "Austin, Texas",
  pages =        "69",
  day =          "3",
  month =        dec,
  year =         "1987",
  bibsource =    "Ai/hypertext.bib",
  note =         "MCC Software Technology Program unrestricted
                 non-proprietary report.",
  abstract =     "Hypertext is a computer-supported medium for
                 information in which many interlinked documents are
                 displayed with their links on a high-resolution
                 computer screen. The links may be directly activated by
                 a pointing device such as a mouse, which causes the
                 document referenced by the link to appear instantly in
                 a new window on the screen. While the concepts of
                 hypertext are not new, the technology to make it
                 effective is new. This paper reviews most of the
                 existing hypertext systems, and then explores in some
                 detail the fundamental features of hypertext and some
                 of the design options in constructing hypertext
                 systems. The advantages and disadvantages of hypertext
                 are discussed in terms of four major application
                 categories: macro literary systems, problem exploration
                 systems, structured browsing systems, and systems
                 developed to explore hypertext technology.",
  abstract-2 =   "This is the full report, with full text and extensive
                 bibliography, of the version which appeared in IEEE
                 Computer. It is provided in response to bingo-card
                 requests from IEEE Computer and to direct requests for
                 the ``more detailed version.'' You can request your own
                 copy by writing to Gloria Gutierrez, Software
                 Technology Program, MCC, 3500 West Balcones Center
                 Drive, Austin TX 78759-6509; (512) 343-0978. [This is
                 an extraordinary piece of work and I recommend it
                 highly: dh] CONTENT 1. Introduction 1.1 What is
                 hypertext? Fixes on the notion of machine-supported
                 links as the primary feature Views hypermedia as
                 generalization of what is linkable: text, + graphics,
                 digitized speech, and many other sensible expressions
                 (taste, odors, + etc.) Will focus on text-based
                 hypertext as the one we know most about 1.2 A Glimps of
                 using hypertext network or graph of material in nodes,
                 forming hypergraph or hyperdocu correspondence between
                 windows on screen and nodes is typical link icons
                 appear within a window and provide paths to related +
                 material user may create new links to new nodes or to
                 existing nodes database may be browsed by taking links
                 through displayed windows, by + search request, and by
                 navigating a diagram of the connections importance of
                 browsers to help user stay oriented 2. Hypertext
                 Implementations 2.1 Macro literary systems large
                 on-line libraries in which inter-document links are
                 machine + supported all publishing, reading,
                 collaboration, and criticism occur within + the system
                 Bush's Memex, Engelbart's NLS, Nelson's Xanadu, and
                 Trigg's Textnet + fit this vision 2.2 Problem
                 exploration systems support early unstructured thinking
                 on a problem, with many + disconnected ideas captured
                 in manipulable way authoring and outlining procedures
                 Goldstein and Bobrow's PIE (for representing
                 software-system design + perspective) Rittel's IBIS for
                 managing arguments in ``wicked'' system analysis +
                 problems Lowe's SYNVIEW for also tracking debate on
                 validity and relevance of + argument postings
                 University of North Carolina's WE writing environment
                 and outline + processors 2.3 Structured browsing
                 systems smaller scale than macro-literary, focused on
                 ease-of-use for + teaching, reference, and public
                 information large amount of existing information or
                 need to make existing + information very easy to access
                 Carnegie-Mellon University ZOG and Knowledge Systems'
                 KMS (successor) Emacs INFO Subsystem, ZOG-like internal
                 ``help'' reference system Ben Shneiderman's University
                 of Maryland Hyperties system Symbolics Document
                 Examiner for on-line access to complete manual set + of
                 Symbolics Lisp machines 2.4 General hypertext
                 technology general-purpose setups for experimentation
                 with wide range of + applications Xerox PARC NoteCards
                 Brown University Intermedia project (extensive
                 experience and effort) Tektronix Neptune designed as
                 open, layered architecture (Hypertext + Abstract
                 Machine [HAM], C and Smalltalk!) 2.5 Summary ---
                 breakout of features support for hierarchic structures
                 support for non-hierarchical (graph-based)
                 cross-reference links multiple types of links
                 association of attribute/value pairs with links and
                 nodes patching of links together into single permanent
                 object multiple versions of nodes or links or both
                 procedural attachment of arbitrary procedures to events
                 at nodes and + links string and keyword searches of
                 hyperdocuments editor capability for contents of nodes
                 concurrent support to multiple users of hyperdocument
                 at same time pictorial and graphic support along with
                 text commercially available and supported 3. The
                 Essence of Hypertext 3.1 The power of linking 3.1.1
                 link follow \ldots{}",
  keywords =     "Hypertext MCC IEEE Computer HyperCard Memex Xanadu
                 Textnet PIE IBIS gIBIS SYNVIEW ZOG KMS Emacs INFO
                 Hyperties NoteCards Intermedia Neptune Boxer CREF
                 FileVision Guide PlaneText",
}

@Article{Flynn:1987:GR,
  author =       "Anita M. Flynn",
  key =          "Flynn",
  title =        "Gnat Robots",
  journal =      j-AI-EXPERT,
  volume =       "2",
  number =       "12",
  pages =        "34--42",
  month =        dec,
  year =         "1987",
  ISSN =         "0888-3785",
  bibsource =    "Ai/cmubib.bib",
  location =     "CMU E&S Library",
}

@TechReport{Flynn:1987:GRH,
  author =       "Anita M. Flynn",
  title =        "Gnat Robots (And How They Will Change Robotics)",
  type =         "Technical Report",
  number =       "Working Paper 295",
  institution =  inst-MIT,
  address =      inst-MIT:adr,
  month =        jun,
  year =         "1987",
  bibsource =    "Ai/mit.ai.reports.bib",
}

@Periodical{FSF:1987:GBN,
  author =       "{Free Software Foundation}",
  title =        "{GNU}'s bulletin: newsletter of the {Free Software
                 Foundation}",
  publisher =    "The Foundation",
  address =      "Cambridge, MA, USA",
  pages =        "various",
  year =         "1987",
  ISSN =         "1075-7813",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  alttitle =     "GNU's bulletin",
  annote =       "Description based on: Vol. 1, no. 16 (Jan. 1994);
                 title from cover.",
  keywords =     "Text editors (Computer programs) --- Periodicals.; GNU
                 Emacs --- Periodicals.",
}

@Misc{FSF:1987:GM,
  key =          "GAWK",
  title =        "The {GAWK} Manual",
  howpublished = pub-FSF # " " # pub-FSF:adr,
  year =         "1987",
  note =         "Also available via ANONYMOUS FTP to
                 \path|prep.ai.mit.edu|. See also \cite{Aho:1988:APL}.",
}

@InProceedings{Hinckley:1987:OOE,
  author =       "K. Hinckley",
  title =        "An object oriented extension language for integrating
                 disparate applications",
  crossref =     "Bullinger:1987:HII",
  pages =        "529--533",
  year =         "1987",
  bibdate =      "Wed Oct 30 06:13:54 MST 1996",
  abstract =     "QUICHE (quick user interface and command handling
                 extension) is an extension language based on the Icon
                 programming language. Like Lisp-style EMACS extension
                 languages, it can be used to define key bindings.
                 Unlike those extensions, QUICHE is not bound to any
                 particular application, can easily make system calls
                 and invoke programs and can call entry points in the
                 program it is extending, either directly or through a
                 trait binding mechanism. It is this latter ability that
                 makes QUICHE an ideal means of unifying application
                 interfaces. Traits are defined for applications such as
                 window managers, debuggers and editors. Each trait
                 encapsulates a set of basic operations that will be
                 available in any instance of an object. The existence
                 of a standard set of traits allows the interface
                 designer to tailor interfaces that provide consistency
                 across multiple applications, and to easily modify or
                 add features to a set of applications. In addition,
                 QUICHE can also extend applications which do not
                 themselves support any traits. A manager can be written
                 in QUICHE that, instead of calling the application,
                 inserts the commands corresponding to a call as though
                 the user had entered them.",
  acknowledgement = ack-nhfb,
  affiliation =  "User Environment Apollo Computer, Inc., Chelmsford,
                 MA, USA",
  classification = "C6140D (High level languages); C6110 (Systems
                 analysis and programming); C6180 (User interfaces);
                 C6150J (Operating systems)",
  keywords =     "Object oriented extension language; Disparate
                 applications; Quick user interface; Command handling
                 extension; Icon programming language; Key bindings;
                 System calls; Entry points; Trait binding mechanism;
                 QUICHE; Application interfaces; Window managers;
                 Debuggers; Editors; Interface designer; Consistency;
                 Multiple applications",
  thesaurus =    "High level languages; Multiprogramming;
                 Object-oriented programming; User interfaces",
}

@InProceedings{Palmer:1987:DEOa,
  author =       "J. E. Palmer and T. M. Duffy and K. Gomoll and T.
                 Gomoll and J. Palmquist-Richards and J. A. Trumble",
  title =        "The design and evaluation of online help for {UNIX}
                 {EMACS}: access mechanisms",
  crossref =     "Bullinger:1987:HII",
  pages =        "461--466",
  year =         "1987",
  bibdate =      "Wed Oct 30 06:13:54 MST 1996",
  abstract =     "Discusses the use of the card sort technique and
                 cluster analysis for determining an effective
                 organization for a help menu in UNIX EMACS. Similarity
                 data using a card sorting task with EMACS commands was
                 gathered. Hierarchical cluster analysis was then used
                 to analyze the data. The results indicate that
                 differences among novices, intermediates, and experts
                 appear with computer-based concepts such as windows and
                 buffers, but that the sorts are more similar than they
                 are different. It is argued that cluster analysis may
                 aid designers in determining a functional organization,
                 but that in this domain, this organization will not
                 help users bridge the mapping from real world tasks to
                 computer tasks.",
  acknowledgement = ack-nhfb,
  affiliation =  "Commun. Design Center, Carnegie Mellon Univ.,
                 Pittsburgh, PA, USA",
  classification = "C6180 (User interfaces); C6110B (Software
                 engineering techniques); C7106 (Word processing)",
  keywords =     "User interface design; Online help; UNIX EMACS; Card
                 sort technique; Cluster analysis; Menu",
  thesaurus =    "Pattern recognition; Software engineering; Software
                 packages; UNIX; User interfaces; Word processing",
}

@TechReport{Palmer:1987:DEOb,
  author =       "James E. Palmer",
  title =        "The design and evaluation of online help for {UNIX}
                 {Emacs}: Capturing the user in menu design",
  type =         "CDC technical report series",
  number =       "39",
  institution =  "Communications Design Center, Carnegie Mellon
                 University",
  address =      "Pittsburgh, PA, USA",
  pages =        "17",
  month =        nov,
  year =         "1987",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "Technical writing.; Electronic data processing
                 documentation.; Computers --- Computer engineering.;
                 UNIX (Computer operation system).",
}

@TechReport{Rich:1987:FRS,
  author =       "Charles Rich and Richard C. Waters",
  title =        "Formalizing Reusable Software Components in the
                 Programmer's Apprentice",
  number =       "AI Memo 954",
  institution =  inst-MIT,
  address =      inst-MIT:adr,
  pages =        "28",
  month =        feb,
  year =         "1987",
  bibsource =    "Ai/mit.aitr.aim.bib",
  abstract =     "There has been a long-standing desire in computer
                 science for a way of collecting and using libraries of
                 standard software components. The limited success in
                 actually doing this stems not from any resistance to
                 the idea, nor from any lack of trying, but rather from
                 the difficulty of choosing an appropriate formalism for
                 representing components. For a formalism to be
                 maximally useful, it must satisfy five key desiderata:
                 expressiveness, convenient combinability, semantic
                 soundness, machine manipulability, and programming
                 language independence. The Plan Calculus formalism
                 developed as part of the Programmer's Apprentice
                 project satisfies each of these desiderata quite well.
                 It does this by combining the ideas from flowchart
                 schemas, data abstraction, logical formalisms, and
                 program transformations. The efficacy of the Plan
                 Calculus has been demonstrated in part by a prototype
                 program editor called the Knowledge-based Editor in
                 Emacs. This editor makes it possible for a programmer
                 to construct a program rapidly and reliably by
                 combining components represented as plans.",
  archived =     "f1993",
  contract =     "NSF MCS-7912179, N00014-85-K-0124, IBM, Sperry",
  keywords =     "reuse, Programmer's Apprentice, software, components,
                 plan calculus",
}

@Manual{Sheppo:1987:ERG,
  author =       "Marion Sheppo",
  title =        "{EMACS} reference guide",
  organization = "Prime Computer, Inc.",
  address =      "Natick, MA, USA",
  edition =      "2nd for Release 21.0",
  pages =        "various",
  year =         "1987",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "DOC5026-2LA. This guide documents the software
                 operation of the Prime Computer and its supporting
                 systems and utilities as implemented at Master Disk
                 Revision level 21.0 (Rev. 21.0).",
  keywords =     "Prime computers --- Programming.; EMACS (Computer
                 program); Prime computers.",
}

@Manual{Stallman:1987:GEM,
  author =       "Richard Stallman",
  title =        "{GNU} Emacs manual",
  organization = pub-FSF,
  address =      pub-FSF:adr,
  edition =      "6th, Version 18",
  pages =        "viii + 284",
  month =        mar,
  year =         "1987",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "GNU Emacs (Computer program)",
}

@InProceedings{Waters:1987:PAS,
  author =       "R. C. Waters",
  title =        "The Programmer's Apprentice: a session with
                 {KBEmacs}",
  crossref =     "Anonymous:1987:PAT",
  pages =        "1.",
  month =        "",
  year =         "1987",
  bibdate =      "Wed Oct 30 06:13:54 MST 1996",
  abstract =     "Summary form only given. The long term goal of the
                 Programmer's Apprentice project is to develop a theory
                 of programming and to automate the programming process.
                 Recognizing that fully automatic programming is very
                 far off, the current research is directed toward the
                 intermediate goal of developing an intelligent computer
                 assistant for programmers called the Programmer's
                 Apprentice (PA). The intention is for the PA to act as
                 a junior partner and critic, keeping track of details
                 and assisting with the easy parts of the programming
                 process while the programmer focuses on the hard part
                 of the process. The Knowledge-Based Editor in Emacs
                 (KBEmacs) is the current demonstration system
                 implemented as part of the PA project. KBEmacs is
                 capable of operating on Ada and Lisp programs of
                 realistic size and complexity. The principal benefit of
                 KBEmacs is that it makes it possible to construct a
                 program rapidly and reliably by combining algorithmic
                 fragments stored in a library. The heart of the paper
                 is a scenario showing the currently running KBEmacs
                 system in action. The scenario shows a 58 line Ada
                 program being constructed using six simple KBEmacs
                 commands. In addition the paper discusses the basic
                 goals of the PA project and the key AI ideas behind
                 KBEmacs.",
  acknowledgement = ack-nhfb,
  affiliation =  "Artificial Intelligence Lab., MIT, Cambridge, MA,
                 USA",
  classification = "C6170 (Expert systems)",
  keywords =     "KBEmacs; Programmer's Apprentice project; Intelligent
                 computer assistant; Junior partner; Critic;
                 Knowledge-Based Editor; Emacs; PA project; Ada; Lisp
                 programs; AI ideas",
  thesaurus =    "Automatic programming; Knowledge based systems",
}

@Book{Aho:1988:APL,
  author =       "Alfred V. Aho and Brian W. Kernighan and Peter J.
                 Weinberger",
  key =          "AWK87",
  title =        "The {AWK} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "x + 210",
  year =         "1988",
  ISBN =         "0-201-07981-X",
  ISBN-13 =      "978-0-201-07981-4",
  LCCN =         "QA76.73.A95 A35 1988",
  bibdate =      "Fri Apr 30 10:37:28 1999",
  note =         "See \cite{FSF:1987:GM}.",
  nb =           "the author order is AKW, but the key looks better as
                 AWK",
}

@Misc{Anonymous:1988:MDD,
  author =       "Anonymous",
  title =        "{Macintosh} download disk 16",
  publisher =    "University of Rochester Computing and Reserve
                 Library",
  address =      "Rochester, NY, USA",
  year =         "1988",
  bibdate =      "Wed Feb 28 15:00:20 MST 1996",
  note =         "1 computer disk. Title supplied by cataloger. For
                 fuller description of contents see list at Computing
                 and Reserve Library Desk. 3dplt --- Compact --- DA Appl
                 Font 1.03 --- DA Artisto 1.41 --- DA Blank Screen ---
                 DA Camera --- DA ControlPanelPlus 0.85 --- DA
                 Coordinates --- DA DeskZap 1.3 --- DA Dvorak3.0+ --- DA
                 f(n)key --- DA Fade to Black 2.0 --- DA Font Grabber
                 --- DA Glass --- DA Idle --- DA MakePICTfile --- DA
                 Mouseometer --- DA mouseprint --- DA Multi-Scrap --- DA
                 New Idle1 --- DA New Scrapbook2.0 --- DA NumCaps 2.0
                 --- DA ParmBlaster --- DA ProMouse1.1 --- DA
                 Screendump2 --- DA ScreenSave --- DA Show Clip --- DA
                 Show PICTure --- DA Stars1.3 --- DA Studdclip --- DA
                 ZoomIdle 1.1 --- EDIT 2.0d1 --- Icon Exchanger 2.0 ---
                 Install Twelve-C Demo --- Inventory --- Keeper --- MAC
                 ID --- MassCopier --- microEMACS --- Orion1.4 ---
                 PageSetupCustomizer --- RamDisk+ --- VideoWorks.
                 Collection of freeware and shareware. System
                 requirements: Macintosh. Macintosh (Computer).",
  acknowledgement = ack-nhfb,
}

@InProceedings{Borenstein:1988:UER,
  author =       "N. S. Borenstein",
  title =        "{UNIX} Emacs: a retrospective. Lessons for flexible
                 system design",
  crossref =     "ACM:1988:PAS",
  pages =        "95--101",
  month =        "",
  year =         "1988",
  bibdate =      "Wed Oct 30 06:09:12 MST 1996",
  abstract =     "UNIX Emacs is well-known and widely used as a text
                 editor that has been extended in a remarkable number of
                 directions, not always wisely. Because it is
                 programmable in a powerful yet simple programming
                 language, Emacs has been used as a development tool for
                 the construction of some remarkably complex
                 user-oriented programs. Indeed, it has served as both a
                 user interface management system and a user interface
                 toolkit, through it was designed as neither. The paper
                 discusses the features that have made it so popular for
                 user interface development, in an attempt to derive
                 lessons of value for more powerful and more
                 systematically designed systems in the future.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Carnegie-Mellon Univ.,
                 Pittsburgh, PA, USA",
  classification = "C6180 (User interfaces); C6130 (Data handling
                 techniques); C6115 (Programming support)",
  keywords =     "UNIX Emacs; Text editor; Programming language;
                 Development tool; User-oriented programs; User
                 interface management system; User interface toolkit",
  thesaurus =    "Software tools; Text editing; UNIX; User interfaces",
}

@InProceedings{Gadol:1988:SCL,
  author =       "S. Gadol",
  title =        "{SPE} --- a {Common Lisp} environment on
                 workstations",
  crossref =     "Anonymous:1988:PFA",
  pages =        "399--404",
  month =        "",
  year =         "1988",
  bibdate =      "Wed Oct 30 06:13:54 MST 1996",
  abstract =     "The Symbolic Programming Environment (SPE), developed
                 by Sun Microsystems, is made up of a collection of
                 programming tools and libraries that implement a
                 powerful programming environment for Common Lisp. The
                 central component of the system is the SPE Lisp editor.
                 It is implemented in the style of Emacs, in that it is
                 built up from a set of character and buffer managing
                 primitives in a way that is user-extensible. Because
                 the system is written completely in Common Lisp, the
                 majority of its functionality is readily portable to
                 any full Common Lisp implementation. Some of interfaces
                 the SPE depends on, such as the debugger, depend on
                 lower level extensions to Common Lisp. But these also
                 have turned out to be quantifiable. The Symbolic
                 Programming Environment is an example of an
                 architecture for future workstation-based productivity
                 tools. Like the Common Lisp system it is built on, the
                 SPE is designed for evolution. Inherent in its
                 structure is the capability for it to extend,
                 transform, and grow in a variety of directions far
                 beyond those initially intended by its developers.",
  acknowledgement = ack-nhfb,
  affiliation =  "Sun Microsyst., Mountain View, CA, USA",
  classification = "C6115 (Programming support); C6140D (High level
                 languages)",
  keywords =     "Character managing primitives; SPE; Common Lisp
                 environment; Workstations; Symbolic Programming
                 Environment; Sun Microsystems; Programming tools;
                 Libraries; Programming environment; SPE Lisp editor;
                 Buffer managing primitives; User-extensible; Portable;
                 Interfaces; Debugger",
  thesaurus =    "LISP; Programming environments; Software tools",
}

@Article{Halme:1988:GED,
  author =       "H. Halme and J. Heinanen",
  title =        "{GNU Emacs} as a dynamically extensible programming
                 environment",
  journal =      j-SPE,
  volume =       "18",
  number =       "10",
  pages =        "999--1009",
  month =        oct,
  year =         "1988",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644",
  bibdate =      "Wed Oct 30 06:19:01 MST 1996",
  abstract =     "GNU Emacs is usually used only as an extensible
                 editor. However, the ability to integrate inferior
                 processes into GNU Emacs makes it an attractive
                 programming environment. Like Interlisp and
                 Smalltalk-80, GNU Emacs can be extended dynamically by
                 its user. Unlike these programming environments, it can
                 be used easily as a programming environment for an
                 arbitrary programming language, and not just for its
                 extension language. The authors discuss the methods of
                 extending GNU Emacs and how they have applied them in
                 creating a programming environment for a high-level
                 specification language called AGENT.",
  acknowledgement = ack-nhfb,
  affiliation =  "Comput. Syst. Lab., Tampere Univ. of Technol.,
                 Finland",
  classification = "C6115 (Programming support); C6140D (High level
                 languages)",
  keywords =     "GNU Emacs; Dynamically extensible programming
                 environment; Extensible editor; High-level
                 specification language; AGENT",
  pubcountry =   "UK",
  thesaurus =    "High level languages; Programming environments;
                 Specification languages; Text editing",
}

@TechReport{Hammerslag:1988:TM,
  author =       "D. Hammerslag",
  title =        "Treemacs manual",
  number =       "UIUCDCS-R-88-1427",
  institution =  "University of Illinois at Urbana-Champaign",
  address =      "Urbana-Champaign, IL, USA",
  pages =        "25",
  month =        may,
  year =         "1988",
  bibdate =      "Wed Oct 30 06:19:01 MST 1996",
  abstract =     "Treemacs is a superset of GNU Emacs (currently GNU
                 version 18.50). It is GNU Emacs extended to allow the
                 direct editing of tree structures. This is implemented
                 as a new major mode, tree-mode. In tree-mode, trees are
                 edited directly. The user sees a display of the tree in
                 the current window. The cursor is positioned at the
                 current node of the tree (tree-point). Each node in the
                 tree contains a text buffer (called the node's text).
                 Emacs text editing commands apply to the text of the
                 current node. Tree commands are used to move around in
                 the tree and to modify the tree structure. This manual
                 is divided into three sections. The first gives an
                 introduction to tree editing and to Treemacs. The
                 second is a user's manual intended for one who wants to
                 use Treemacs without customizing or programming it. The
                 third section is a programmer's manual. Treemacs
                 currently runs on Vaxen, SUN-3 workstations, and Gould
                 PowerNode machines.",
  acknowledgement = ack-nhfb,
  classification = "C6130 (Data handling techniques); C6120 (File
                 organisation)",
  issuedby =     "Univ. Illinois at Urbana-Champaign, IL, USA",
  keywords =     "Data structures; Treemacs; GNU Emacs; Direct editing;
                 Tree structures; Tree-mode; Text editing; Tree editing;
                 Vaxen; SUN-3 workstations; Gould PowerNode",
  pubcountry =   "USA",
  thesaurus =    "Data structures; Text editing; Trees [mathematics];
                 User manuals",
}

@InProceedings{Lea:1988:LGC,
  author =       "Douglas Lea",
  title =        "{libg++}, The {GNU C++} Library",
  crossref =     "USENIX:1988:UPC",
  pages =        "243--256",
  day =          "17--21",
  month =        oct,
  year =         "1988",
  bibdate =      "Fri Oct 18 07:24:24 MDT 1996",
  bibsource =    "ftp://ftp.uu.net/library/bibliography",
  abstract =     "The GNU C++ library is a collection of C++ classes and
                 support tools. The paper describes several general
                 strategies for structuring and designing GNU C++
                 library classes, along with an informal taxonomy of
                 library classes and their implementations.",
  acknowledgement = ack-nhfb,
  affiliation =  "State University of New York, College at Oswego",
  classification = "C6150C (Compilers, interpreters and other
                 processors); C6140D (High level languages)",
  keywords =     "G++ compiler; Libg++; GNU C++ library; C++ classes;
                 Support tools; Library classes",
  thesaurus =    "C language; Object-oriented programming; Program
                 compilers; Software tools; Subroutines",
}

@Book{Lewis:1988:GEL,
  author =       "Bil Lewis",
  title =        "{GNU} Emacs Lisp manual: Emacs version 18 for {UNIX}
                 users",
  publisher =    "????",
  address =      "????",
  pages =        "various",
  month =        mar,
  year =         "1988",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "GNU Emacs (Computer program); Text editors (Computer
                 programs)",
}

@TechReport{Ritchie:1988:SHC,
  author =       "Russell A. Ritchie",
  title =        "Scottish {HCI} Centre extensions for {GNU} Emacs",
  type =         "Report",
  number =       "AMU8829/01S (also Strathclyde University computer
                 science report; no. CS/HCI/8829/01)",
  institution =  "Scottish HCI Centre",
  address =      "Edinburgh, Scotland",
  pages =        "22",
  day =          "9",
  month =        mar,
  year =         "1988",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  abstract =     "This report describes five extensions, written in GNU
                 Emacs-LISP. The first is an expansion of the Sun View
                 window system menu interface, providing scope for HCI
                 involvement in Emacs programming and usage. The rest
                 make writing LISP, PROLOG and \POSTSCRIPT{} programs,
                 and creating \TeX{} and \LaTeX{} documents easier. Four
                 of these extensions come with the distribution version
                 of GNU Emacs, but have been modified by the author to
                 provide extra features. The other, \POSTSCRIPT{} mode,
                 is home-gown and facilitates development of software
                 for the NeWS window system.",
  acknowledgement = ack-nhfb,
  annote =       "Alvey GR/D 42368",
  keywords =     "Text editors (Computer programs); GNU emacs (Computer
                 programs)",
}

@MastersThesis{Russel:1988:PCE,
  author =       "Elizabeth Russel",
  title =        "{PBE} customizer: an expert aide for customizing {PBE}
                 Emacs",
  type =         "Master's project",
  school =       "Boston University, College of Liberal Arts, Computer
                 Science Dept.",
  address =      "Boston, MA, USA",
  pages =        "32",
  year =         "1988",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  note =         "Also BUCS technical report 88-005.",
  acknowledgement = ack-nhfb,
  keywords =     "Word processing.; Man-machine systems.",
}

@Article{Salzman:1988:OLA,
  author =       "I. J. Salzman",
  title =        "An objective look at {C++} compilers",
  journal =      j-UNIX-REVIEW,
  volume =       "6",
  number =       "11",
  pages =        "81, 83, 85--86, 88",
  month =        nov,
  year =         "1988",
  CODEN =        "UNRED5",
  ISSN =         "0742-3136",
  bibdate =      "Wed Oct 30 06:19:01 MST 1996",
  abstract =     "Three C++ compilers are being reviewed: Oasys Designer
                 C++ release 1.2 (from Oasys Inc.). Oregon C++ release
                 1.1c (from Oregon Software Inc.), and GNU C++ release
                 1.25.1 (from The Free Software Foundation). The Oasys
                 compiler is actually a port of the AT and T C++
                 translator (release 1.2), while the Oregon and GNU
                 products are true compilers producing object modules
                 for the target machine. All of the compilers reviewed
                 are worthy products, and you should make your choice on
                 the basis of your particular objectives. If you want a
                 good port of the AT and T translator and a product that
                 adheres closely to the C++ language specification, then
                 the Oasys product may be the way to go. If you are
                 doing commercial product development and want a
                 compiler that provides a source-level debugger and a
                 high level of vendor support, then Oregon Software's
                 product might best fit the bill. If, on the other hand,
                 you're interested in C++ and not concerned with selling
                 your code then GNU C++ is definitely the choice for
                 you.",
  acknowledgement = ack-nhfb,
  affiliation =  "Rand Corp., Santa Monica, CA, USA",
  classification = "C6150C (Compilers, interpreters and other
                 processors); C6140D (High level languages)",
  keywords =     "C++ compilers; Oasys Designer C++ release 1.2; Oasys;
                 Oregon C++ release 1.1c; GNU C++ release 1.25.1; The
                 Free Software Foundation; AT and T translator;
                 Commercial product development; Source-level debugger;
                 Vendor support",
  pubcountry =   "USA",
  thesaurus =    "C language; Program compilers; Software packages",
}

@Misc{Shneiderman:1988:UIS,
  author =       "Ben Shneiderman and Thomas Malone and Donald Norman
                 and James Foley",
  title =        "User Interface Strategies '88 (videotape)",
  publisher =    inst-U-MARYLAND,
  address =      inst-U-MARYLAND:adr,
  year =         "1988",
  bibdate =      "Fri Jul 22 00:13:31 1994",
  note =         "From {\em Computing Reviews\/}: ``User interface
                 strategies '88 was a two-day satellite TV course,
                 taught October 5 and 12, 1988, and organized by Ben
                 Shneiderman. The course features four outstanding
                 researchers in human-computer interaction: Ben
                 Shneiderman, Thomas W. Malone, Donald A. Norman, and
                 James D. Foley. All four speakers are not only leading
                 researchers in their respective areas, but also
                 excellent communicators. This package consists of 10
                 hours of videotape (eight hours of lectures and two
                 hours of discussion) and four books of supplementary
                 materials. These materials consist of more than 400
                 pages and contain all the transparencies used in the
                 presentations, annotated bibliographies and relevant
                 papers (except for Malone's area), and a transcript of
                 Norman's lectures. {\ldots} The programming environment
                 features the {NeWS} window system with pie menus, the
                 {EMACS}-editor with tab windows, and a
                 `pseudo-scientific visualizer' for {\POSTSCRIPT}
                 dictionaries.''",
  price =        "US\$1,800.00",
  acknowledgement = ack-nhfb,
}

@TechReport{Smith:1988:ILL,
  author =       "W. W. Smith and R. H. Campbell",
  title =        "Introduction to Leif language descriptions",
  number =       "UIUCDCS-R-88-1444",
  institution =  "University of Illinois at Urbana-Champaign",
  address =      "Urbana-Champaign, IL, USA",
  pages =        "78",
  month =        jul,
  year =         "1988",
  bibdate =      "Wed Oct 30 06:19:01 MST 1996",
  abstract =     "Explains how to create and compile new language
                 description files for Leif. Leif performs syntax
                 checking and provides language oriented editing
                 features for a text editor. The User Manual for Leif
                 with GNU Emacs and the GNU Emacs Manual describe how to
                 use Leif with its front-end, GNU Emacs. Leif uses
                 languages specified with a regular expression lexical
                 analyzer and an LALR(1) parse table. Each language
                 description has three user specified components that
                 are combined into a single, compiled language
                 description file. The authors describe the utility that
                 combines each of these three components into a
                 completed language description file. They then describe
                 the three components of a language description: parse
                 tables, lexical analyser tables, and supplementary
                 information. They describe the utilities used to
                 process the specifications of these three parts of a
                 language description file, Leif editing commands that
                 may be used to help debug new languages, and two
                 additional utilities supplied with Leif. They show how
                 Leif locates the language description files required to
                 edit a program. The text of a small example language is
                 given. Appendices describe the utilities used to build
                 a language description.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Illinois Univ., Urbana, IL, USA
                 description manual, and installation guide",
  classification = "C6140D (High level languages); C6150C (Compilers,
                 interpreters and other processors); C6130D (Document
                 processing techniques)",
  issuedby =     "Univ. Illinois at Urbana-Champaign, IL, USA",
  keywords =     "Debugging; Leif; Language description files; Syntax
                 checking; Language oriented editing features; Text
                 editor; Front-end; GNU Emacs; Regular expression
                 lexical analyzer; LALR(1) parse table; User specified
                 components; Compiled language; Parse tables; Lexical
                 analyser tables; Supplementary information; Utilities;
                 Specifications; Editing commands",
  pubcountry =   "USA",
  thesaurus =    "Program compilers; Specification languages; Text
                 editing",
}

@TechReport{Smith:1988:LLO,
  author =       "William W. (William Wayne) Smith and Daniel LaLiberte
                 and Roy Harold Campbell",
  title =        "The Leif language oriented editor: user manual,
                 language description manual, and installation guide",
  type =         "Report",
  number =       "UIUCDCS-R-88-1444, UILU-ENG-88-1749",
  institution =  "Dept. of Computer Science, University of Illinois at
                 Urbana-Champaign",
  address =      "1304 W. Springfield, Urbana, IL 61801, USA",
  pages =        "41 + 30 + 5",
  month =        jul,
  year =         "1988",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  abstract =     "Leif is a language-oriented editor that supports a
                 full set of text editing commands as well as commands
                 based on the program's syntex. The editor uses an
                 incremental parser to update syntactic information
                 about the program. Leif can be used with several
                 different context free languages simultaneously. This
                 document describes how to use Leif with GNU Emacs as
                 the front-end editor. Leif is implemented as a
                 minor-mode within GNU Emacs. The authors describe the
                 motivation for constructing Leif, and how Leif works
                 internally. A short introduction is then given to GNU
                 Emacs. To show to use Leif with Emacs key bindings,
                 examples are presented of the commands in Leif. The
                 authors also describes using Leif in the VIP mode of
                 GNU Emacs (VIP mode simulates the editor Vi within
                 Emacs). They describe commands that use the tree
                 structure of the edited program. Emacs variables are
                 listed that allow the behavior of Leif in Emacs to be
                 customized. An appendix contains an example {.emacs}
                 file that may be placed in your home directory. The
                 index and command summaries at the end of the paper
                 help to locate where commands are described in this
                 document.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Illinois Univ., Urbana, IL, USA
                 description manual, and installation guide",
  classification = "C6130D (Document processing techniques); C6110B
                 (Software engineering techniques); C4210 (Formal
                 logic)",
  issuedby =     "Univ. Illinois at Urbana-Champaign, IL, USA",
  keywords =     "Leif (Computer file); Text editors (Computer
                 programs); Program syntax; SAGA project; Software
                 automation; Software generation; Software
                 administration; Syntactic information updating;
                 Software engineering; Leif; Language oriented editor;
                 GNU Emacs; Text editing commands; Context free
                 languages; Ghezzi Mandrioli incremental parsing
                 algorithm; Syntactic information updating; Program
                 editing; User manual; Language-oriented editor; Text
                 editing commands; Incremental parser; Leif; Context
                 free languages; GNU Emacs; Front-end editor;
                 Minor-mode; Key bindings; VIP mode; Tree structure;
                 Commands",
  pubcountry =   "USA",
  thesaurus =    "Context-free languages; Program compilers; Software
                 engineering; Text editing",
}

@Manual{Stallman:1988:GEMa,
  author =       "Richard Stallman",
  title =        "{GNU Emacs} manual",
  organization = pub-FSF,
  address =      pub-FSF:adr,
  edition =      "6th, {Emacs} version 18",
  pages =        "x + 290",
  month =        feb,
  year =         "1988",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "GNU Emacs.",
}

@Manual{Stallman:1988:GEMb,
  author =       "Richard Stallman",
  title =        "{GNU Emacs} manual",
  organization = pub-FSF,
  address =      pub-FSF:adr,
  edition =      "6th, {Emacs} version 18 for {UNIX} users",
  pages =        "x + 294",
  year =         "1988",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  annote =       "MIC 3.2.4.",
}

@Manual{Stallman:1988:GMG,
  author =       "Richard Stallman",
  title =        "{GDB} manual: the {GNU} source-level debugger",
  organization = "Free Software Foundation, Inc.",
  address =      "Cambridge? Mass.",
  edition =      "2nd, {GDB} version 2.5",
  pages =        "ii + 63",
  month =        feb,
  year =         "1988",
  bibdate =      "Wed Oct 30 08:29:31 MST 1996",
  acknowledgement = ack-nhfb,
  keywords =     "GDB (Computer program) --- Handbooks, manuals, etc.;
                 GNU Emacs --- Handbooks, manuals, etc.; Debugging in
                 computer science --- Handbooks, manuals, etc.; Computer
                 programs --- Testing --- Handbooks, manuals, etc.",
}

@Manual{Stallman:1988:TGD,
  author =       "Richard Stallman and Robert J. Chassell",
  title =        "Texinfo: the {GNU} documentation format",
  organization = pub-FSF,
  address =      pub-FSF:adr