Lisp machine
Encyclopedia
Lisp machines were general-purpose computers designed (usually through hardware support) to efficiently run Lisp
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...

 as their main software language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

. In a sense, they were the first commercial single-user workstations. Despite being modest in number (perhaps 7,000 units total as of 1988), Lisp machines commercially pioneered many now-commonplace technologies – including effective garbage collection
Garbage collection (computer science)
In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...

, laser printing, windowing systems, computer mice
Mouse (computing)
In computing, a mouse is a pointing device that functions by detecting two-dimensional motion relative to its supporting surface. Physically, a mouse consists of an object held under one of the user's hands, with one or more buttons...

, high-resolution bit-mapped
Raster graphics
In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...

 graphics, computer graphic rendering, and networking innovations like CHAOSNet
CHAOSnet
Chaosnet was first developed by Thomas Knight and Jack Holloway at MIT's AI Lab in 1975 and thereafter. It refers to two separate, but closely related, technologies...

. Several companies were building and selling Lisp Machines in the 1980s: Symbolics
Symbolics
Symbolics refers to two companies: now-defunct computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.The symbolics.com domain was...

 (3600, 3640, XL1200, MacIvory and other models), Lisp Machines Incorporated
Lisp Machines
Lisp Machines, Inc. was a company formed in 1979 by Richard Greenblatt of MIT's Artificial Intelligence Laboratory to build Lisp machines. It was based in Cambridge, Massachusetts....

 (LMI Lambda), Texas Instruments
Texas Instruments
Texas Instruments Inc. , widely known as TI, is an American company based in Dallas, Texas, United States, which develops and commercializes semiconductor and computer technology...

 (Explorer
TI Explorer
The Texas Instruments Explorer is a family of Lisp Machine computers. These computers were sold by Texas Instruments in the 1980s. The Explorer is based on a design from Lisp Machines Incorporated, which is based on the MIT Lisp Machine....

 and MicroExplorer) and Xerox
Xerox
Xerox Corporation is an American multinational document management corporation that produced and sells a range of color and black-and-white printers, multifunction systems, photo copiers, digital production printing presses, and related consulting services and supplies...

 (InterLisp-D
Interlisp
Interlisp was a programming environment built around a version of the Lisp programming language. Interlisp development began in 1967 at Bolt, Beranek and Newman in Cambridge, Massachusetts as BBN LISP, which ran on PDP-10 machines running the TENEX operating system...

 workstations). The operating systems were written in Lisp Machine Lisp
Lisp Machine Lisp
Lisp Machine Lisp is a dialect of the Lisp programming language, a direct descendant of Maclisp, and was initially developed in the mid to late 1970s as the systems programming language for the MIT Lisp machines. Lisp Machine Lisp was also the Lisp dialect with the most influence on the design of...

, InterLisp
Interlisp
Interlisp was a programming environment built around a version of the Lisp programming language. Interlisp development began in 1967 at Bolt, Beranek and Newman in Cambridge, Massachusetts as BBN LISP, which ran on PDP-10 machines running the TENEX operating system...

 (Xerox) and later partly in Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

.

Historical context

Artificial intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...

 (AI) computer programs of the 1960s and 1970s intrinsically required what was then considered a huge amount of computer power, as measured in processor time and memory space. The power requirements of AI research were exacerbated by the Lisp symbolic programming language, when commercial hardware was designed and optimized for assembly
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

- and Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

-like programming languages. At first, the cost of such computer hardware meant that it had to be shared among many users. But as integrated circuit
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...

 technology shrank the size and cost of computers in the 1960s and early 1970s, and the memory requirements of AI programs started to exceed the address space
Address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.- Overview :...

 of the most common research computer, the DEC
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...

 PDP-10
PDP-10
The PDP-10 was a mainframe computer family manufactured by Digital Equipment Corporation from the late 1960s on; the name stands for "Programmed Data Processor model 10". The first model was delivered in 1966...

, researchers considered a new approach: a computer designed specifically to develop and run large artificial intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...

 programs, and tailored to the semantics of the Lisp
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

. To keep the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 (relatively) simple, these machines would not be shared, but would be dedicated to a single user.

Initial development



