Skip to content
Surf Wiki
Save to docs
technology/programming-languages

From Surf Wiki (app.surf) — the open knowledge base

*Lisp

Programming language


Programming language

FieldValue
name*Lisp (StarLisp)
logo
screenshot
paradigmsMulti-paradigm: functional, procedural, reflective, meta, parallel
familyLisp
designersCliff Lasser, Steve Omohundro
developerThinking Machines Corporation
released
latest release date
typingDynamic, strong
scopeStatic, lexical
programming languageCommon Lisp
discontinuedYes
platformConnection Machine
operating systemConnection Machine
file format
website
influenced byLisp, Common Lisp
influencedC*

*Lisp (or StarLisp) is a programming language, a dialect of the language Lisp. It was conceived of in 1985 by two employees of the Thinking Machines Corporation, Cliff Lasser and Steve Omohundro, 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-level language named PARIS (Parallel Instruction Set). 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 with parallel computing 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, translating *Lisp into Lisp and PARIS, would be needed to attain the gigaFLOPS 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 (ANSI) Common Lisp (CL) in 2001. An older version, written in the original CL, exists in the Carnegie Mellon University (CMU) artificial intelligence (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 (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's machines using Genera and Sun Microsystems workstations running Lucid Inc.'s Lucid Common Lisp were both used to operate *Lisp.

StarLisp operated on Parallel Variables (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

References

  1. McJones, Paul. (2015-04-19). "Parallel Lisps: Connection Machine *Lisp (StarLisp)".
  2. "Helicopter Free Wake Implementation On Advanced Computer Architectures, International Conference on Basic Rotorcraft Research, 1988".
  3. "Franz Inc.".
  4. Massar, J. P.. (13 February 1995). "STARSIM: Thinking Machines' *Lisp Simulator".
Info: Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about *Lisp — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report