Bernard Greenberg

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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


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



  1. ^ Bernard S. Greenberg. Multics Emacs: The History, Design and Implementation,
  2. ^ Richard Stallman, 1981. EMACS: The Extensible, Customizable Display Editor ,
  3. ^ Multics Lisp (Multics MacLisp) (
  4. ^ Jamie Zawinski's Emacs Timeline
  5. ^ Condition System, Revision #18 by Kent Pitman (12-Mar-88)
  6. ^ Blog entry (11-Nov-2007) Archived October 5, 2009, at the Wayback Machine by Daniel Weinreb
  7. ^ Somers, James (November 13, 2015), "Why New York Subway Lines Are Missing Countdown Clocks", The Atlantic
  8. ^ — Subway Signals: A Complete Guide: Bernard S. Greenberg. NXSYS, Signalling and Interlocking Simulator,,_Signalling_and_Interlocking_Simulator#Download (Retrieved 22-Feb-2013)