| Portable Standard Lisp | |
|---|---|
| Paradigms | Multi-paradigm:functional,procedural,object-oriented,reflective,meta |
| Family | Lisp |
| Developers | University of Utah Hewlett-Packard Zuse Institute Berlin |
| First appeared | 1980; 46 years ago (1980) |
| Typing discipline | Dynamic,strong |
| Scope | Lexical, optional dynamic |
| Implementation language | Lisp,assembly language |
| Platform | 68000,DECSYSTEM-20,Cray-1,VAX |
| License | BSD |
| Website | user |
| Influenced by | |
| Lisp, Standard Lisp, Portable Lisp Compiler | |
| Influenced | |
| Reduce | |
Portable Standard Lisp (PSL) is aprogramming language, adialect of the languageLisp. PSL was inspired by its predecessor,Standard Lisp and thePortable LispCompiler. It istail-recursive,late binding (or dynamically bound), and was developed by researchers at theUniversity of Utah in 1980, which released PSL 3.1; development was handed over to developers atHewlett-Packard in 1982 who released PSL 3.3 and up.[1] Portable Standard Lisp was available as a kit containing ascreen editor, acompiler, and aninterpreter for several hardware and operating systemcomputing platforms, includingMotorola 68000 series,DECSYSTEM-20s,Cray-1s,VAX, and many others. Today, PSL is mainly developed by and available fromKonrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB). Its main modern use is as the underlying language for implementations ofReduce.[citation needed]
Like most older Lisps, in the first step, PSL compiles Lisp code to LAP code, which is anothercross-platform language. However, where older lisps mostly compiled LAP directly toassembly language or some architecture dependent intermediate, PSL compiles the LAP toC 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 namedSystem Lisp orSYSLISP 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 othersystems languages."[1] so the whole ensemble couldbootstrap itself, and improvements to the compiler improved the compiler. Some later releases had a compatibility package forCommon Lisp, but this is not sustained in the modern versions.
Portable Standard Lisp has fewer features than other Lisps, such asCommon Lisp, and some people found it unpleasant to use.Richard P. Gabriel wrote in his popular essayLisp: 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;".
| 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 | |||||||||||||||
| muLisp | |||||||||||||||
| 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 | |||||||||||||||