Введение

Portable Standard Lisp (PSL) — это язык программирования, диалект языка Lisp. PSL был вдохновлён своим предшественником, Standard Lisp, и Portable Lisp Compiler. Он поддерживает хвостовую рекурсию, позднюю привязку (или динамическую привязку) и был разработан исследователями Университета Юты в 1980 году, выпустившими PSL 3.1. Разработка была передана разработчикам Hewlett Packard в 1982 году, которые выпустили PSL 3.3 и последующие версии. Portable Standard Lisp был доступен в виде комплекта, включающего экранный редактор, компилятор и интерпретатор для различных аппаратных и программных вычислительных платформ, таких как Motorola 68000, DECSYSTEM 20s, Cray 1s, VAX и многие другие. Сегодня PSL в основном разрабатывается и поддерживается Конрадом Цузе Центром информационных технологий Берлина (ZIB). Его основное современное применение — в качестве базового языка для реализаций Reduce. Как и большинство старых Lisps, PSL на первом этапе компилирует код Lisp в код LAP, который также является кроссплатформенным языком. Однако, в то время как более ранние Lisps в основном компилировали LAP непосредственно в язык ассемблера или промежуточный код, зависящий от архитектуры, PSL компилирует LAP в код на языке C, который затем выполняется в виртуальной машине. Таким образом, программы, написанные на нём, в принципе столь же переносимы, как и программы на C, что делает их очень портативными. Компилятор был написан на PSL или более примитивном диалекте под названием System Lisp или SYSLISP в рамках «эксперимента по написанию Lisp производственного качества на самом Lisp в максимально возможной степени, с минимальным количеством кода, написанного вручную на языке ассемблера или других системных языках». «Portable Standard Lisp был третьим по распространённости стандартом Lisp, который работал на многих машинах, но пользоваться им желало очень мало людей».