Список языков программирования семейства Lisp - List of Lisp-family programming languages

В функциональный язык программирования Лисп второй по возрасту язык программирования высокого уровня с прямыми потомками и близкородственными диалекты все еще широко используется сегодня. Язык Фортран старше на год.[1][2] Лисп, как и Фортран, сильно изменился с момента своего появления, и за его историю существовало множество диалектов. Сегодня наиболее широко известными диалектами Лиспа общего назначения являются Common Lisp и Схема.

ЯзыкГод началсяСоздано (в)КомментарииРекомендации
ACL21990Роберт Бойер,
Дж. Мур,
Мэтт Кауфманн
Вычислительная логика для аппликативного Common Lisp состоит из язык программирования, расширяемая теория в логика первого порядка, и механический средство доказательства теорем[3]
Дуга2008Пол ГрэмДиалект Lisp разработан Пол Грэм и Роберт Моррис[4]
AutoLISP1986Дэвид БецСоздан для включения и использования с полной версией AutoCAD и его производные[5]
BBN LISP1966BBNНа основе Л. Питер Дойч реализация Lisp для PDP-1, который разрабатывался с 1960 по 1964 год; со временем язык расширился, пока в 1966 году он не стал отдельным диалектом; позже переименован в Интерлисп[6]
Chez Scheme1985Р. Кент ДибвигСхема диалекта
Курица2000Феликс ВинкельманнСхема диалекта
Clojure2007Рич ХиккиДиалект Лиспа, подчеркивает функциональное программирование; работает на Виртуальная машина Java, общеязыковая среда выполнения, и JavaScript двигатели; как и другие Лиспы, обрабатывает код как данные (гомоиконность ) и имеет макрос система[7]
ANSI Common Lisp1994ANSI X3J13 комитетCommon Lisp улучшен и стандартизирован, опубликован в ANSI стандартный документ ANSI INCITS 226-1994; к функциям Common Lisp он добавляет петля макрос, а Общая объектная система Lisp (ЗАКРЫТЬ), чтобы предоставить объектно-ориентированного программирования парадигма с множественная отправка (мультиметоды) и комбинации методов; работает на многих платформах: Unix, Linux, macOS, Окна, JVM, JavaScript, Unix / C, LLVM /C ++, Android, iOS[8]
Common Lisp1984Диалект Лиспа впервые стандартизирован в книге "Common Lisp - язык ", к Гай Л. Стил,[9] разработан как стандартизированный и улучшенный преемник Маклисп; статически и динамически ограниченный; строго типизированный, допускает (необязательно) объявления типов;[10] отдельные пространства имен для функций по сравнению с переменными данных, черта, которую часто называют Лисп-2; объектно-ориентированного программирования возможно через библиотеки, такие как Ароматизаторы, CommonLOOPS, а затем CLOS; обрабатывает код как данные (гомоиконность ) и имеет макрос система; В читатель расширяется через читательские макросы[10][8]
Дилан1992Компьютер AppleОснованный в основном на Scheme и Common Lisp, был разработан Apple как язык системного и прикладного программирования; впервые использовался для написания операционной системы и приложений для внутренних прототипов выпущенного позже компьютера Apple Newton; первая официальная версия Apple Дилан также имела s-выражение основанный синтаксис; Apple сотрудничала с партнерами для разработки этого языка
Emacs Lisp1976Ричард СтолменТакже называется Elisp, используется GNU Emacs и XEmacs текстовые редакторы для реализации большинства функций редактирования, встроенных в Emacs[11]
EuLisp1990Статически и динамически ограниченный Диалект Лиспа, созданный небольшой группой промышленных и академических пользователей и разработчиков Лиспа по всей Европе; то стандартизаторы предназначен для создания нового Лиспа, «менее обремененного прошлым» (по сравнению с Common Lisp ), а не так минималист в качестве Схема, и интегрировать объектно-ориентированного программирования парадигма хорошо[12]
Ференц Лисп1980Ричард ФейтманНаписано в Калифорнийский университет в Беркли студентами профессора Ричард Дж. Фейтман, основанный в основном на Маклисп и распространяется с Распространение программного обеспечения Беркли (BSD) для Digital Equipment Corp (DEC) VAX[13]
Игровой ассемблер Lisp (ЦЕЛЬ)2000-еЭнди ГэвинВидео игра язык программирования, разработанный Энди Гэвин и Джек и Дакстер команда в Игривый щенок; написано с использованием Аллегро Common Lisp; используется при разработке полной серии игр[14]
Икарус2007Абдулазиз ГулумСхема диалекта
Интерлисп1967BBNСреда программирования построена на одной из версий языка Lisp; разработка началась в 1967 г. на Болт, Беранек и Ньюман в Кембридж, Массачусетс в качестве BBN LISP, который работал на PDP-10 машины, работающие Техас Операционная система; когда Дэнни Боброу, Уоррен Тейтельман, и Рональд Каплан переехал с BBN на Xerox PARC, он был переименован в Интерлисп[15]
ISLISP1997WG16Небольшой базовый язык, помогающий преодолеть разрыв между разными диалектами Лиспа[16]
Le Lisp1981INRIAДизайн: Жером Шайю, Эммануэль Сент-Джеймс, INRIA[17][18][19]
Erlang со вкусом Lisp (LFE)2008Роберт ВирдингДиалект Лиспа, построенный на Core Erlang и виртуальная машина Erlang ЛУЧ
Лисп-машина Лисп1984Иногда называемый Зеталисп, является прямым потомком Маклисп; был разработан в середине-конце 1970-х годов как язык системного программирования для Массачусетский технологический институт Лисп-машины[20]
Маклисп1966Проект MACСоздано в Массачусетский технологический институт с Проект MAC в конце 1960-х гг .; на основе Лисп 1.5; Ричард Гринблатт был основным разработчиком исходной кодовой базы для PDP-6;[21] Джон Л. Уайт отвечал за последующее обслуживание и развитие[21]
MultiLisp1980-еРоберт Х. ХолстедСхема диалект, расширенный конструкциями для параллельные вычисления, выполнение и Общая память; также было несколько необычных вывоз мусора и алгоритмы планирования задач[22]
Ноль1970-е годыМассачусетский технологический институт32-битная реализация Lisp, разработанная в Массачусетский технологический институт; призван стать преемником Маклисп; NIL расшифровывается как «Новая реализация LISP» и частично является ответом на ОИК VAX компьютер[23][24]
OpenLisp1988Кристиан ЖульенISLISP совместимый язык со многими Common Lisp расширения; работает на большинстве современных операционных систем[25]
Сова лисп2012Аки ХелинЧистый функционал Схема диалект; на основе применимого подмножества стандарта R7RS; был расширен в основном потоками и структурами данных, необходимыми для чисто функциональной работы[26]
ПикоЛисп1988Александр БургерОткрытый исходный код Диалект Лиспа; работает на Linux и другие POSIX -соответствующие системы; наиболее заметными особенностями являются простота и минимализм[27]
Портативный стандартный Лисп1980Университет ЮтыХвостовой рекурсивный диалект Lisp с динамической связью, вдохновленный его предшественником, Standard Lisp и Portable Lisp Compiler; он реализует Уменьшать система компьютерной алгебры
Ракетка1994PLT Inc.Общее назначение, язык программирования с несколькими парадигмами в семействе Lisp-Scheme; одна из целей его дизайна - служить платформой для создания, проектирования и реализации языков; он используется во многих контекстах, таких как сценарии, универсальное программирование, образование в области информатики и исследования[28][29]
Схема1970Гай Л. Стил,
Джеральд Сассман
Функциональный язык программирования с минималист философия дизайна, определяющая небольшое стандартное ядро ​​с мощными инструментами для расширения языка[9]
Схема в одном Defun (SIOD )1988Джордж Дж. КарреттРеализация Small Scheme, написанная на C, сделанная для встраивания в программы на C.
НАВЫК1990Системы дизайна CadenceИспользуется как язык сценариев и PCell язык описания, используемый во многих EDA программные комплексы Cadence[30]
Т1984Джонатан А. Рис,
Норман И. Адамс
Схема диалект, разработанный в начале 1980-х Джонатаном А. Рисом, Кентом М. Питманом и Норманом И. Адамсом из Йельский университет как эксперимент в языковом дизайне и реализации[31]
TXR2009Каз КылхекуСостоит из диалекта Lisp (TXR Lisp) и языка шаблонов для обработки текста (TXR Pattern Language)[32]

