David A. Moon

Last updated

David A. Moon
David A Moon.png
David A. Moon in 2001
Occupation Computer scientist
Known for Lisp, Symbolics, Emacs, Dylan
Website users.rcn.com/david-moon

David A. Moon is a programmer and computer scientist, known for his work on the Lisp programming language, as co-author of the Emacs text editor, as the inventor of ephemeral garbage collection, and as one of the designers of the Dylan programming language. Guy L. Steele Jr. and Richard P. Gabriel (1993) name him as a leader of the Common Lisp movement and describe him as "a seductively powerful thinker, quiet and often insulting, whose arguments are almost impossible to refute". [1]

Contents

Work

Maclisp, a variant of Lisp developed at the Massachusetts Institute of Technology (MIT) by Richard Greenblatt in the late 1960s, originally ran on the PDP-6 and PDP-10 computers made by Digital Equipment Corporation. In the early 1970s, Moon headed a project at MIT that reimplemented Maclisp on a different kind of computer, the Honeywell 6180 running the Multics operating system. The compiler that he developed, NCOMPLR, became the "standard against which all other Lisp compilers were measured". [2] As part of this project, he also wrote what became the standard manual for Maclisp more generally, titled the MacLISP Reference Manual but often called the Moonual. [3]

Moon was one of the original members of Greenblatt's project to develop the MIT Lisp Machine, beginning in 1974. [3] In 1976, with Steele, he wrote the first (TECO-based) version of the Emacs text editor, [4] [5] and in 1978 with Daniel Weinreb he coauthored the manual for the Lisp Machine, known as the chine nual. With Howard Cannon, he developed Flavors, a system for doing object-oriented programming with multiple inheritance on the Lisp Machine. As part of the Lisp Machine project, he also invented ephemeral garbage collection, an advance that led to the widespread use of continuously-operating garbage collection systems in Lisp more generally. [6]

When Symbolics was founded in 1980 to commercialize the Lisp Machine, he became one of its founders. He continued to develop new hardware and software at Symbolics, and was listed as a Symbolics Fellow in 1989, but left the company in 1990 to join a project to develop a new operating system. He also made important contributions to the standardization of Common Lisp. [7]

Later, he worked for Apple Computer, where he became one of "the primary contributors to the language design" for the Dylan programming language. [8]

Related Research Articles

<span class="mw-page-title-main">Lisp (programming language)</span> Programming language family

Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in the late 1950s, it is the second-oldest high-level programming language still in common use, after Fortran. Lisp has changed since its early days, and many dialects have existed over its history. Today, the best-known general-purpose Lisp dialects are Common Lisp, Scheme, Racket, and Clojure.

<span class="mw-page-title-main">Lisp machine</span> Computer specialized in running Lisp

Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture. In a sense, they were the first commercial single-user workstations. Despite being modest in number Lisp machines commercially pioneered many now-commonplace technologies, including effective garbage collection, laser printing, windowing systems, computer mice, high-resolution bit-mapped raster graphics, computer graphic rendering, and networking innovations such as Chaosnet. Several firms built and sold Lisp machines in the 1980s: Symbolics, Lisp Machines Incorporated, Texas Instruments, and Xerox. The operating systems were written in Lisp Machine Lisp, Interlisp (Xerox), and later partly in Common Lisp.

Symbolics, Inc., was a privately held American computer manufacturer that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.

Maclisp is a programming language, a dialect of the language Lisp. It originated at the Massachusetts Institute of Technology's (MIT) Project MAC in the late 1960s and was based on Lisp 1.5. Richard Greenblatt was the main developer of the original codebase for the PDP-6; Jon L. White was responsible for its later maintenance and development. The name Maclisp began being used in the early 1970s to distinguish it from other forks of PDP-6 Lisp, notably BBN Lisp.

Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology (MIT) Lisp machines. Lisp Machine Lisp was also the Lisp dialect with the most influence on the design of Common Lisp.

<span class="mw-page-title-main">Genera (operating system)</span> Symbolics operating system based on Lisp

Genera is a commercial operating system and integrated development environment for Lisp machines created by Symbolics. It is essentially a fork of an earlier operating system originating on the Massachusetts Institute of Technology (MIT) AI Lab's Lisp machines which Symbolics had used in common with Lisp Machines, Inc. (LMI), and Texas Instruments (TI). Genera was also sold by Symbolics as Open Genera, which runs Genera on computers based on a Digital Equipment Corporation (DEC) Alpha processor using Tru64 UNIX. In 2021 a new version was released as Portable Genera which runs on Tru64 UNIX on Alpha, Linux on x86-64 and Arm64 Linux, and macOS on x86-64 and Arm64. It is released and licensed as proprietary software.

Incompatible Timesharing System (ITS) is a time-sharing operating system developed principally by the MIT Artificial Intelligence Laboratory, with help from Project MAC. The name is the jocular complement of the MIT Compatible Time-Sharing System (CTSS).

<span class="mw-page-title-main">Texinfo</span> Markup language for documentation

