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

Emacs Lisp

Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs. It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C, as is the Lisp interpreter. Emacs Lisp is also termed Elisp, although there is also an older, unrelated Lisp dialect with that name.

Lisp (programming language) Programming language family

Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today. Only Fortran is older, by one year. Lisp has changed since its early days, and many dialects have existed over its history. Today, the best-known general-purpose Lisp dialects are Racket, Common Lisp, Scheme, and Clojure.

Lisp machine

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, and 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 is a defunct computer manufacturer Symbolics, Inc., and a privately held company 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.

Texinfo Typesetting syntax used for generating documentation in both on-line and printed form

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.

Lisp Machines, Inc. was a company formed in 1979 by Richard Greenblatt of MIT's Artificial Intelligence Laboratory to build Lisp machines. It was based in Cambridge, Massachusetts.

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.

Multics Emacs Text editor for the Multics operating system

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 Family of text editors

Emacs or 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 its direct descendant, GNU Emacs, continues actively as of 2021.

The history of the programming language Scheme begins with the development of earlier members of the Lisp family of languages during the second half of the twentieth century. During the design and development period of Scheme, language designers Guy L. Steele and Gerald Jay Sussman released an influential series of Massachusetts Institute of Technology (MIT) AI Memos known as the Lambda Papers (1975–1980). This resulted in the growth of popularity in the language and the era of standardization from 1990 onward. Much of the history of Scheme has been documented by the developers themselves.

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, USA: 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.
  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, retrieved 5 January 2017[ dead link ]