Symbolics
|
Symbolics is a privately held company that acquired the assets of the now-defunct computer manufacturer Symbolics, Inc. and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.
Contents |
Symbolics, Inc. History
Symbolics, Inc. ("Symbolics" hereafter) was a computer manufacturer headquartered in Cambridge, Massachusetts, with manufacturing facilities in Chatsworth, California — a suburb of Los Angeles. Its first CEO and chairman was Russell Notfsker. Symbolics designed and manufactured a line of Lisp machines, single-user computers optimized to run the Lisp programming language. Symbolics also made significant advances in software technology, and offered the premier software development environment of the 1980s and 1990s, now sold commercially as Open Genera for the DEC, now HP, Alpha. The Lisp Machine was the first commercially available "workstation" (although that word had not yet been coined).
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" being an acronym for "Eine Is Not Emacs" (both recursive acronyms).
The Lisp Machine system software was the property of MIT, and was licensed to Symbolics. Until 1981, they shared all the source code with MIT and kept it on an MIT server. The reason for the change in policy, according to a Symbolics employee, was due to Richard Stallman making changes that they disagreed with, and at one point leaving the software in a state where it wouldn't compile. Richard Stallman's account has been published and is available at http://www.gnu.org/gnu/rms-lisp.html, telling instead a story based on Symbolics wanting to keep their software proprietary to them.
Symbolics alleged it felt that they no longer had sufficient control over their product. At that point, Symbolics began using their own copy of the software, located on their company servers — while Stallman alleges it did that to prevent its Lisp improvements to flow to Lisp Machines, Inc. 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, the new policy prohibited MIT from distributing the Symbolics version of the software to others. With the end of open collaboration came the end of the MIT hacker community. As a reaction to this, Stallman initiated the GNU project to make a new community. Copyleft, and the GNU General Public License would ensure that GNU software couldn't be taken away from its developers. In this way Symbolics played a key (although negative) role in instigating the free software movement.
The 3600 Series
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 (356 mm) across (most 3600s shipped with 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 inch (203 mm), and later 5 1/4 inch (133 mm), 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 bit-mapped graphics color video interfaces, combined with extremely powerful 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.
As well, Symbolics developed the first workstations capable of processing HDTV quality video, which enjoyed a popular following in Japan. A 3600 — with the standard black-and-white monitor — made a cameo appearance in the movie Real Genius (http://imdb.com/title/tt0089886/) (1985). Symbolics' Graphics Division was sold to Nichimen Trading Company in the early 90s, and the S-Graphics software ported to Franz Allegro Common Lisp on SGI and PC computers running Windows NT. Today it is sold as Mirai by Izware LLC., and continues to be used in major motion pictures (most famously in New Line Cinema's Lord of the Rings), video games and military simulations.
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-inheritance 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.
Ivory and Open Genera
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, is sold as Open Genera.
Endgame
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, combined with major managerial shake-ups and a lack of focus in the company 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 severely diminished the commercial advantages of purpose-built Lisp machines. By 1995, the Lisp machine era had ended, and with it Symbolics's hopes for success.
Networking
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. A Dialnet protocol used phone lines and modems. Genera would, using hints from its distributed "namespace" database (somewhat similar to DNS, but more comprehensive, like parts of Xerox's Grapevine), 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.
Contributions to Computer Science
Symbolics's research and development staff (first at MIT, and then later at the company) produced a number of major innovations in software technology.
- Flavors, one of the earliest object-oriented extensions to Lisp, was a message-passing object system patterned after Smalltalk, but with multiple inheritance and a number of other enhancements. The Symbolics operating system made heavy use of Flavors objects. The experience gained with Flavors led to the design of New Flavors, a short-lived successor based on generic functions rather than message passing. Many of the concepts in New Flavors formed the basis of the CLOS (Common Lisp Object System) standard.
- Advances in garbage collection techniques by Henry Baker, David Moon and others, particularly the first commercial use of generational scavenging, allowed Symbolics computers to run large Lisp programs for months at a time.
- Symbolics staffers Dan Weinreb, David Moon, Neal Feinberg, Kent Pitman, Scott McKay, Sonya Keene and others made significant contributions to the emerging Common Lisp language standard from the mid-1980s through the release of the ANSI Common Lisp standard in 1994.
- Symbolics introduced one of the first commercial object-oriented databases, Statice, in 1989. The developers of Statice later went on to found Object Design, Inc.
- In response to a request from "a large telecommunications company", Symbolics developed Minima, a real-time Lisp run-time environment and operating system for the Ivory processor.
- The Graphics Division's Craig Reynolds devised an algorithm that simulated the flocking behavior of birds in flight. "Boids" made their first appearance at SIGGRAPH in the 1987 animated short "Stanley and Stella: Breaking The Ice", produced by the Graphics Division. Much of "Stanley and Stella" was later incorporated into a music video, which can still be seen occasionally on MTV. Reynolds went on to win the Scientific And Engineering Award from The Academy of Motion Picture Arts and Sciences in 1998.
- Symbolics Document Examiner hypertext system originally used for the Symbolics manuals. It was based on Zmacs following a design by Janet Walker.
- Symbolics (http://www.symbolics.com/) was the first domain ever registered on the Internet. Symbolic, Inc. registered symbolics.com on March 15, 1985.
External Links
- Symbolics (http://www.symbolics.com/)
- Ralf Möller's Symbolics Lisp Machine Museum (http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/symbolics.html)