In 1973, Richard Greenblatt
Richard Greenblatt (programmer)
Richard D. Greenblatt is an American computer programmer. Along with Bill Gosper, he may be considered to have founded the hacker community, and holds a place of distinction in the Lisp and the MIT AI Lab communities.-Childhood:...

 and Thomas Knight, programmers at MIT's
Massachusetts Institute of Technology
The Massachusetts Institute of Technology is a private research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing a total of 32 academic departments, with a strong emphasis on scientific and technological education and research.Founded in 1861 in...

 AI Lab, started what would become the MIT Lisp Machine Project when they first began building a computer hardwired to run certain basic Lisp operations, rather than run them in software, in a 24-bit tagged architecture
Tagged architecture
In computer science, a tagged architecture is a particular type of computer architecture where every word of memory constitutes a tagged union, being divided into a number of bits of data, and a tag section that describes the type of the data: how it is to be interpreted, and, if it is a reference,...

. The machine also did incremental (or "Arena") garbage collecting
Garbage collection (computer science)
In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...

. More specifically, since Lisp variables are typed at runtime rather than compile time, a simple addition of two variables could take five times as long on conventional hardware, due to test and branch instructions. Lisp Machines ran the tests in parallel with the more conventional single instruction additions. If the simultaneous tests failed, then the result was discarded and recomputed; this meant in many cases a speed increase by several factors. This simultaneous checking approach was used as well in testing the bounds of arrays when referenced, and other memory management necessities (not merely garbage collection or arrays).

Type checking was further improved and automated when the conventional byte word of 32-bits was lengthened to 36-bits for Symbolics
Symbolics
Symbolics refers to two companies: now-defunct computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.The symbolics.com domain was...

 3600-model Lisp machines and eventually to 40-bits or more (usually, the excess bits not accounted for by the following were used for error-correcting codes). The first group of extra bits were used to hold type data, making the machine a tagged architecture
Tagged architecture
In computer science, a tagged architecture is a particular type of computer architecture where every word of memory constitutes a tagged union, being divided into a number of bits of data, and a tag section that describes the type of the data: how it is to be interpreted, and, if it is a reference,...

, and the remaining bits were used to implement CDR coding
CDR coding
In computer science CDR coding is a compressed data representation for Lisp linked lists. It was developed and patented by the MIT Artificial Intelligence Laboratory, and implemented in computer hardware in a number of Lisp machines derived from the MIT CADR....

 (wherein the usual linked list elements are compressed to occupy roughly half the space), aiding garbage collection by reportedly an order of magnitude. A further improvement was two microcode instructions which specifically supported Lisp functions
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....

, reducing the cost of calling a function to (in some Symbolics implementations) as little as 20 clock cycles.

The first machine was called the CONS machine (named after the list construction operator cons
Cons
In computer programming, cons is a fundamental function in most dialects of the Lisp programming language. cons constructs memory objects which hold two values or pointers to values. These objects are referred to as cells, conses, non-atomic s-expressions , or pairs...

in Lisp). Often it was affectionately referred to as the "Knight machine", perhaps since Knight wrote his master's thesis on the subject; it was extremely well received. It was subsequently improved into a version called CADR (a pun; in Lisp, the cadr
Car and cdr
car and cdr are primitive operations on cons cells introduced in the Lisp programming language. A cons cell is composed of two pointers; the car operation extracts the first pointer, and the cdr operation extracts the second.Thus, the expression evaluates to x, and evaluates to...

function, which returns the second element of a list, is pronounced "kay'-der" or "kah'-der", as some pronounce the word "cadre") which was based on essentially the same architecture. About 25 of what were essentially prototype CADRs were sold within and without MIT for ~$50,000; it quickly became the favorite machine for hacking- many of the most favored software tools were quickly ported to it (e.g. Emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...

 was ported from ITS
Incompatible Timesharing System
ITS, the Incompatible Timesharing System , was an early, revolutionary, and influential time-sharing operating system from MIT; it was developed principally by the Artificial Intelligence Laboratory at MIT, with some help from Project MAC.In addition to being technically influential ITS, the...

 in 1975). It was so well received at an AI conference held at MIT in 1978 that DARPA
Defense Advanced Research Projects Agency
The Defense Advanced Research Projects Agency is an agency of the United States Department of Defense responsible for the development of new technology for use by the military...

 began funding its development.

Commercialization of the MIT Lisp Machine technology

