*Lisp (or StarLisp) is a
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 ...
, a
dialect
The term dialect (from Latin , , from the Ancient Greek word , 'discourse', from , 'through' and , 'I speak') can refer to either of two distinctly different types of Linguistics, linguistic phenomena:
One usage refers to a variety (linguisti ...
of the language
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
. It was conceived of in 1985 by two employees of the
Thinking Machines Corporation, Cliff Lasser and
Steve Omohundro
Stephen Malvern Omohundro (born 1959) is an American computer scientist whose areas of research include Hamiltonian physics, dynamical systems, programming languages, machine learning, machine vision, and the social implications of artificial int ...
, as a way to provide an efficient yet high-level language for programming the nascent
Connection Machine (CM).
History
Prelude
At the time the Connection Machine was being designed and built, the only language being actively developed for it was an
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 ...
-level language named PARIS (''Par''allel ''I''nstruction ''S''et). It became evident that a better way to program the machine was needed, and quickly. Waiting for the completion of ''Connection Machine Lisp'' (CM Lisp), an implementation of the
very high-level programming language Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
with
parallel computing
Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different fo ...
extensions) was not an option. CM Lisp had been proposed by
Danny Hillis, and development was expected to continue for several more years.
Development
A *Lisp
interpreter was initially developed. It became apparent quickly that a *Lisp
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
, translating *Lisp into
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
and PARIS, would be needed to attain the giga
FLOPS
In computing, floating point operations per second (FLOPS, flops or flop/s) is a measure of computer performance, useful in fields of scientific computations that require floating-point calculations. For such cases, it is a more accurate meas ...
speed that was attainable in theory by a Connection Machine. The *Lisp compiler was written by Jeff Mincy and was first released in 1986. An application achieving more than two gigaFLOPS, a helicopter wake simulator, was developed by Alan Egolf, then an employee of
United Technologies, and J. P. Massar, a Thinking Machines employee, in 1987.
A *Lisp Simulator, an
emulator meant to run *Lisp code on standard, non-parallel machines, was developed at the same time by J. P. Massar. This simulator still exists, and was ported to
American National Standards Institute
The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organi ...
(ANSI)
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 ...
(CL) in 2001. An older version written in the original CL, exists in the
Carnegie Mellon University
Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology ...
(CMU)
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) repository.
Later versions of *Lisp, involving significant upgrades to its functions and performance, were worked on by Cliff Lasser, Jeff Mincy, and J. P. Massar through 1989. *Lisp was implemented on the Thinking Machines CM5 circa 1990–1991 by J. P. Massar and Mario Bourgoin.
Implementation
StarLisp was written on
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 ...
(CL), and thus had the full power of CL behind it. To use a Connection Machine, one needed a host or ''front-end''. To use *Lisp, that front-end had to run CL.
Symbolics
Symbolics was a 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. ' machines using
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
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
workstations running
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 ...
's Lucid Common Lisp were both used to operate *Lisp.
StarLisp operated on ''P''arallel ''Var''iable''s'' (PVARS). These represented Connection Machine memory, and were essentially
vectors: one element per CM processor (or virtual processor).
StarLisp consisted of standard operations on PVARS, like vector addition and multiplication, along with communication primitives that essentially reordered the elements of a PVAR using the CM's communication hardware to optimally route the data.
References
{{DEFAULTSORT:StarLisp
Concurrent programming languages
Dynamically typed programming languages
Functional languages
Lisp programming language family
Common Lisp (programming language) software
Multi-paradigm programming languages