Portable Standard Lisp (PSL) is a
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
, a
dialect
A dialect is a Variety (linguistics), variety of language spoken by a particular group of people. This may include dominant and standard language, standardized varieties as well as Vernacular language, vernacular, unwritten, or non-standardize ...
of the language
Lisp
Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation.
Originally specified in the late 1950s, ...
. PSL was inspired by its predecessor, ''Standard Lisp'' and the
Portable Lisp
Compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
. It is
tail-recursive,
late binding (or dynamically bound), and was developed by researchers at the
University of Utah
The University of Utah (the U, U of U, or simply Utah) is a public university, public research university in Salt Lake City, Utah, United States. It was established in 1850 as the University of Deseret (Book of Mormon), Deseret by the General A ...
in 1980, which released PSL 3.1; development was handed over to developers at
Hewlett-Packard
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company. It was founded by Bill Hewlett and David Packard in 1939 in a one-car garage in Palo Alto, California ...
in 1982 who released PSL 3.3 and up.
Portable Standard Lisp was available as a kit containing a
screen editor, a
compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
, 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.
Like most older Lisps, in the first step, PSL compiles Lisp code to LAP code, which is another
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
language. However, where older lisps mostly compiled LAP directly to
assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
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."
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
Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperli ...
, but this is not sustained in the modern versions.
Criticism
Portable Standard Lisp has fewer features than other Lisps, such as
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperli ...
, 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'',
"the third most standard Lisp was Portable Standard Lisp, which ran on many machines, but very few people wanted to use it;".
Timeline
References
External links
* , Portable Utah Standard Lisp
{{Lisp programming language
Concurrent programming languages
Dynamically typed programming languages
Functional languages
Lisp programming language family
Multi-paradigm programming languages