The Lisp Machine: Noble Experiment Or Fabulous Failure?
Total Page:16
File Type:pdf, Size:1020Kb
THE LISP MACHINE: NOBLE EXPERIMENT OR FABULOUS FAILURE? P. T. Withington Symbolics, Inc. The “Lisp Machine”, a custom computer oriented programming, integrated pro- work-station designed specifically for the gramming environments, computer music, execution of Lisp, has been an important integrated-circuit design, and of course part of the Lisp tradition for 20 years. Artificial Intelligence (AI). Recently, the Lisp Machine has been depre- cated in view of the demise of many Lisp But, Lisp’s purity did not come without a Machine vendors, the swing towards stan- price. The choice by many languages to dardization, and the advances that reduced expose implementational limitations is often instruction set (RISC) architectures have a choice of efficiency. The speed of the brought. But rumors of its death are greatly normal case is optimized at the risk of the exaggerated. abnormal case going undetected. Lisp, on the other hand, guarantees the unusual as Unlike most commercial computer lan- well as the usual will be dealt with uni- guages, Lisp has always been a language of formly. It must always be on its guard: ideals. Its roots are in the theory of lambda- every operation must be checked for excep- calculus. Whereas other languages burden tions. As a consequence, Lisp on conven- the programmer with implementational gaps tional machines has historically been pon- in their abstractions, Lisp has always had the derous to work with. aim of supporting complete abstractions.1 This idealistic bent of Lisp has led to it often In the early 1970’s several groups of being the language of choice for computer- researchers utilized two novel hardware oriented research in universities and indus- technologies to improve the efficiency of try. Removing the more mundane difficul- Lisp: tagged architectures and micro- ties of computer programming allowed programming. Tagged architectures store researchers to experiment with super- type information with each data word, complex (at the time) technologies such as tracking dynamically changing types (a windowing, presentation managers, object- prominent feature of the Lisp language) with essentially no overhead. Micro-program- ming allows a simpler compiler by imple- 1For example, in ‘C’ the answer to (1-2/3)*3 is either menting complex instructions that more 3 (!) or perhaps 0.99999994, in Lisp it is 1; in ‘C’ the closely match the high-level semantics of answer to 2147483647+2147483647 is -2 (!), in Lisp the Lisp language. Experimenting with it is 4294967294. Because ‘C’ is transparent to imple- these techniques eventually led to commer- mentation detail, it may be that some ‘C’ implementa- cial introductions of “Lisp Machines”. tions will give the right answer (or a different wrong answer) for these particular examples; nonetheless, the programmer’s task is often more difficult because of Other novel features of these machines this transparency. Lisp also has finite limits in its include: implementation, but they are usually large enough to not be of practical importance. 2THE LISP MACHINE • The “stack cache”— Execution of Lisp was eventually taken public. Xerox and is stack-oriented. By caching the top Texas Instruments (TI) also entered the elements of the stack, efficiency market. As late as 1986, Integrated Infer- approaching that of register-based ence Machines (IIM) entered the Lisp execution is achieved without complex Machine market. Computer science register allocation algorithms in the researchers, eager to speed their experi- compiler. The stack cache also supports ments, snapped up the machines. Com- fast function call and return, as if the panies bought them for their R&D labs in function arguments and values are hopes of solving a wide array of problems passed in registers. from analyzing stock trades, to interpreting seismological data, to scheduling airlines, to • Garbage-collection support— Lisp’s evaluating loan applications. At the time, storage management system is often Lisp Machines were the only computer implemented as a “garbage collector”, work-station of significant power and the which automatically reclaims unused only economic solution to efficiently devel- objects. The Lisp Machine virtual oping and running Lisp programs. memory hardware, in concert with the type tags, tracks object-reference loads The Lisp Machines produced by these com- and stores so the software can determine panies went through several evolutionary quickly which objects are in use and generations: starting at the high price of efficiently reclaim those that are not. $150,000 and implemented in TTL in a box rivalling the VAX/780 in size and power • Instruction emulation— When the Lisp consumption2 and eventually being deliv- Machine hardware encounters an ered as 1- or 2-chip VLSI implementations exceptional situation (for example, an on $10,000 add-in boards for the Apple integer arithmetic operation that exceeds MacIntosh. With this latest generation of the hardware imposed implementation Lisp Machines, Symbolics was satisfied that limit or an operation on a software- its instruction set had evolved sufficiently to defined type) the hardware traps out to a commit it to mask-programmed ROM. software “emulator” subroutine. This However, the small size of the market for subroutine implements the full these machines has meant they are unable to semantics of the operation, as specified take advantage of the cutting-edge hardware by Lisp, as though it is being handled by technology of commodity machines. They the machine instruction. always lag by a few generations, where design and production costs are more Early Lisp Machines implemented their reasonable. micro-programmed architectures with a writable control store, which meant the Initially, the small companies received great instruction set, and to a certain extent other exposure in the popular press. Because they architectural features of the machine, could represented a “pure play”3 in AI, they were be changed by simply writing, compiling, the darlings of Wall Street. But today, only and loading new micro-code. This flexi- bility led to further experimentation and evolution of the hardware support for Lisp. 2It is amusing to realize that a machine of this size and price was ever considered a work-station. In the late 70’s and early 80’s both AI and 3 the Lisp Machine enjoyed a brief but heady An investment term meaning the company is in a vogue. Two small companies, Symbolics single market and can be expected to track that mar- ket’s fortunes more closely than a diversified company and Lisp Machines, Inc. (LMI), were might. founded to build Lisp Machines; Symbolics 11 JULY 1991 DRAFT P. T. WITHINGTON 3 Symbolics remains in the market trying to Machines attracted top-notch talent and sell Lisp Machine work-stations, at about funded innovative research in many areas of 1/6 the size of its heyday. The popular computer science, both hardware and opinion is that AI technology was oversold software. and lost its credibility; while at the same time, Unix was rising to meet the need for However, the Lisp language did suffer in the standards and RISC computers, with their commercial market from its association with simple instructions that can be executed at what many customers have come to regard fantastic rates, obviated the need for a cus- as the “snake oil” of AI. Because its only tom machine to implement Lisp. The press perceived redeeming value was to run Lisp, was as quick to damn the Lisp Machine the Lisp Machine suffered doubly so. companies as it had been to praise them, Despite the grim appearance of the future of when they did not meet over-inflated the Lisp Machine, there remain small groups expectations. of zealots who will not part with their Lisp machines without a fight. They battle A more charitable interpretation of the same “MIS” departments and often end up closet- facts might be that the Lisp Machine market ing their Lisp Machines, so they won’t be (by its esoteric nature) is small, and given pestered about their non-approved normal start-up statistics, is doing surpris- equipment. ingly well. The Lisp Machine was a pioneer in the early days of work-station technology. It has been argued that while Lisp may rep- It had the now standard high-resolution bit- resent the ideal solution to a problem, the mapped display, mouse pointing device, ideal solution is not always the economic large virtual memory and local disk; it even solution, even more so when it requires a had 16-bit digital stereo sound! Some of custom machine to run it. Today, there is a these innovations contributed to the evolu- wide choice of general-purpose computer tion of Lisp and its associated technologies. work-stations of similar power to the Lisp Unfortunately, the similarity of these fea- Machine, most with competitive Lisp tures to those eventually found on general- implementations. Many of the software purpose work-stations led to confusion over technologies that were considered research what the market for the Lisp Machine was. areas when the Lisp Machine was The exotic features of the Lisp Machine that introduced have been codified to the point made it ideal for running Lisp and the that they are amenable to implementations dream-machine of many computer using commodity software and hardware. researchers had little or no value in the Others will follow. This trend has led many general-purpose market. The success it to believe there is no longer a need for the enjoyed as a Lisp engineering work-station power of Lisp and even less a need for the faltered at attempts to market it as a Lisp Machine. What is often not computer-aided software engineering considered, however, is whether these (CASE) work-station. technologies would be where they are today (or would have been explored at all) in the At the very least, one can say that the Lisp absence of the Lisp Machine.