Bärbar Standard Lisp
Paradigm | Multiparadigm : funktionell , processuell , objektorienterad , reflekterande , meta |
---|---|
Familj | Läspa |
Utvecklare |
University of Utah Hewlett-Packard Zuse Institute Berlin |
Dök först upp | 1980 |
Maskinskrivningsdisciplin | Dynamisk , stark |
Omfattning | Lexikalisk , valfri dynamisk |
Implementeringsspråk | Lisp , assemblerspråk |
Plattform | 68000 , DECSYSTEM-20 , Cray-1 , VAX |
Licens | BSD |
Hemsida | |
Influerad av | |
Lisp , Standard Lisp, Portable Lisp Compiler | |
Influenced | |
Reduce |
Portable Standard Lisp ( PSL ) är ett programmeringsspråk , en dialekt av språket Lisp . PSL inspirerades av sin föregångare, Standard Lisp och Portable Lisp Compiler . Det är svansrekursivt , sent bindande (eller dynamiskt bundet), och utvecklades av forskare vid University of Utah 1980, som släppte PSL 3.1; utvecklingen överlämnades till utvecklare på Hewlett-Packard 1982 som släppte PSL 3.3 och senare. Portable Standard Lisp var tillgänglig som ett kit innehållande en skärmredigerare , en kompilator och en tolk för flera hårdvaru- och operativsystemsdatorplattformar, inklusive Motorola 68000-serien , DECSYSTEM-20s , Cray-1s , VAX och många andra. Idag är PSL huvudsakligen utvecklat av och tillgängligt från Konrad-Zuse-Zentrum für Informationstechnik Berlin ( ZIB). Dess huvudsakliga moderna användning är som det underliggande språket för implementeringar av Reduce . [ citat behövs ]
Liksom de flesta äldre Lisps kompilerar PSL i det första steget Lisp-kod till LAP-kod, vilket är ett annat plattformsoberoende språk. Däremot, där äldre lisps mestadels kompilerade LAP direkt till assemblerspråk eller någon arkitekturberoende intermediär, kompilerar PSL LAP till C -koden, som skulle köras i ett virtuellt maskinspråk; så program som är skrivna i den är i princip lika portabla som C, vilket är väldigt portabelt. Kompilatorn skrevs i PSL eller en mer primitiv dialekt som heter System Lisp eller SYSLISP som "... ett experiment i att skriva en produktionskvalitets Lisp i Lisp själv så mycket som möjligt, med endast mindre mängder kod skriven för hand i assemblerspråk eller andra systemspråk ." så att hela ensemblen kunde starta upp sig själv, och förbättringar av kompilatorn förbättrade kompilatorn. Vissa senare utgåvor hade ett kompatibilitetspaket för Common Lisp , men detta finns inte kvar i de moderna versionerna.
Kritik
Portable Standard Lisp har färre funktioner än andra Lisp, som Common Lisp , och vissa personer tyckte att det var obehagligt att använda. Richard P. Gabriel skrev i sin populära essä Lisp: Good News, Bad News, How to Win Big , "den tredje mest standardiserade Lisp var Portable Standard Lisp, som kördes på många maskiner, men väldigt få människor ville använda den;".
Tidslinje
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1.5, LISP 2 (övergiven) | ||||||||||||||
Maclisp | ||||||||||||||
Interlisp | ||||||||||||||
MDL | ||||||||||||||
Lisp Machine Lisp | ||||||||||||||
Schema | R5RS | R6RS | R7RS liten | |||||||||||
NIL | ||||||||||||||
ZIL (Zork Implementation Language) | ||||||||||||||
Franz Lisp | ||||||||||||||
Vanlig Lisp | ANSI standard | |||||||||||||
Le Lisp | ||||||||||||||
MIT Scheme | ||||||||||||||
T | ||||||||||||||
Chez Scheme | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
PicoLisp | ||||||||||||||
Gambit | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
PLT-schema | Racket | |||||||||||||
GNU Guile | ||||||||||||||
Visual LISP | ||||||||||||||
Clojure | ||||||||||||||
Arc | ||||||||||||||
LFE | ||||||||||||||
Hy |
externa länkar
- Officiell webbplats , Portable Utah Standard Lisp