Symbolics was a spinoff from the MIT AI Lab, one of two companies to be founded by AI Lab staffers for the purpose of manufacturing Lisp machines. (The other was Lisp Machines, Inc)
Symbolics's initial product, the LM-2, was a repackaged version of the MIT CADR Lisp machine design. The operating system and software development environment, which were written in Lisp from the microcode up, were initially based on MIT's Lisp Machine Lisp.
The software bundle was later renamed ZetaLisp, to distinguish the Symbolics product from other vendors who had also licensed the MIT software. Symbolics's Zmacs text editor, a variant of Emacs, was implemented in a Lisp-based text-processing package named "ZWEI", an acronym for "Zwei was Eine initially". "EINE" (acronym for "Eine Is Not Emacs")
The Lisp Machine system software was the proprietary intellectual property of MIT, and was licensed to Symbolics. Early on, they fully shared the source files with MIT, keeping them on a server at MIT, until an incident where Richard Stallman made changes that they disagreed with. Stallman had been excluded from the group of engineers and managers that founded Symbolics although all had worked at MIT together. (Stallman's latest unilateral changes to the software resulted in the system being broken to the point where it would not even compile.) Symbolics felt that they no longer had sufficient control over their own product. At that point, Symbolics began using their own copy of the software, located on their own company servers. From that base, Symbolics made extensive improvements to every part of the software, and continued to deliver almost all the source code to their customers (including MIT). However, MIT could no longer distribute the Symbolics version of the software to other licensees (including the competitors). This forking of the software was one of the factors that inadvertently triggered the free software movement, leading Stallman to author the GNU General Public License which would prevent this in future software projects through the legal mechanism of copyleft.
In 1983, Symbolics introduced the 3600 family of Lisp machines. Code-named the "L-machine" internally, the 3600 family was an innovative new design, inspired by the CADR architecture but sharing few of its details. The main processor had a 36 bit word (divided up as 4 or 8 bits of tags, and 32 bits of data or 28 bits of memory address). Memory words were 44 bits, the additional 8 bits being used for error-correcting code (ECC). The instruction set was that of a stack machine. The 3600 architecture provided 4,096 hardware registers, of which half were used as a cache for the top of the control stack; the rest were used by the microcode and time-critical routines of the operating system and Lisp run-time environment. Hardware support was provided for virtual memory, which was common for machines in its class, and for garbage collection, which was unique.
The original 3600 processor was a microprogrammed design like the CADR, and was built on several large circuit boards from standard TTL integrated circuits, both features being common for commercial computers in its class at the time. CPU clock speed varied depending on the particular instruction being executed, but was typically around 5 MHz. Many Lisp primitives could be executed in a single clock cycle. Disk I/O was handled by multitasking at the microcode level. A 68000 processor (known as the "Front-End Processor", or FEP) started the main computer up, and handled the slower peripherals during normal operation. An Ethernet interface was standard equipment, replacing the CHAOSnet interface of the LM-2.
The 3600 was roughly the size of a household refrigerator. This was partly due to the size of the processor - the cards were widely spaced to allow wire-wrap prototype cards to fit without interference - and partly due to the limitations of the disk drive technology in the early 1980s. At the 3600's introduction, the smallest disk drive that could support the ZetaLisp software was 14 inches across (the Fujitsu Eagle?)! The 3670 and 3675 were slightly shorter in height, but were essentially the same machine packed a little tighter. The advent of 8", and later 5-1/4", disk drives that could hold hundreds of megabytes led to the introduction of the 3640 and 3645, which were roughly the size of a two-drawer file cabinet.
Later versions of the 3600 architecture were implemented on custom integrated circuits, reducing the 5 cards of the original processor design to 2, at a large manufacturing cost savings but with performance slightly better than the old design. The 3650, first of the "G machines" (as they were known within the company), was housed in a cabinet derived from the 3640's. Denser memory and smaller disk drives enabled the introduction of the 3620, about the size of a modern full-size tower PC. The 3630 was a "fat 3620" with room for more memory and video interface cards. The 3610 was a stripped-down, low-priced variant of the 3620 for cost-sensitive customers.
The various models of the 3600 family were popular for artificial intelligence (AI) research and commercial applications throughout the 1980s. The AI commercialization boom of the 1980s led directly to Symbolics' success during the decade. Symbolics computers were widely believed to be the best platform available for developing AI software.
Also contributing to the 3600 series' success was a line of optional bit-mapped graphics color video interfaces, combined with extremely flexible animation software. Symbolics's Graphics Division, headquartered in Westwood, California, a stone's throw from the major Hollywood movie and TV studios, made its S-Render and S-Paint software into industry leaders in the animation business. A 3600 - with the standard black-and-white monitor - made a cameo appearance in the movie "Real Genius" (1985).
Symbolics 3600 series computers were also used as the first front end "controller" computers for the Connection Machine massively parallel computers manufactured by Thinking Machines Inc, another MIT spinoff based in Cambridge, Massachusetts. The Connection Machine ran a parallel variant of Lisp and, initially, was used primarily by the AI community, so the Symbolics Lisp machine was a particularly good fit as a front-end machine.
For a long time, the operating system didn't have a name, but was finally named "Genera" around 1984. The system included a number of advanced dialects of Lisp. Its heritage was MACLISP on the PDP-10, but it included more data types, and multiple-inheritence object-oriented programming features.
Initially called Lisp Machine Lisp, then ZetaLisp, it finally acquired the name "Symbolics Common Lisp" during the creation of Common Lisp in 1987. Common Lisp is a subset of the dialect available on the Lisp Machine.
In the late 1980s, the 3600 family was superseded by the Ivory family of single-chip Lisp machine processors. The Ivory had a 40-bit word (8 bits tag, 32 bits data/address), the increase in address space reflecting the growth of programs and data as semiconductor memory and disk space became cheaper. Unlike the 3600's microprogrammed architecture, the Ivory instruction set was fixed. Ivory processors were marketed in standalone Lisp machines (the XL400, XL1200, and XL1201), and on add-in cards for Sun Microsystems (UX400, UX1200) and Apple Macintosh (MacIvory I, II, III) computers.
The Ivory instruction set was later emulated in software for the DEC Alpha series of 64-bit microprocessors. The "Virtual Lisp Machine" emulator, combined with the operating system and software development environment from the XL machines, was sold as Open Genera.
(Open Genera is still available today from a successor company, Symbolics Technology, Inc.: http://www.symbolics.com/ )
Unfortunately, as quickly as the commercial AI boom of the mid 1980s had propelled Symbolics to success, the "AI Winter" of the late '80s and early 1990s caused sales to plummet. This fact, combined with some ill-advised real estate deals by company management during the boom years, drove Symbolics into bankruptcy. Rapid evolution in mass-market microprocessor technology (the "PC revolution"), advances in Lisp compiler technology, and the economics of manufacturing custom microprocessors nullified the commercial advantages of purpose-built Lisp machines. By 1995, the Lisp machine era had ended, and with it Symbolics's hopes for success.
Genera also featured the most extensive networking interoperability software ever seen. A local area network system called CHAOSnet had been invented for the Lisp Machine (predating the commercial availability of Ethernet). The Symbolics system supported CHAOSNET, but also had one of the first TCP/IP implementations. It also supported DECNET and IBM's SNA network protocols. Genera would, using hints from its distributed "namespace" database (somewhat similar to DNS, but more comprehensive), automatically select the best protocol combination to use when connecting to network service. An application program (or a user command) would only specify the name of the host and the desired service. For example, a host name and a request for "Terminal Connection" might yield a connection over TCP/IP using the TELNET protocol (although there were many other possibilities). Likewise, requesting a file operation (such as a Copy File command) might pick NFS, FTP, NFILE (the Symbolics network file access protocol), or one of several others, and it might execute the request over TCP/IP, CHAOSNET, or whatever other network was most suitable.
Symbolics's research and development staff (first at MIT, and then later at the company) produced a number of major innovations in software technology.
History
The 3600 Series
Ivory and Open Genera
Endgame
Networking
Contributions to Computer Science