Lisp machines are general-purpose computers designed to efficiently run
Lisp as their main software and
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...
, usually via hardware support. They are an example of a
high-level language computer architecture
A high-level language computer architecture (HLLCA) is a computer architecture designed to be targeted by a specific high-level programming language (HLL), rather than the architecture being dictated by hardware considerations. It is accordingly al ...
, and in a sense, they were the first commercial single-user
workstation
A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
s. 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
Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclabl ...
,
laser printing
Laser printing is an electrostatic digital printing process. It produces high-quality text and graphics (and moderate-quality photographs) by repeatedly passing a laser beam back and forth over a negatively-charged cylinder called a "drum" to ...
,
windowing system
In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm fo ...
s,
computer mice
A computer mouse (plural mice, sometimes mouses) is a hand-held pointing device that detects two-dimensional space, two-dimensional motion relative to a surface. This motion is typically translated into the motion of a pointer (user interface ...
, high-resolution bit-mapped
raster graphics
upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
, computer graphic rendering, and networking innovations such as
Chaosnet. Several firms built and sold Lisp machines in the 1980s:
Symbolics (3600, 3640, XL1200, MacIvory, and other models),
Lisp Machines
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
Incorporated (LMI Lambda),
Texas Instruments
Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globall ...
(
Explorer, MicroExplorer), and
Xerox
Xerox Holdings Corporation (; also known simply as Xerox) is an American corporation that sells print and electronic document, digital document products and services in more than 160 countries. Xerox is headquartered in Norwalk, Connecticut (ha ...
(
Interlisp
Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, ...
-D workstations). The operating systems were written in
Lisp Machine Lisp
Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology ( ...
, Interlisp (Xerox), and later partly in
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
.
History
Historical context
Artificial intelligence
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
(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 may refer to:
Organisations and meetings
* Deliberative assembly, a gathering of members who use parliamentary procedure for making decisions
* General assembly, an official meeting of the members of an organization or of their representa ...
- and
Fortran-like programming languages. At first, the cost of such computer hardware meant that it had to be shared among many users. As
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
technology shrank the size and cost of computers in the 1960s and early 1970s, and the memory needs of AI programs began to exceed the
address space of the most common research computer, the
Digital Equipment Corporation
Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president unt ...
(DEC)
PDP-10
Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
, researchers considered a new approach: a computer designed specifically to develop and run large artificial intelligence programs, and tailored to the semantics of the
Lisp language. To keep the
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
(relatively) simple, these machines would not be shared, but would be dedicated to single users.
Initial development
In 1973,
Richard Greenblatt and
Thomas Knight, programmers at
Massachusetts Institute of Technology
The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the ...
(MIT)
Artificial Intelligence Laboratory (AI Lab), began 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 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: ...
. The machine also did incremental (or ''Arena'')
garbage collection
Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclabl ...
. 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 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
In computing, telecommunication, information theory, and coding theory, an error correction code, sometimes error correcting code, (ECC) is used for controlling errors in data over unreliable or noisy communication channels. The central idea is ...
). The first group of extra bits were used to hold type data, making the machine a
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: ...
, and the remaining bits were used to implement
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 t ...
(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, reducing the cost of calling a function to as little as 20 clock cycles, in some Symbolics implementations.
The first machine was called the CONS machine (named after the list construction operator
cons
In computer programming, ( or ) is a fundamental function in most dialects of the Lisp programming language. ''constructs'' memory objects which hold two values or pointers to two values. These objects are referred to as (cons) cells, conses, ...
in Lisp). Often it was affectionately referred to as the ''Knight machine'', perhaps since
Knight
A knight is a person granted an honorary title of knighthood by a head of state (including the Pope) or representative for service to the monarch, the church or the country, especially in a military capacity. Knighthood finds origins in the Gr ...
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
function, which returns the second item of a list, is pronounced or , 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 was ported from
ITS in 1975). It was so well received at an AI conference held at MIT in 1978 that
Defense Advanced Research Projects Agency (DARPA) began funding its development.
Commercializing MIT Lisp machine technology
In 1979,
Russell Noftsker
Russell Noftsker is an American entrepreneur who founded Symbolics, a computer company, and was its first chairman and president.
Biography
Russell Noftsker was born February 1942 and graduated high school in Carlsbad, New Mexico. Noftsker ...
, being convinced that Lisp machines had a bright commercial future due to the strength of the Lisp language and the enabling factor of hardware acceleration, proposed to Greenblatt that they commercialize the technology. 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. These ideas and goals were considerably different from those of Noftsker. The two negotiated at length, but neither would compromise. As the proposed firm could succeed only 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 firm had a better chance of surviving and commercializing Lisp machines than Greenblatt's proposed self-sustaining start-up. Greenblatt lost the battle.
It was at this juncture that
Symbolics, Noftsker's enterprise, slowly came together. While Noftsker was paying his staff a salary, he had no building or any equipment for the hackers to work on. He bargained with
Patrick Winston
Patrick Henry Winston (February 5, 1943 – July 19, 2019) was an American computer scientist and professor at the Massachusetts Institute of Technology. Winston was director of the MIT Artificial Intelligence Laboratory from 1972 to 1997, succ ...
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
The Centers for Disease Control and Prevention (CDC) is the national public health agency of the United States. It is a United States federal agency, under the Department of Health and Human Services, and is headquartered in Atlanta, Georgi ...
, 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 firm, but he had done nothing. The consultant, Alexander Jacobson, decided that the only way Greenblatt was going to start the firm and build the Lisp machines that Jacobson desperately needed was if Jacobson pushed and otherwise helped Greenblatt launch the firm. Jacobson pulled together business plans, a board, a partner for Greenblatt (one F. Stephen Wyle). The newfound firm was named ''LISP Machine, Inc.'' (LMI), and was funded by CDC orders, via Jacobson.
Around this time Symbolics (Noftsker's firm) began operating. It had been hindered by Noftsker's promise to give Greenblatt a year's
head start, 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. Two AI Lab people were not hired by either:
Richard Stallman
Richard Matthew Stallman (; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to ...
and
Marvin Minsky
Marvin Lee Minsky (August 9, 1927 – January 24, 2016) was an American cognitive and computer scientist concerned largely with research of artificial intelligence (AI), co-founder of the Massachusetts Institute of Technology's AI laboratory, ...
. 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
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
, 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 firms developed second-generation products based on the CADR: the
Symbolics 3600 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 hardware differences existed.
Texas Instruments
Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globall ...
(TI) joined the fray when it licensed the LMI-LAMBDA design and produced its own variant, the
TI Explorer
The Texas Instruments Explorer is a family of Lisp machine computers. These computers were sold by Texas Instruments (TI) in the 1980s. The Explorer is based on a design from Lisp Machines Incorporated, which is based on the MIT Lisp machine. The ...
. Some of the LMI-LAMBDAs and the TI Explorer were dual systems with both a Lisp and a
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
processor. TI also developed a 32-bit
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
version of its Lisp CPU for the TI Explorer. This Lisp chip also was used for the MicroExplorer – a
NuBus
NuBus (pron. 'New Bus') is a 32-bit parallel computer bus, originally developed at MIT and standardized in 1987 as a part of the NuMachine workstation project. The first complete implementation of the NuBus was done by Western Digital for th ...
board for the Apple
Macintosh II
The Macintosh II is a personal computer designed, manufactured, and sold by Apple Computer from March 1987 to January 1990. Based on the Motorola 68020 32-bit CPU, it is the first Macintosh supporting color graphics. When introduced, a basic sy ...
(NuBus was initially developed at MIT for use in Lisp machines).
Symbolics continued to develop the 3600 family and its operating system,
Genera
Genus ( plural genera ) is a taxonomic rank used in the biological classification of living and fossil organisms as well as viruses. In the hierarchy of biological classification, genus comes above species and below family. In binomial nomenclat ...
, and produced the Ivory, a
VLSI
Very large-scale integration (VLSI) is the process of creating an integrated circuit (IC) by combining millions or billions of MOS transistors onto a single chip. VLSI began in the 1970s when MOS integrated circuit (Metal Oxide Semiconductor) c ...
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 shrank the Explorer into silicon as the MicroExplorer which was offered as a card for the Apple
Mac II
Mac or MAC most commonly refers to:
* Mac (computer), a family of personal computers made by Apple Inc.
* Mackintosh, a raincoat made of rubberized cloth
* A variant of the word macaroni, mostly used in the name of the dish mac and cheese
* Ma ...
. LMI abandoned the CADR architecture and developed its own K-Machine,
but LMI went bankrupt before the machine could be brought to market. Before 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
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 t ...
) and also hardware support for incremental
garbage collection
Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclabl ...
. They ran large Lisp programs very efficiently. The Symbolics machine was competitive against many commercial super
minicomputer
A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
s, but was never adapted for conventional purposes. The Symbolics Lisp Machines were also sold to some non-AI markets like
computer graphics
Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great de ...
, modeling, and animation.
The MIT-derived Lisp machines ran a Lisp dialect named
Lisp Machine Lisp
Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology ( ...
, descended from MIT's
Maclisp. 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 (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
(with
Flavors,
New Flavors
Flavors, an early object-oriented extension to Lisp developed by Howard Cannon at the MIT Artificial Intelligence Laboratory for the Lisp machine and its programming language Lisp Machine Lisp, was the first programming language to include mix ...
, and
Common Lisp Object System
The Common Lisp Object System (CLOS) is the facility for object-oriented programming which is part of ANSI Common Lisp. CLOS is a powerful dynamic object system which differs radically from the OOP facilities found in more static languages such ...
(CLOS)).
Interlisp, BBN, and Xerox
Bolt, Beranek and Newman
Raytheon BBN (originally Bolt Beranek and Newman Inc.) is an American research and development company, based next to Fresh Pond in Cambridge, Massachusetts, United States.
In 1966, the Franklin Institute awarded the firm the Frank P. Brown ...
(BBN) developed its own Lisp machine, named Jericho, which ran a version of
Interlisp
Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, ...
. It was never marketed. Frustrated, the whole AI group resigned, and were hired mostly by Xerox. So,
Xerox
Xerox Holdings Corporation (; also known simply as Xerox) is an American corporation that sells print and electronic document, digital document products and services in more than 160 countries. Xerox is headquartered in Norwalk, Connecticut (ha ...
Palo Alto Research Center
PARC (Palo Alto Research Center; formerly Xerox PARC) is a research and development company in Palo Alto, California. Founded in 1969 by Jacob E. "Jack" Goldman, chief scientist of Xerox Corporation, the company was originally a division of Xero ...
had, simultaneously with Greenblatt's own development at MIT, developed their own Lisp machines which were designed to run InterLisp (and later
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
). The same hardware was used with different software also as
Smalltalk
Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan Ka ...
machines and as the
Xerox Star
The Xerox Star workstation, officially named Xerox 8010 Information System, is the first commercial personal computer to incorporate technologies that have since become standard 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); the Xerox 1109, ''Dandetiger''; and the
Xerox 1186/6085, ''Daybreak''. 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 named ''Medley''. The Xerox 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 was a hypertext-based personal knowledge base system developed at Xerox PARC by Randall Trigg, Frank Halasz and Thomas Moran in 1984. NoteCards was developed after Trigg's pioneering 1983 Ph.D. thesis on hypertext while at the Universi ...
(one of the first
hypertext
Hypertext is E-text, text displayed on a computer display or other electronic devices with references (hyperlinks) to other text that the reader can immediately access. Hypertext documents are interconnected by hyperlinks, which are typi ...
applications).
Xerox also worked on a Lisp machine based on
reduced instruction set computing
In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set compu ...
(RISC), using the 'Xerox Common Lisp Processor' and planned to bring it to market by 1987, which did not occur.
Integrated Inference Machines
In the mid-1980s, Integrated Inference Machines (IIM) built prototypes of Lisp machines named Inferstar.
Developments of Lisp machines outside the United States
In 1984–85 a UK firm, Racal-Norsk, a joint subsidiary of
Racal
Racal Electronics plc was a British electronics company that was founded in 1950.
Listed on the London Stock Exchange and once a constituent of the FTSE 100 Index, Racal was a diversified company, offering products including voice loggers and ...
and
Norsk Data
Norsk Data was a minicomputer manufacturer located in Oslo, Norway. Existing from 1967 to 1998, it had its most active period from the early 1970s to the late 1980s. At the company's peak in 1987, it was the second largest company in Norway and em ...
, attempted to repurpose Norsk Data's
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.
Hard ...
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
is a Japanese multinational information and communications technology equipment and services corporation, established in 1935 and headquartered in Tokyo. Fujitsu is the world's sixth-largest IT services provider by annual revenue, and the la ...
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, two Lisp Machine projects arose: M3L at Toulouse Paul Sabatier University and later MAIA.
In Germany Siemens designed the RISC-based Lisp co-processor COLIBRI.
End of the Lisp machines
With the onset of the ''
AI winter
In the history of artificial intelligence, an AI winter is a period of reduced funding and interest in artificial intelligence research.[microcomputer revolution
The history of the personal computer as a mass-market consumer electronic device began with the microcomputer revolution of the 1970s. A personal computer is one intended for interactive individual use, as opposed to a mainframe computer where ...](_blank)
, which would sweep away the minicomputer and workstation makers, cheaper desktop PCs soon could run Lisp programs even faster than Lisp machines, with no use of special purpose hardware. Their high profit margin hardware business eliminated, most Lisp machine makers had gone out of business by the early 90s, leaving only software based firms like
Lucid Inc.
Lucid Incorporated was a Menlo Park, California, Menlo Park, California-based computer software development company. Founded by Richard P. Gabriel in 1984, it went bankrupt in 1994.
History
The first CEO was Tony Slocum, formerly of IntelliCorp ...
or hardware makers who had switched to software and services to avoid the crash. , besides Xerox and TI, Symbolics is the only Lisp machine firm still operating, selling the
Open Genera
Genera is a commercial operating system and integrated development environment for Lisp machines created by Symbolics. It is essentially a fork of an earlier operating system originating on the Massachusetts Institute of Technology (MIT) AI Lab' ...
Lisp machine software environment and the
Macsyma
Macsyma (; "Project MAC's SYmbolic MAnipulator") is one of the oldest general-purpose computer algebra systems still in wide use. It was originally developed from 1968 to 1982 at MIT's Project MAC.
In 1982, Macsyma was licensed to Symbolics a ...
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.
In September 2014, Alexander Burger, developer of
PicoLisp
PicoLisp is a programming language, a dialect of the language Lisp. It runs on operating systems including Linux and others that are ''Portable Operating System Interface'' (POSIX) compliant. Its most prominent features are simplicity and minimalis ...
, announced PilMCU, an implementation of PicoLisp in hardware.
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.
Applications
Domains using the Lisp machines were mostly in the wide field 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
Knowledge Engineering Environment (KEE) is a frame-based development tool for expert systems. It was developed and sold by IntelliCorp, and first released in 1983. It ran on Lisp machines, and was later ported to Lucid Common Lisp with the CLX ...
(KEE), Knowledge Craft, from The Carnegie Group Inc., and ART (
Automated Reasoning Tool) from Inference Corporation.
[Richter, Mark: ''AI Tools and Techniques''. Ablex Publishing Corporation USA, 1988, Chapter 3, An Evaluation of Expert System Development Tools]
Technical overview
Initially the Lisp machines were designed as personal workstations for software development in Lisp. They were used by one person and offered no multi-user mode. The 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. For example, only one addition operation 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 (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))
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
In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very ...
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 termed ''processes''. All processes ran in the one 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, such as the Symbolics XL1200, had extensive graphics abilities using special graphics boards. These machines were used in domains like medical image processing, 3D animation, and CAD.
See also
*
ICAD – example of ''knowledge-based engineering'' software originally developed on a Lisp machine that was useful enough to be then ported via Common Lisp to Unix
*
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 comput ...
References
; General
LISP Machine Progress Report, Alan Bawden,
Richard Greenblatt, Jack Holloway,
Thomas Knight,
David A. Moon,
Daniel Weinreb
Daniel L. Weinreb (January 6, 1959 – September 7, 2012) was an American computer scientist and programmer, with significant work in the environment of the programming language Lisp.
Early life
Weinreb was born on January 6, 1959, in Brookl ...
,
AI Lab
Computer Science and Artificial Intelligence Laboratory (CSAIL) is a research institute at the Massachusetts Institute of Technology (MIT) formed by the 2003 merger of the Laboratory for Computer Science (LCS) and the Artificial Intelligence Lab ...
memos, AI-444, 1977.
CADR, Thomas Knight, David A. Moon, Jack Holloway, Guy L. Steele. AI Lab memos, AIM-528, 1979.
Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode,
Guy Lewis Steele,
Gerald Jay Sussman
Gerald Jay Sussman (born February 8, 1947) is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT). He received his S.B. and Ph.D. degrees in mathematics from MIT in 1968 and 1973 respectively. H ...
, AI Lab memo, AIM-514, 1979
*
David A. Moon''Chaosnet'' A.I. Memo 628, Massachusetts Institute of Technology Artificial Intelligence Laboratory, June 1981.
*"Implementation of a List Processing Machine". Tom Knight, Master's thesis.
Lisp Machine manual 6th ed.
Richard Stallman
Richard Matthew Stallman (; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to ...
,
Daniel Weinreb
Daniel L. Weinreb (January 6, 1959 – September 7, 2012) was an American computer scientist and programmer, with significant work in the environment of the programming language Lisp.
Early life
Weinreb was born on January 6, 1959, in Brookl ...
,
David A. Moon. 1984.
*"Anatomy of a LISP Machine",
Paul Graham, ''AI Expert'', December 1988
*''
Free as in Freedom: Richard Stallman's Crusade for Free Software''
External links
Symbolics website*Bitsavers, PDF documents
LMI documentationMIT CONS documentationMIT CADR documentation*Lisp Machine Manual, Chinual
"The Lisp Machine manual, 4th Edition, July 1981""The Lisp Machine manual"Information and code for LMI Lambda and LMI K-Machine* – A set of links and locally stored documents regarding all manner of Lisp machines
– A set of links, mostly discussion of buying Lisp machines
*
ttp://www.lispmachine.net/ LISPMachine.net – Lisp Books and Informationbr>
Lisp machines timeline– a timeline of Symbolics' and others' Lisp machines
– An account of French efforts in the same vein
*Discussion
"If It Works, It's Not AI: A Commercial Look at Artificial Intelligence startups""Symbolics, Inc.: A failure of Heterogenous engineering"– (PDF)
– transcript of a speech
Richard Stallman
Richard Matthew Stallman (; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to ...
gave about Emacs, Lisp, and Lisp machines
{{Lisp programming language
Lisp (programming language)
Computer workstations
History of artificial intelligence
High-level language computer architecture