График

Рекомендации

  1. ^ «SICP: предисловие». Архивировано из оригинал 27 июля 2001 г. Лисп пережил уже около четверти века. Среди активных языков программирования дольше прожил только Фортран.
  2. ^ «Выводы». Архивировано из оригинал на 2014-04-03. Получено 2016-03-18.
  3. ^ "Аннотированная библиография ACL2".
  4. ^ Грэм, Пол. "Arc FAQ". Получено 2016-03-18.
  5. ^ "АвтоЛИСП". Получено 14 апреля 2014.
  6. ^ «ББН-ЛИСП». Семья Интерлисп. Группа сохранения программного обеспечения. Получено 17 марта 2016.
  7. ^ "Clojure". Clojure.org. Получено 2015-09-15.
  8. ^ а б "CLHS: О Common Lisp HyperSpec: Информация об авторстве". LispWorks. Получено 2019-05-01.
  9. ^ а б Стил, Гай Л. мл. (1981). Общий Лисп - язык, 2-е изд.. Цифровая пресса. ISBN  978-1-55558-041-4. Common Lisp - это новый диалект Lisp, преемник MacLisp, на который сильно повлияли ZetaLisp и в некоторой степени Scheme и InterLisp.
  10. ^ а б "Common Lisp - язык: объявления типов".
  11. ^ «Мои впечатления от Lisp и разработка GNU Emacs». GNU. Получено 18 марта 2016.
  12. ^ "Обзор EuLisp" (PDF). www.softwarepreservation.org. Получено 18 марта 2016.
  13. ^ Габриэль, Ричард П. (май 1985 г.). Производительность и оценка систем Lisp (PDF). MIT Press; Серия компьютерных систем. ISBN  0-262-07093-6. LCCN  85-15161.
  14. ^ «[Sweng-gamedev] Языки высокого уровня (было: мультиплатформенная балансировка нагрузки нового поколения)». Архивировано из оригинал 12 апреля 2007 г.
  15. ^ Тейтельман, Уоррен (апрель 1972 г.), «Делай то, что я имею в виду», Компьютеры и автоматика: 8–11.
  16. ^ "Язык программирования ISLISP". Архивировано из оригинал 22 января 2016 г.. Получено 18 марта 2016.
  17. ^ Шайю, Жером (1983). "LE LISP 80 версия 12" (PDF). INRIA. Получено 16 марта 2012.
  18. ^ Chailloux, J .; Девин, М .; Халлот, Дж. М. (1984). "Le_Lisp, портативная и эффективная система Lisp" (PDF). INRIA. Получено 16 марта 2012.
  19. ^ Шайю, Жером (ноябрь 2001 г.). Le_Lisp de l'INRIA: Le Manuel de référence. Версия 14. Rocquencourt Франция: INRIA. п. 190.
  20. ^ "Руководство по Lisp Machine" (PDF). Массачусетский технологический институт. Получено 18 марта 2016.
  21. ^ а б Леви, Стивен (1984). Хакеры: Герои компьютерной революции. Doubleday. ISBN  0-385-19195-2.
  22. ^ Холстед, Р. Х. «Язык для параллельных символьных вычислений». Получено 2006-10-12.
  23. ^ Габриэль, Ричард П. (май 1985 г.). Производительность и оценка систем Lisp (PDF). MIT Press; Серия компьютерных систем. ISBN  978-0-262-07093-5. LCCN  85015161.
  24. ^ Стил, Гай Л. мл .; Габриэль, Ричард П. "Эволюция Лиспа" (PDF). Получено 2006-10-12.
  25. ^ "Элигис: OpenLisp, ISLISP, ISO Lisp". Получено 7 апреля 2018.
  26. ^ "Сова Лисп". Получено 2020-02-04.
  27. ^ Бургер, Александр. «Внутренние конструкции». software-lab.de. Получено 18 марта 2016.
  28. ^ "Добро пожаловать в Ракет". Получено 2011-08-15.
  29. ^ «Диалекты ракетки и схемы». Получено 2011-08-15.
  30. ^ Барнс, Т. (1990). «НАВЫКИ: язык расширения САПР». Конференция по автоматизации проектирования, 1990. Труды, 27-я ACM / IEEE.. ЦАП '90. Дои:10.1109 / DAC.1990.114865.
  31. ^ "Проект Т". Джонатан Рис. Получено 18 марта 2016.
  32. ^ "Язык TXR". Каз Кылхеку. Получено 31 августа 2017.