Portable Standard Lisp
Portable Standard Lisp (PSL) is a tail-recursive dynamically bound dialect of Lisp inspired by its predecessor, Standard Lisp and the Portable Lisp Compiler. It 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 the 68000 processor architecture, DEC-20s, CRAY-1s, and the VAX architecture (among many others). Today, PSL is mainly developed by and available from Konrad-Zuse-Zentrum für Informationstechnik Berlin. Its main modern use is as underlying language for implementations of Reduce.
Like most older lisps, PSL in the first step compiles Lisp to LAP code, which is a platform independent language in its own. However, where older lisps mostly compiled LAP directly to assembler 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 in principle are as portable as C itself, which is very portable. The compiler itself was written in PSL or a more primitive dialect dubbed "System Lisp"/"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 itself as well. Some later releases had a compatibility package for Common Lisp, but this is not sustained in the modern versions.
Criticism
Portable Standard Lisp is not as full of features as e.g. Common Lisp, and some people found it not very pleasant to use. Richard P. Gabriel wrote in his popular essay Lisp: Good News, Bad News, How to Win Big, "the third most standard Lisp was Portable Standard Lisp, which ran on many machines, but very few people wanted to use it;"
References
- Gabriel, Richard P. (May 1985). Performance and evaluation of Lisp systems (PDF). MIT Press; Computer Systems Series. ISBN 0-262-07093-6. LCCN 85-15161.
External links
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lisp 1.5 | Lisp 1.5 | |||||||||||||
Maclisp | Maclisp | |||||||||||||
Interlisp | Interlisp | |||||||||||||
ZetaLisp | Lisp Machine Lisp | |||||||||||||
Scheme | Scheme | |||||||||||||
NIL | NIL | |||||||||||||
Common Lisp | Common Lisp | |||||||||||||
T | T | |||||||||||||
Emacs Lisp | Emacs Lisp | |||||||||||||
AutoLISP | AutoLISP | |||||||||||||
ISLISP | ISLISP | |||||||||||||
EuLisp | EuLisp | |||||||||||||
PicoLisp | PicoLisp | |||||||||||||
Racket | Racket | |||||||||||||
Arc | Arc | |||||||||||||
Clojure | Clojure | |||||||||||||
LFE | LFE | |||||||||||||
Hy | Hy |