In 1979, Russell Noftsker
Russell Noftsker
Russell Noftsker is an American entrepreneur who notably founded Symbolics, and was its first chairman and president.-Biography:Steven Levy described Noftsker as "A compactly built blond with pursed features and blue eyes"...

, convinced that Lisp machines had a bright commercial future due to the strength of the Lisp language and the enabling factor of hardware acceleration, made Greenblatt a proposal: they would take the technology commercial. In a counter-intuitive move for an AI Lab hacker, Greenblatt acquiesced, hoping perhaps that he could recreate the informal and productive atmosphere of the Lab in a real business, a bit like Apple Computer
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...

. These ideas and goals were considerably different from the ones Noftsker held. The two negotiated at length, but neither would compromise. As the proposed company could only be a success with the full and undivided assistance of the AI Lab hackers as a group, Noftsker and Greenblatt decided that the fate of the enterprise was up to them, and so the choice should be left to the hackers.

The ensuing discussions of the choice divided the lab into two factions. In February, 1979, matters came to a head. The hackers sided with Noftsker, believing that a commercial venture fund-backed company had a better chance of surviving and commercializing Lisp Machines than Greenblatt's proposed self-sustaining start-up. Greenblatt had lost the battle.

It was at this juncture that Symbolics
Symbolics
Symbolics refers to two companies: now-defunct computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.The symbolics.com domain was...

, Noftsker's enterprise, slowly came together. While Noftsker was paying his staff a salary, he did not actually have a building or any equipment for the hackers to work on. He bargained with Patrick Winston
Patrick Winston
Patrick Henry Winston is an American computer scientist, and is a professor at the Massachusetts Institute of Technology. Winston was director of the MIT Artificial Intelligence Laboratory from 1972 to 1997, succeeding Marvin Minsky, who left to found the MIT Media Lab and succeeded by Rodney Brooks...

 that, in exchange for allowing Symbolics’ staff to keep working out of MIT, Symbolics would let MIT use internally and freely all the software Symbolics developed. A consultant from CDC
Control Data Corporation
Control Data Corporation was a supercomputer firm. For most of the 1960s, it built the fastest computers in the world by far, only losing that crown in the 1970s after Seymour Cray left the company to found Cray Research, Inc....

