Portable Standard Lisp

Portable Standard Lisp
ParadigmsMulti-paradigm: functional, procedural, object-oriented, reflective, meta
FamilyLisp
DevelopersUniversity of Utah
Hewlett-Packard
Zuse Institute Berlin
First appeared1980 (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.

  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.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by razib.in