Texinfo is a typesetting syntax used for generating documentation in both on-line and printed form with a single source file. It is implemented by a computer program released as free software of the same name, created and made available by the GNU Project from the Free Software Foundation.

Le Lisp is a programming language, a dialect of the language Lisp.

X3J13 is the name of a technical committee which was part of the International Committee for Information Technology Standards. The X3J13 committee was formed in 1986 to draw up an American National Standards Institute (ANSI) Common Lisp standard based on the first edition of the book Common Lisp the Language, by Guy L. Steele Jr., which was formerly a de facto standard for the language. The primary output of X3J13 was an American National Standard for programming language Common Lisp (X3.226/1994), approved December 8, 1994. X3J13 later worked with International Organization for Standardization (ISO) working group SC22/WG16 on an internationally standardised dialect of Lisp named ISLISP.

Richard P. Gabriel is an American computer scientist known for his work in computing related to the programming language Lisp, and especially Common Lisp. His best known work was a 1990 essay "Lisp: Good News, Bad News, How to Win Big", which introduced the phrase Worse is Better, and his set of benchmarks for Lisp, termed Gabriel Benchmarks, published in 1985 as Performance and evaluation of Lisp systems. These became a standard way to benchmark Lisp implementations.

Lucid Incorporated was a Menlo Park, California-based computer software development company. Founded by Richard P. Gabriel in 1984, it went bankrupt in 1994.

EINE and ZWEI are two discontinued Emacs-like text editors developed by Daniel Weinreb and Mike McMahon for Lisp machines in the 1970s and 1980s.

<span class="mw-page-title-main">Multics Emacs</span> Multics version of Emacs text editor

Multics Emacs is an early implementation of the Emacs text editor. It was written in Maclisp by Bernard Greenberg at Honeywell's Cambridge Information Systems Lab in 1978, as a successor to the original 1976 TECO implementation of Emacs and a precursor of later GNU Emacs.

New Implementation of LISP (NIL) is a programming language, a dialect of the language Lisp, developed at the Massachusetts Institute of Technology (MIT) during the 1970s, and intended to be the successor to the language Maclisp. It is a 32-bit implementation, and was in part a response to Digital Equipment Corporation's (DEC) VAX computer. The project was headed by Jon L White, with a stated goal of maintaining compatibility with MacLisp while fixing many of its problems.

Daniel L. Weinreb was an American computer scientist and programmer, with significant work in the environment of the programming language Lisp.

Bernard S. Greenberg is a programmer and computer scientist, known for his work on Multics and the Lisp machine.

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 29.4, released June 2024.

<i>Lisp</i> (book) Book by Patrick Henry Winston and Berthold Klaus Paul Horn

LISP is a university textbook on the Lisp programming language, written by Patrick Henry Winston and Berthold Klaus Paul Horn. It was first published in 1981, and the third edition of the book was released in 1989. The book is intended to introduce the Lisp programming language and its applications.

References

  1. Steele & Gabriel (1993), p. 44.
  2. Steele & Gabriel (1993), p. 10.
  3. 1 2 Steele, Guy L. Jr.; Gabriel, Richard P. (1993), "The Evolution of Lisp" (PDF), Proceedings of the Second ACM SIGPLAN Conference on History of Programming Languages (HOPL-II), SIGPLAN Notices, 28 (3): 231–270, doi:10.1145/155360.155373 . Reprinted in Bergin, Thomas J. Jr.; Gibson, Richard G. Jr. (1996), "The evolution of Lisp", History of Programming languages—II, New York, NY, US: ACM, pp. 233–330, doi:10.1145/234286.1057818, ISBN   978-0-201-89502-5, S2CID   47047140 .
  4. Salus, Peter H. (2008), "Chapter 4. A Tale of Two Editors", The Daemon, the Gnu, and the Penguin, Reed Media Services, ISBN   978-0979034237
  5. Richard Stallman is credited by Salus and others as another co-creator, but as Daniel Weinreb wrote, "The original (TECO-based) Emacs was created and designed by Guy L. Steele Jr. and David Moon. After they had it working, and it had become established as the standard text editor at the AI lab, Stallman took over its maintenance." Moon himself responded "All true, so far as I can remember. But in all fairness I have to say that Stallman greatly improved Emacs after he "liberated" it from Guy and me." See Weinreb, Dan (11 November 2007), "Rebuttal to Stallman's Story About The Formation of Symbolics and LMI", Dan Weinreb's blog: software and innovation, archived from the original on 1 January 2009{{citation}}: CS1 maint: unfit URL (link).
  6. Steele & Gabriel (1993), p. 28: "While there was a great deal of theoretical work on interleaved and concurrent garbage collection during the 1970s, continuous garbage collection was not universally accepted until David Moon's invention of ephemeral garbage collection and its implementation on Lisp Machines."
  7. Cook, Kimberly L. (13 November 1990), "David Moon is departing", Symbolics Lisp User Group mailing list, SRI International
  8. "Acknowledgements", Dylan (TM) -- An object-oriented dynamic language, Apple Computer, 1992, archived from the original on 5 January 2017, retrieved 5 January 2017