, who was trying to put together a natural language computer application with a group of West-coast programmers, came to Greenblatt, seeking a Lisp machine for his group to work with, about eight months after the disastrous conference with Noftsker. Greenblatt had decided to start his own rival Lisp machine company, but he had done nothing. The consultant, Alexander Jacobson, decided that the only way Greenblatt was going to actually start his company and build the Lisp machines that Jacobson desperately needed was if Jacobson pushed and otherwise helped Greenblatt launch his company. Jacobson pulled together business plans, a board, a partner for Greenblatt (one F. Stephen Wyle). The newfound company was named LISP Machine, Inc. (LMI), and was funded by CDC orders, via Jacobson.
Around this time Symbolics (Noftsker's company) began operations – it had been hindered by Noftsker's promise to give Greenblatt a year’s head start
Head start (positioning)
In positioning, a head start is a start in advance of the starting position of others in competition, or simply toward the finish line or desired outcome...

, and by severe delays in procuring venture capital. Symbolics still had the major advantage that while 3 or 4 of the AI Lab hackers had gone to work for Greenblatt, a solid 14 other hackers had signed onto Symbolics. There were two AI Lab people who did not get hired by either: Richard Stallman
Richard Stallman
Richard Matthew Stallman , often shortened to rms,"'Richard Stallman' is just my mundane name; you can call me 'rms'"|last= Stallman|first= Richard|date= N.D.|work=Richard Stallman's homepage...

 and Marvin Minsky
Marvin Minsky
Marvin Lee Minsky is an American cognitive scientist in the field of artificial intelligence , co-founder of Massachusetts Institute of Technology's AI laboratory, and author of several texts on AI and philosophy.-Biography:...

. Stallman, however, blamed Symbolics for the decline of the hacker community that had centered around the AI lab. For two years, from 1982 to the end of 1983, Stallman worked by himself to clone the output of the Symbolics programmers, with the aim of preventing them from gaining a monopoly on the lab's computers.

Regardless, after a series of internal battles, Symbolics did get off the ground in 1980/1981, selling the CADR as the LM-2, while Lisp Machines, Inc. sold it as the LMI-CADR. Symbolics did not intend to produce many LM-2s, since the 3600 family of Lisp machines was supposed to ship quickly, but the 3600s were repeatedly delayed, and Symbolics ended up producing ~100 LM-2s, each of which sold for $70,000. Both companies developed second-generation products based on the CADR: the Symbolics 3600
Symbolics
Symbolics refers to two companies: now-defunct computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.The symbolics.com domain was...

 and the LMI-LAMBDA (of which LMI managed to sell ~200). The 3600, which shipped a year late, expanded on the CADR by widening the machine word to 36-bits, expanding the address space to 28-bits, and adding hardware to accelerate certain common functions that were implemented in microcode on the CADR. The LMI-LAMBDA, which came out a year after the 3600, in 1983, was compatible with the CADR (it could run CADR microcode), but there were hardware differences. Texas Instruments
Texas Instruments
Texas Instruments Inc. , widely known as TI, is an American company based in Dallas, Texas, United States, which develops and commercializes semiconductor and computer technology...

 (TI) joined the fray when it licensed the LMI-LAMBDA design and produced its own variant, the TI Explorer
TI Explorer
The Texas Instruments Explorer is a family of Lisp Machine computers. These computers were sold by Texas Instruments in the 1980s. The Explorer is based on a design from Lisp Machines Incorporated, which is based on the MIT Lisp Machine....

. Some of the LMI-LAMBDAs and the TI Explorer were dual systems with both a Lisp and a UNIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 processor. TI also developed a 32bit microprocessor version of its Lisp CPU for the TI Explorer. This Lisp chip also was used for the MicroExplorer – a NuBus-Board for the Apple Macintosh II.

Symbolics continued to develop the 3600 family and its operating system, Genera, and produced the Ivory, a VLSI
Very-large-scale integration
Very-large-scale integration is the process of creating integrated circuits by combining thousands of transistors into a single chip. VLSI began in the 1970s when complex semiconductor and communication technologies were being developed. The microprocessor is a VLSI device.The first semiconductor...

 implementation of the Symbolics architecture. Starting in 1987, several machines based on the Ivory processor were developed: boards for Suns and Macs, stand-alone workstations and even embedded systems (I-Machine Custom LSI, 32 bit address, Symbolics XL-400, UX-400, MacIvory II; in 1989 available platforms were Symbolics XL-1200, MacIvory III, UX-1200, Zora, NXP1000 "pizza box"). Texas Instruments shrunk the Explorer into silicon as the MicroExplorer which was offered as a card for the Apple Mac II. LMI abandoned the CADR architecture and developed its own K-Machine, but LMI went bankrupt before the machine could be brought to market. Prior to its demise, LMI was working on a distributed system for the LAMBDA using Moby space.

These machines had hardware support for various primitive Lisp operations (data type testing, CDR coding
CDR coding
In computer science CDR coding is a compressed data representation for Lisp linked lists. It was developed and patented by the MIT Artificial Intelligence Laboratory, and implemented in computer hardware in a number of Lisp machines derived from the MIT CADR....

) and also hardware support for incremental garbage collection
Garbage collection (computer science)
In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...

. They ran large Lisp programs very efficiently. The Symbolics machine was actually competitive against many commercial super mini computers, but it was never adapted for conventional purposes. The Symbolics Lisp Machines were also sold to some non-AI markets like computer graphics
Computer graphics
Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....

, modeling and animation.

The MIT-derived Lisp machines ran a Lisp dialect called Lisp Machine Lisp
Lisp Machine Lisp
Lisp Machine Lisp is a dialect of the Lisp programming language, a direct descendant of Maclisp, and was initially developed in the mid to late 1970s as the systems programming language for the MIT Lisp machines. Lisp Machine Lisp was also the Lisp dialect with the most influence on the design of...

, descended from MIT's Maclisp
Maclisp
MACLISP is a dialect of the Lisp programming language. It originated at MIT's 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; Jonl White was responsible for its later maintenance and development...

. The operating systems were written from the ground up in Lisp, often using object-oriented extensions. Later these Lisp machines also supported various versions of Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

 (with Flavors, New Flavors and CLOS).

InterLisp, BBN, and Xerox

BBN developed its own Lisp Machine, called Jericho, which ran a version of Interlisp
Interlisp
Interlisp was a programming environment built around a version of the Lisp programming language. Interlisp development began in 1967 at Bolt, Beranek and Newman in Cambridge, Massachusetts as BBN LISP, which ran on PDP-10 machines running the TENEX operating system...

. It was never marketed; frustrated, the entire AI group resigned, and were hired primarily by Xerox. So, Xerox
Xerox
Xerox Corporation is an American multinational document management corporation that produced and sells a range of color and black-and-white printers, multifunction systems, photo copiers, digital production printing presses, and related consulting services and supplies...

 Palo Alto Research Center
Xerox PARC
PARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....

 had, simultaneously with Greenblatt's own development at MIT, developed their own Lisp machines which were designed to run InterLisp
Interlisp
Interlisp was a programming environment built around a version of the Lisp programming language. Interlisp development began in 1967 at Bolt, Beranek and Newman in Cambridge, Massachusetts as BBN LISP, which ran on PDP-10 machines running the TENEX operating system...

 (and later Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

). The same hardware was used with different software also as Smalltalk machines and as the Xerox Star
Xerox Star
The Star workstation, officially known as the Xerox 8010 Information System, was introduced by Xerox Corporation in 1981. It was the first commercial system to incorporate various technologies that today have become commonplace in personal computers, including a bitmapped display, a window-based...

 office system. These included the Xerox 1100, "Dolphin" (1979); the Xerox 1132, "Dorado"; the Xerox 1108, "Dandelion" (1981); and the Xerox 1109, "Dandetiger"; and the Xerox 1186/6085
Xerox Daybreak
Xerox Daybreak is a workstation computer marketed by Xerox from 1985 to 1989. It ran the ViewPoint GUI and was used extensively throughout Xerox until being replaced by Suns and PCs...

, "Daybreak". The Xerox machines were a commercial failure, but they did influence the creation of Apple Computer
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...

's Macintosh. The operating system of the Xerox Lisp Machines has also been ported to a virtual machine and is available for several platforms as a product called "Medley". The Xerox Lisp Machine was well known for its advanced development environment (InterLisp-D), the ROOMS window manager, for its early graphical user interface and for novel applications like NoteCards
NoteCards
NoteCards was a hypertext personal knowledge basesystem developed at Xerox PARC by Randall Trigg, Frank Halasz and Thomas Moran in 1984. NoteCards developed after Trigg became the first to write a Ph.D. thesis on hypertext while at the University of Maryland College Park in 1983...

 (one of the first Hypertext
Hypertext
Hypertext is text displayed on a computer or other electronic device with references to other text that the reader can immediately access, usually by a mouse click or keypress sequence. Apart from running text, hypertext may contain tables, images and other presentational devices. Hypertext is the...

 applications).

Xerox also worked on a RISC-based Lisp Machine using the 'Xerox Common Lisp Processor' and planned to bring it to market by 1987, which did not happen.

Integrated Inference Machines

In the mid-80s prototypes of Lisp Machines called Inferstar have been built by Integrated Inference Machines (IIM).

Developments of Lisp Machines outside the US

In 1984–1985 a UK company, Racal-Norsk, a joint subsidiary of Racal
Racal
Racal Electronics plc was once the third-largest British electronics firm. Listed on the London Stock Exchange and once a constituent of the FTSE 100 Index, Racal was a diversified company, offering products including: as voice and data recorders; point of sale terminals; laboratory instruments;...

 and Norsk Data
Norsk Data
Norsk Data was a computer manufacturer located in Oslo, Norway. Existing from 1967 to 1992, it had its most active period in the years from the early 1970s to the late 1980s...

, attempted to repurpose Norsk Data's ND-500
ND-500
The ND-500 was a 32-bit superminicomputer delivered in 1981 by Norsk Data. It relied on a ND-100 to do housekeeping tasks and run the OS, SINTRAN III.A configuration could feature up to four ND-500 CPUs, in a shared-memory configuration....

 supermini as a microcoded Lisp Machine, running CADR software: the Knowledge Processing System (KPS).

There were several attempts by Japanese manufacturers to enter the Lisp Machine market: the Fujitsu
Fujitsu
is a Japanese multinational information technology equipment and services company headquartered in Tokyo, Japan. It is the world's third-largest IT services provider measured by revenues....

 Facom-alpha mainframe co-processor, NTT's Elis, Toshiba's AI processor (AIP) and NEC's LIME. Several university research efforts produced working prototypes, among them are Kobe University's TAKITAC-7, RIKEN's FLATS and Osaka University's EVLIS.

In France there were two Lisp Machine projects: M3L at Toulouse Paul Sabatier University and later MAIA.
In Germany the company Siemens designed the RISC-based Lisp co-processor COLIBRI.

End of the Lisp Machines

With the onset of the "AI Winter
AI winter
In the history of artificial intelligence, an AI winter is a period of reduced funding and interest in artificial intelligence research. The process of hype, disappointment and funding cuts are common in many emerging technologies , but the problem has been particularly acute for AI...

" and the early beginnings of the "PC revolution" (which would gather steam and sweep away the minicomputer and workstation manufacturers), cheaper desktop PCs soon were able to run Lisp programs even faster than Lisp machines, without the use of special purpose hardware. Their high profit margin hardware business eliminated, most Lisp Machine manufacturers went out of business by the early 90s, leaving only software based companies like Lucid Inc.
Lucid Inc.
Lucid Incorporated was a software development company founded by Richard P. Gabriel in 1984 which went bankrupt in 1994.-Beginnings:Gabriel had been working for Lawrence Livermore National Labs on a computer hardware project called "S1", the first incarnation of which used a CISC processor...

 or hardware manufacturers who switched to software and services to avoid the crash. Besides Xerox, Symbolics is the only Lisp Machine company still operating today, selling the Open Genera Lisp Machine software environment as well as the Macsyma
Macsyma
Macsyma is a computer algebra system that was originally developed from 1968 to 1982 at MIT as part of Project MAC and later marketed commercially...

 computer algebra system.

Legacy

Several attempts to write open-source emulators for various Lisp Machines have been made: CADR Emulation, Symbolics L Lisp Machine Emulation, the E3 Project (TI Explorer II Emulation), Meroko (TI Explorer I) and Nevermore (TI Explorer I). On 3 October 2005, the MIT released the CADR Lisp Machine source code as open source.

The Bitsavers' PDF Document Archive has PDF versions of the extensive documentation for the Symbolics Lisp Machines, the TI Explorer and MicroExplorer Lisp Machines and the Xerox Interlisp-D Lisp Machines.

Other attempts on language-optimized computers

A number of processors and coprocessors intended to implement Prolog
Prolog
Prolog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is declarative: the program logic is expressed in terms of...

 more directly were designed in the late 1980s and early 1990s, including the Berkeley VLSI-PLM, its successor (the PLUM), and a related microcode implementation. There were also a number of simulated designs that were not produced as hardware http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=380918, http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=183879. Like Lisp, Prolog's basic model of computation is radically different from standard imperative designs, and computer scientists and electrical engineers were eager to escape the bottlenecks caused by emulating their underlying models.

Niklaus Wirth
Niklaus Wirth
Niklaus Emil Wirth is a Swiss computer scientist, best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering. In 1984 he won the Turing Award for developing a sequence of innovative computer languages.-Biography:Wirth...

's Lilith
Lilith (computer)
Lilith is the name of custom built workstation using the AMD 2901 bit-slice processor by the group of Niklaus Wirth at ETH Zürich. The project started in 1977 and by 1984 several hundred workstations were in use. It had a high resolution full page display, a mouse, a laser printer interface, and a...

 project included a custom CPU geared toward the Modula-2
Modula-2
Modula-2 is a computer programming language designed and developed between 1977 and 1980 by Niklaus Wirth at ETH Zurich as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith...

 language.

In the late 1990s, there were plans by Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 and other companies to build CPUs that directly (or closely) implemented the stack-based Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 virtual machine
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...

. As a result several Java processor
Java processor
A Java processor is the implementation of the Java Virtual Machine in hardware.In other words the bytecodes that make up the instruction set of the abstract machine become the instruction set of a concrete machine.- Implementations :...

s have been built and used.

Ericsson
Ericsson
Ericsson , one of Sweden's largest companies, is a provider of telecommunication and data communication systems, and related services, covering a range of technologies, including especially mobile networks...

 developed ECOMP, a processor designed to run Erlang. It was never commercially produced.

Applications

Domains using the Lisp Machines were mostly in the wide area of Artificial Intelligence applications, but also in Computer Graphics, Medical Image Processing and many others.

The main commercial expert systems of the 80s were available: Intellicorp's Knowledge Engineering Environment
KEE
KEE is a frame-based development tool for Expert Systems. KEE was developed and sold by IntelliCorp. It was first released in 1983 and ran on Lisp Machines. KEE was later ported to Lucid Common Lisp with CLX...

 (KEE), Knowledge Craft from The Carnegie Group Inc. and ART (Automated Reasoning Tool) from Inference Corporation.

Technical overview

Initially the Lisp Machines were designed as personal workstations for software development in Lisp. They were used by a single person and offered no multi-user mode. The Lisp Machines provided a large, black and white, bitmap display, keyboard and mouse, network adapter, local hard disks, more than 1 MB RAM, serial interfaces, and a local bus for extension cards. Color graphics cards, tape drives, and laser printers were optional.

The processor did not run Lisp directly, but was a stack machine with instructions optimized for compiled Lisp. The early Lisp Machines used microcode to provide the instruction set. For several operations type checking and dispatching was done in hardware at runtime. There was for example only a single addition operation that could be used with various numeric types (integer, float, rational and complex numbers). The result was a very compact compiled representation of Lisp code.

The following example uses a function that counts the number of elements of a list for which a predicate returns 'true'.


(defun example-count-if (predicate list)
(let ((count 0))
(dolist (i list count)
(when (funcall predicate i)
(incf count)))))


The disassembled machine code for above function (for the Ivory microprocessor from Symbolics):


Command: (disassemble (compile #'example-count-if))

0 ENTRY: 2 REQUIRED, 0 OPTIONAL ;Creating PREDICATE and LIST
2 PUSH 0 ;Creating COUNT
3 PUSH FP|3 ;LIST
4 PUSH NIL ;Creating I
5 BRANCH 15
6 SET-TO-CDR-PUSH-CAR FP|5
7 SET-SP-TO-ADDRESS-SAVE-TOS SP|-1
10 START-CALL FP|2 ;PREDICATE
11 PUSH FP|6 ;I
12 FINISH-CALL-1-VALUE
13 BRANCH-FALSE 15
14 INCREMENT FP|4 ;COUNT
15 ENDP FP|5
16 BRANCH-FALSE 6
17 SET-SP-TO-ADDRESS SP|-2
20 RETURN-SINGLE-STACK


The operating system used virtual memory
Virtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...

 to provide a large address space. Memory management was done with garbage collection. All code shared a single address space. All data objects were stored with a tag in memory, so that the type could be determined at runtime. Multiple execution threads were supported and called 'processes' – all processes were running in the single address space.

All operating system software was written in Lisp. Xerox used InterLisp. Symbolics, LMI and TI used Lisp Machine Lisp (descendant of MacLisp). With the appearance of Common Lisp, Common Lisp was supported on the Lisp Machines and some system software was ported to Common Lisp or later written in Common Lisp.

Some later Lisp Machines (like the TI MicroExplorer, the Symbolics MacIvory or the Symbolics UX400/1200) were no longer complete workstations, but boards designed to be embedded in host computers: Apple Macintosh II and SUN 3 or 4.

Some Lisp Machines, like the Symbolics XL1200, had extensive graphics capabilities using special graphics boards. These Lisp Machines were used in domains like medical image processing, 3D animation and CAD.

See also

  • ICAD
    ICAD
    ICAD was a Knowledge-Based Engineering system that was based upon the Lisp programming language...

     – Example of "Knowledge based engineering
    Knowledge-based engineering
    Knowledge-based engineering is a discipline with roots in computer-aided design and knowledge-based systems but has several definitions and roles depending upon the context. An early role was support tool for a design engineer generally within the context of product design...

    " software originally developed on a Lisp machine that was useful enough to be then ported via Common Lisp
    Common Lisp
    Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

     to Unix
    Unix
    Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

    .
  • Orphaned technology
    Orphaned Technology
    Orphaned technology is a descriptive term for computer products, programs, and platforms that have been abandoned by their original developers. Orphaned technology refers to software, such as abandonware and antique software, but also to hardware and practices...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK