[go: up one dir, main page]

Jump to content

Portable Standard Lisp

From Wikipedia, the free encyclopedia
Portable Standard Lisp
ParadigmsMulti-paradigm: functional, procedural, object-oriented, reflective, meta
FamilyLisp
DevelopersUniversity of Utah
Hewlett-Packard
Zuse Institute Berlin
First appeared1980; 44 years ago (1980)
Typing disciplineDynamic, strong
ScopeLexical, optional dynamic
Implementation languageLisp, assembly language
Platform68000, DECSYSTEM-20, Cray-1, VAX
LicenseBSD
Websiteuser.ceng.metu.edu.tr/~ucoluk/research/lisp/generalinfo.html
Influenced by
Lisp, Standard Lisp, Portable Lisp Compiler
Influenced
Reduce

Portable Standard Lisp (PSL) is a programming language, a dialect of the language Lisp. PSL was inspired by its predecessor, Standard Lisp and the Portable Lisp Compiler. It is tail-recursive, late binding (or dynamically bound), and was developed by researchers at the University of Utah in 1980, which released PSL 3.1; development was handed over to developers at Hewlett-Packard in 1982 who released PSL 3.3 and up.[1] Portable Standard Lisp was available as a kit containing a screen editor, a compiler, and an interpreter for several hardware and operating system computing platforms, including Motorola 68000 series, DECSYSTEM-20s, Cray-1s, VAX, and many others. Today, PSL is mainly developed by and available from Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB). Its main modern use is as the underlying language for implementations of Reduce.[citation needed]

Like most older Lisps, in the first step, PSL compiles Lisp code to LAP code, which is another cross-platform language. However, where older lisps mostly compiled LAP directly to assembly language or some architecture dependent intermediate, PSL compiles the LAP to C code, which would run in a virtual machine language; so programs written in it are as portable as C in principle, which is very portable. The compiler was written in PSL or a more primitive dialect named System Lisp or SYSLISP as "... an experiment in writing a production-quality Lisp in Lisp itself as much as possible, with only minor amounts of code written by hand in assembly language or other systems languages."[1] so the whole ensemble could bootstrap itself, and improvements to the compiler improved the compiler. Some later releases had a compatibility package for Common Lisp, but this is not sustained in the modern versions.

Criticism

[edit]

Portable Standard Lisp has fewer features than other Lisps, such as Common Lisp, and some people found it unpleasant to use. Richard P. Gabriel wrote in his popular essay Lisp: Good News, Bad News, How to Win Big,[2] "the third most standard Lisp was Portable Standard Lisp, which ran on many machines, but very few people wanted to use it;".

Timeline

[edit]
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

References

[edit]
  1. ^ a b Gabriel, Richard P. (May 1985). Performance and evaluation of Lisp systems (PDF). Cambridge, Massachusetts: MIT Press; Computer Systems Series. pp. 75, 294. ISBN 0-262-07093-6. LCCN 85-15161.
  2. ^ Gabriel, Richard P. "Lisp: Good News, Bad News, How to Win Big". Dreamsongs. Retrieved 2019-04-25.
[edit]