Bernard Greenberg

Last updated

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

Contents

Projects

In 1978, Greenberg implemented Multics Emacs [1] [2] using Multics Maclisp. The success of this effort influenced the choice of Lisp as the basis for later versions of Emacs. [3] [4]

Greenberg was involved in the design of the "New Error System" at Symbolics, which in turn influenced the condition system adopted by ANSI Common Lisp. [5]

While working at Symbolics, Greenberg implemented the Lisp machine File System (LMFS). [6]

In 1987, Greenberg and Sonya Keene authored RFC 1037. NFILE - a file access protocol.

In 1994, nycsubway.org released Greenberg's NXSYS – a design environment for, and simulator of, the control signals used by the New York City Transit Authority’s signaling and control networks. [7] NXSYS provides an interactive 3D view from the perspective of a New York City Subway motorman. The source code for the latest version, v2.5.1, was published to github on 4-Feb-2022. This version is no longer buildable for Microsoft Windows but the older v2.1 Windows binaries and new v2.5.1 macOS binaries are available here. According to the online documentation, the NXSYS “relay language” is a subset of Lisp that describes subway track systems and control signal pathways; the subway simulation is actually run by the Lisp program, compiled by NXSYS, from the relay language source. [8]

Together with Thomas Milo, Greenberg is the author of Basis Technology's Arabic editor. It handles, among others, an improved version of the DMG (Deutsche Morgenländische Gesellschaft) transcription method, which supports reversible transcription and semi-reversible transliteration for Arabic text.

Related Research Articles

<span class="mw-page-title-main">Emacs Lisp</span> Dialect of Lisp in the Emacs text editor

Emacs Lisp is a Lisp dialect made for 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.

<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">Multics</span> Time-sharing operating system

Multics is an influential early time-sharing operating system based on the concept of a single-level memory. Nathan Gregory writes that Multics "has influenced all modern operating systems since, from microcomputers to mainframes."

<span class="mw-page-title-main">XEmacs</span>

XEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s. Any user can download, use, and modify XEmacs as free software available under the GNU General Public License version 2 or any later version.

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.

<span class="mw-page-title-main">GE 645</span> 1960s Mainframe Computer

The GE 645 mainframe computer was a development of the GE 635 for use in the Multics project. This was the first computer that implemented a configurable hardware protected memory system. It was designed to satisfy the requirements of Project MAC to develop a platform that would host their proposed next generation time-sharing operating system (Multics) and to meet the requirements of a theorized computer utility. The system was the first truly symmetric multiprocessing machine to use virtual memory, it was also among the first machines to implement what is now known as a translation lookaside buffer, the foundational patent for which was granted to John Couleur and Edward Glaser.

<span class="mw-page-title-main">General Comprehensive Operating System</span> Operating system from General Electric

General Comprehensive Operating System is a family of operating systems oriented toward the 36-bit GE-600 series and Honeywell 6000 series mainframe computers.

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).

Macsyma is one of the oldest general-purpose computer algebra systems still in wide use. It was originally developed from 1968 to 1982 at MIT's Project MAC.

In aspect and functional programming, advice describes a class of functions which modify other functions when the latter are run; it is a certain function, method or procedure that is to be applied at a given join point of a program.

<span class="mw-page-title-main">Franz Lisp</span> Lisp programming language system

In computer programming, Franz Lisp is a discontinued Lisp programming language system written at the University of California, Berkeley by Professor Richard Fateman and several students, based largely on Maclisp and distributed with the Berkeley Software Distribution (BSD) for the Digital Equipment Corporation (DEC) VAX minicomputer. Piggybacking on the popularity of the BSD package, Franz Lisp was probably the most widely distributed and used Lisp system of 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.

<span class="mw-page-title-main">MIT/GNU Scheme</span>

MIT/GNU Scheme is a programming language, a dialect and implementation of the language Scheme, which is a dialect of Lisp. It can produce native binary files for the x86 processor architecture. It supports the R7RS-small standard. It is free and open-source software released under v2 or later of the GNU General Public License (GPL). It was first released by Guy Lewis Steele Jr. and Gerald Jay Sussman at the Massachusetts Institute of Technology in 1986, as free software even before the Free Software Foundation, GNU, and the GPL existed. It is now part of the GNU Project.

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

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

GNU Emacs is a text editor and suite of free software tools. Its development began in 1984 by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement.

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.

<span class="mw-page-title-main">Scripting language</span> Programming language designed for scripting

In computing, a script is a relatively short and simple set of instructions that typically automate an otherwise manual process. The act of writing a script is called scripting. Scripting language or script language describes a programming language that is used for scripting.

Tom Van Vleck is an American computer software engineer.

<span class="mw-page-title-main">David A. Moon</span> American computer scientist

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".

<span class="mw-page-title-main">Technology Square (Cambridge, Massachusetts)</span> Office building complex in Cambridge, Mass.

Technology Square, nicknamed Tech Square, is a commercial office building complex in the Port neighborhood of Cambridge, Massachusetts, immediately adjacent to the campus of the Massachusetts Institute of Technology (MIT).

References

Citations

  1. Bernard S. Greenberg. Multics Emacs: The History, Design and Implementation, http://www.multicians.org/mepap.html
  2. Richard Stallman, 1981. EMACS: The Extensible, Customizable Display Editor, https://www.gnu.org/software/emacs/emacs-paper.html
  3. Multics Lisp (Multics MacLisp) (SoftwarePreservation.org)
  4. Jamie Zawinski's Emacs Timeline
  5. Condition System, Revision #18 by Kent Pitman (12-Mar-88)
  6. Blog entry (11-Nov-2007) [usurped] by Daniel Weinreb
  7. Somers, James (November 13, 2015), "Why New York Subway Lines Are Missing Countdown Clocks", The Atlantic
  8. NYCSubway.org — Subway Signals: A Complete Guide: Bernard S. Greenberg. NXSYS, Signalling and Interlocking Simulator, http://www.nycsubway.org/wiki/NXSYS,_Signalling_and_Interlocking_Simulator#Download (Retrieved 22-Feb-2013)

Bibliography