Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  



1.1  Prelude  





1.2  Development  







2 Implementation  





3 References  














*Lisp







Add links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


*Lisp (StarLisp)
ParadigmsMulti-paradigm: functional, procedural, reflective, meta, parallel
FamilyLisp
Designed byCliff Lasser, Steve Omohundro
DeveloperThinking Machines Corporation
First appeared1986; 38 years ago (1986)
Typing disciplineDynamic, strong
ScopeStatic, lexical
Implementation languageCommon Lisp
PlatformConnection Machine
OSConnection Machine
Influenced by
Lisp, Common Lisp
Influenced
C*

*Lisp (orStarLisp) is a programming language, a dialect of the language Lisp.[1] 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

[edit]

Prelude

[edit]

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

[edit]

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.[2]

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,[3] 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.[4]

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.

  • e
  • 1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
     LISP 1, 1.5, LISP 2(abandoned)
     Maclisp
     Interlisp
     MDL
     Lisp Machine Lisp
     Scheme  R5RS  R6RS  R7RS small
     NIL
     ZIL (Zork Implementation Language)
     Franz Lisp
     Common Lisp  ANSI standard
     Le Lisp
     MIT Scheme
     XLISP
     T
     Chez Scheme
     Emacs Lisp
     AutoLISP
     PicoLisp
     Gambit
     EuLisp
     ISLISP
     OpenLisp
     PLT Scheme  Racket
     newLISP
     GNU Guile
     Visual LISP
     Clojure
     Arc
     LFE
     Hy
     Chialisp

    Implementation

    [edit]

    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' 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

    [edit]
    1. ^ McJones, Paul (2015-04-19). "Parallel Lisps: Connection Machine *Lisp (StarLisp)". Computer History Museum. Retrieved 2018-12-29.
  • ^ Helicopter Free Wake Implementation On Advanced Computer Architectures, International Conference on Basic Rotorcraft Research, 1988.
  • ^ "Franz Inc". Franz Inc. Archived from the original on 2005-03-06. Retrieved 2005-06-26.
  • ^ Massar, J. P. (13 February 1995). "STARSIM: Thinking Machines' *Lisp Simulator". Carnegie Mellon University (CMU) Artificial Intelligence Repository. Retrieved 2018-12-29.

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=*Lisp&oldid=1190476138"

    Categories: 
    Concurrent programming languages
    Dynamically typed programming languages
    Functional languages
    Lisp programming language family
    Common Lisp (programming language) software
    Multi-paradigm programming languages
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles needing additional references from February 2008
    All articles needing additional references
     



    This page was last edited on 18 December 2023, at 03:08 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki