Список языков программирования семейства Lisp
Язык программирования Lisp — второй старейший язык программирования высокого уровня , чьи прямые потомки и близкородственные диалекты до сих пор широко используются. Язык Фортран старше на один год. [1] [2] Лисп, как и Фортран, сильно изменился с момента своего появления, и за его историю существовало множество диалектов. Сегодня наиболее широко известными диалектами Lisp общего назначения являются Common Lisp и Scheme .
Язык | Год начался | Создано (в) | Комментарии | Ссылки |
---|---|---|---|---|
Хиалисп | 2019 | Брэм Коэн | Мощный и безопасный язык, подобный LISP, для блокчейна Chia, позволяющий обременять и высвобождать средства с помощью возможностей смарт-контрактов. | [3] [4] [5] |
ACL2 | 1990 | Роберт Бойер , Джей Мур , Мэтт Кауфман | Вычислительная логика для аппликативного Common Lisp состоит из языка программирования , расширяемой теории в логике первого порядка и механического средства доказательства теорем. | [6] |
Дуга | 2008 | Пол Грэм | Диалект Лиспа, разработанный Полом Грэмом и Робертом Моррисом. | [7] |
АвтоЛИСП | 1986 | Дэвид Бетц | Создан для включения и использования с полной версией AutoCAD и его производными. | [8] |
ББН ЛИСП | 1966 | ББН | На основе Л. Питера Дойча реализации Lisp для PDP-1 , которая разрабатывалась с 1960 по 1964 год; со временем язык расширялся, пока в 1966 году не стал отдельным диалектом; позже переименован в Interlisp | [9] |
На схеме | 1985 | Р. Кент Дибвиг | Схема диалекта | |
Курица | 2000 | Феликс Винкельманн | Схема диалекта | |
Кложур | 2007 | Рич Хикки | Диалект Лиспа, упор делается на функциональное программирование ; работает на виртуальной машине Java , Common Language Runtime и JavaScript механизмах ; как и другие Лиспы, рассматривает код как данные ( гомоиконичность ) и имеет макросов систему | [10] |
ANSI Общий Лисп | 1994 | ANSI X3J13 Комитет | Common Lisp расширен и стандартизирован, опубликован в ANSI стандартном документе ANSI INCITS 226-1994; к возможностям Common Lisp он добавляет макрос цикла и объектную систему Common Lisp (CLOS) для обеспечения парадигмы объектно-ориентированного программирования с множественной диспетчеризацией (мультиметодами) и комбинациями методов; работает на многих платформах: Unix , Linux, macOS , Windows , JVM , JavaScript, Unix/C, LLVM / C++ , Android , iOS. | [11] |
Общий Лисп | 1984 | Диалект Лиспа впервые стандартизирован в книге « Common Lisp the Language » Гая Л. Стила . [12] разработан как стандартизированный и улучшенный преемник Maclisp ; статическая и динамическая область действия ; строго типизированный, допускает (необязательные) объявления типов; [13] отдельные пространства имен для функций и переменных данных — черта, часто называемая Lisp-2 ; объектно-ориентированное программирование возможно с помощью таких библиотек, как Flavors , CommonLOOPS и более поздних версий CLOS; рассматривает код как данные ( гомоиконичность ) и имеет макросистему ; Читатель . расширяется с помощью макросов чтения [13] | [11] | |
Дилан | 1992 | Apple Компьютер | В основном основан на Scheme и Common Lisp, был разработан Apple как язык системного и прикладного программирования; сначала использовался для написания операционной системы и приложений для внутренних прототипов выпущенного позже компьютера Apple Newton; первая официальная версия Apple Dylan также имела s-выражениях синтаксис, основанный на ; Apple сотрудничала с партнерами для разработки этого языка | |
Эмакс Лисп | 1976 | Ричард Столлман | Также называется Elisp и используется GNU Emacs и XEmacs текстовыми редакторами для реализации большинства функций редактирования, встроенных в Emacs. | [14] |
EuLisp | 1990 | Диалект Lisp со статической и динамической областью действия, разработанный группой промышленных и академических пользователей и разработчиков Lisp по всей Европе; стандартизаторы , намеревались создать новый Lisp, «менее обремененный прошлым» (по сравнению с Common Lisp ), и не такой минималистичный как Scheme интегрировать парадигму объектно-ориентированного программирования. , а также хорошо | [15] | |
Франц Лисп | 1980 | Ричард Фейтман | Написано в Калифорнийском университете в Беркли студентами профессора Ричарда Дж. Фейтмана , в основном основано на Maclisp и распространяется вместе с Berkeley Software Distribution (BSD) для Digital Equipment Corp (DEC) VAX. | [16] |
Игроориентированный ассемблерный Lisp (ЦЕЛЬ) | 2000-е | Энди Гэвин | Язык программирования видеоигр, разработанный Энди Гэвином и командой Джека и Дакстера из Naughty Dog ; написан с использованием Allegro Common Lisp ; используется при разработке полной серии игр | [17] |
Он | 2013 | Пол Тальямонте | Lisp с тесной интеграцией с Python. | |
Икар | 2007 | Абдулазиз Гулум | Схема диалекта | |
Интерлисп | 1967 | ББН | Среда программирования, построенная на основе версии языка Lisp; разработка началась в 1967 году в компании Bolt, Beranek and Newman в Кембридже, штат Массачусетс, как BBN LISP , который работал на PDP-10 машинах под управлением операционной системы TENEX ; когда Дэнни Боброу , Уоррен Тейтельман и Рональд Каплан перешли из BBN в Xerox PARC , компания была переименована в Interlisp. | [18] |
ИСЛИСП | 1997 | РГ16 | Небольшой базовый язык, помогающий преодолеть разрыв между различными диалектами Лиспа. | [19] |
Лисп | 1981 | ИНРИА | Дизайн Жерома Шайу, Эммануэля Сент-Джеймса, INRIA | [20] [21] [22] |
Erlang со вкусом Lisp (LFE) | 2008 | Роберт Вирдинг | Диалект Lisp, построенный на Core Erlang и виртуальной машине Erlang BEAM. | |
Лисп-машина Лисп | 1984 | Иногда называемый Zetalisp, он является прямым потомком Maclisp ; был разработан в середине-конце 1970-х годов как язык системного программирования для машин MIT Lisp. | [23] | |
Лиспкит Лисп | 1980 | Питер Хендерсон | Чисто функциональное подмножество Lisp с лексической областью («Pure Lisp»), разработанное как испытательный стенд для концепций функционального программирования. | [24] |
Маклисп | 1966 | Проект МАК | Возник в рамках Массачусетского технологического института в проекта MAC конце 1960-х годов; на основе Лиспа 1.5 ; Ричард Гринблатт был главным разработчиком исходной кодовой базы для PDP-6 ; [25] Джон Л. Уайт отвечал за дальнейшее обслуживание и развитие. | [25] |
МультиЛисп | 1980-е годы | Роберт Х. Холстед | Диалект схемы , расширенный конструкциями для параллельных вычислений , выполнения и общей памяти ; также были некоторые необычные алгоритмы сборки мусора и планирования задач. | [26] |
НОЛЬ | 1970-е годы | С | 32-битная реализация Lisp, разработанная в Массачусетском технологическом институте ; намеревался стать преемником Maclisp ; NIL расшифровывался как «Новая реализация LISP» и был частично ответом на DEC VAX. компьютер | [27] [28] |
ОпенЛисп | 1988 | Кристиан Жюльен | Язык, совместимый с ISLISP , со многими Common Lisp расширениями ; работает на большинстве современных операционных систем | [29] |
Сова Лисп | 2012 | Аки Хелин | Диалект чисто функциональной схемы ; на основе применимого подмножества стандарта R7RS; был расширен в основном за счет потоков и структур данных, необходимых для чисто функциональной работы. | [30] |
ПикоЛисп | 1988 | Александр Бургер | с открытым исходным кодом Диалект Lisp ; работает в Linux и других POSIX -совместимых системах; наиболее характерными чертами являются простота и минимализм. | [31] |
Портативный стандартный Лисп | 1980 | Университет Юты | Хвост-рекурсивный динамически связанный диалект Лиспа, вдохновленный его предшественником, Standard Lisp и Portable Lisp Compiler; он реализует сокращения систему компьютерной алгебры | |
Ракетка | 1994 | ПЛТ Инк. | назначения общего Многопарадигмальный язык программирования из семейства Lisp-Scheme; одна из целей его разработки — служить платформой для создания, проектирования и реализации языка; он используется во многих контекстах, таких как создание сценариев , программирование общего назначения, образование в области информатики и исследования. | [32] [33] |
Схема | 1970 | Гай Л. Стил , Джеральд Сассман | Функциональный язык программирования с минималистской философией дизайна, определяющий небольшое стандартное ядро с мощными инструментами расширения языка. | [12] |
Схема в одном Defun ( SIOD ) | 1988 | Джордж Дж. Карретт | Реализация Small Scheme, написанная на C, предназначенная для встраивания в программы C. | |
НАВЫК | 1990 | Системы проектирования Cadence | Используется в качестве языка сценариев и языка описания PCell, используемого во многих EDA от Cadence. пакетах программного обеспечения | [34] |
Т | 1984 | Джонатан А. Рис, Норман И. Адамс | Диалект схемы , разработанный в начале 1980-х годов Джонатаном А. Рисом, Кентом М. Питманом и Норманом И. Адамсом из Йельского университета в качестве эксперимента по разработке и реализации языка. | [35] |
TXR | 2009 | Каз Кылхеку | Состоит из диалекта Лиспа (TXR Lisp) и языка шаблонов для обработки текста (TXR Pattern Language). | [36] |
Хронология [ править ]
1958 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ЛИСП 1, 1.5, ЛИСП 2 (заброшенный) | |||||||||||||||
Маклисп | |||||||||||||||
Интерлисп | |||||||||||||||
леев | |||||||||||||||
Лисп-машина Лисп | |||||||||||||||
Схема | Р5РС | Р6РС | R7RS маленький | ||||||||||||
НОЛЬ | |||||||||||||||
ЗИЛ (язык реализации Zork) | |||||||||||||||
Франц Лисп | |||||||||||||||
Общий Лисп | стандарт ANSI | ||||||||||||||
Лисп | |||||||||||||||
Схема СО | |||||||||||||||
XLISP | |||||||||||||||
Т | |||||||||||||||
На схеме | |||||||||||||||
Эмакс Лисп | |||||||||||||||
АвтоЛИСП | |||||||||||||||
ПикоЛисп | |||||||||||||||
Гамбит | |||||||||||||||
EuLisp | |||||||||||||||
ИСЛИСП | |||||||||||||||
ОпенЛисп | |||||||||||||||
Схема PLT | Ракетка | ||||||||||||||
новыйЛИСП | |||||||||||||||
GNU Коварство | |||||||||||||||
Визуальный ЛИСП | |||||||||||||||
Кложур | |||||||||||||||
Дуга | |||||||||||||||
ЛФЭ | |||||||||||||||
Он | |||||||||||||||
Хиалисп |
Ссылки [ править ]
- ^ «СИКП: Предисловие» . Архивировано из оригинала 27 июля 2001 г.
Lisp выжил, его используют уже около четверти века. Среди активных языков программирования только Фортран просуществовал дольше.
- ^ «Выводы» . Архивировано из оригинала 3 апреля 2014 г. Проверено 18 марта 2016 г.
- ^ Коэн, Брэм . «Хиалисп» . Chialisp.com .
- ^ Коэн, Брэм . «Брэм Коэн» . Твиттер .
- ^ Коэн, Брэм (27 ноября 2019 г.). «Знакомство с Чиалиспом» . Сеть Чиа . Проверено 8 апреля 2022 г.
- ^ «Аннотированная библиография ACL2» .
- ^ Грэм, Пол. «Часто задаваемые вопросы по дуге» . Проверено 18 марта 2016 г.
- ^ «АвтоЛИСП» . Проверено 14 апреля 2014 г.
- ^ «ББН-ЛИСП» . Семейство Интерлисп . Группа сохранения программного обеспечения . Проверено 17 марта 2016 г.
- ^ «Кложур» . Сайт Clojure.org . Проверено 15 сентября 2015 г.
- ↑ Перейти обратно: Перейти обратно: а б «CLHS: О Common Lisp HyperSpec: Информация об авторстве» . Лиспворкс . Проверено 1 мая 2019 г.
- ↑ Перейти обратно: Перейти обратно: а б Стил, Гай Л. младший (1981). Язык Common Lisp, 2-е изд . Цифровая пресса. ISBN 978-1-55558-041-4 .
Common Lisp — это новый диалект Lisp, преемник MacLisp, на которого сильно повлияли ZetaLisp и в некоторой степени Scheme и InterLisp.
- ↑ Перейти обратно: Перейти обратно: а б «Язык Common Lisp: объявления типов» .
- ^ «Мой опыт работы с Lisp и разработка GNU Emacs» . ГНУ . Проверено 18 марта 2016 г.
- ^ «Обзор EuLisp» (PDF) . www.softwarepreservation.org . Проверено 18 марта 2016 г.
- ^ Габриэль, Ричард П. (май 1985 г.). Производительность и оценка систем Lisp (PDF) . Массачусетский технологический институт Пресс ; Серия «Компьютерные системы». ISBN 0-262-07093-6 . LCCN 85-15161 .
- ^ «[Sweng-gamedev] Языки более высокого уровня (было: многоплатформенная балансировка нагрузки нового поколения)» . Архивировано из оригинала 12 апреля 2007 года.
- ^ Тейтельман, Уоррен (апрель 1972 г.), «Делай то, что я имею в виду», Компьютеры и автоматизация : 8–11 .
- ^ «Язык программирования ISLISP» . Архивировано из оригинала 22 января 2016 года . Проверено 18 марта 2016 г.
- ^ Шайу, Жером (1983). «LE LISP 80 версия 12» (PDF) . ИНРИА . Проверено 16 марта 2012 г.
- ^ Шайу, Ж.; Девин, М.; Халлот, Дж. М. (1984). «Le_Lisp, портативная и эффективная система Lisp» (PDF) . ИНРИА . Проверено 16 марта 2012 г.
- ^ Шайу, Жером (ноябрь 2001 г.). INRIA_Lisp: Справочное руководство. Версия 14 . Рокенкур Франция : INRIA . п. 190.
- ^ «Руководство по использованию Lisp-машины» (PDF) . Массачусетский технологический институт . Проверено 18 марта 2016 г.
- ^ «Руководство по LispKit (Том 1)» (PDF) . Оксфордский университет . Проверено 12 сентября 2022 г.
- ↑ Перейти обратно: Перейти обратно: а б Леви, Стивен (1984). Хакеры: герои компьютерной революции . Даблдэй. ISBN 0-385-19195-2 .
- ^ Холстед, Р.Х. «Язык для параллельных символьных вычислений» . Проверено 12 октября 2006 г.
- ^ Габриэль, Ричард П. (май 1985 г.). Производительность и оценка систем Lisp (PDF) . Массачусетский технологический институт Пресс ; Серия «Компьютерные системы». ISBN 978-0-262-07093-5 . LCCN 85015161 .
- ^ Стил, Гай Л. младший; Габриэль, Ричард П. «Эволюция Лиспа» (PDF) . Проверено 12 октября 2006 г.
- ^ «Элигис: OpenLisp, ISLISP, ISO Lisp» . Проверено 7 апреля 2018 г.
- ^ «Сова Лисп» . Проверено 4 февраля 2020 г.
- ^ Бургер, Александр. «Внутренние структуры» . программное обеспечение-lab.de . Проверено 18 марта 2016 г.
- ^ «Добро пожаловать в Рэкет» . Проверено 15 августа 2011 г.
- ^ «Диалекты рэкета и махинаций» . Проверено 15 августа 2011 г.
- ^ Барнс, Ти Джей (1990). «НАВЫКИ: язык расширения системы САПР». Конференция по автоматизации проектирования, 1990. Материалы, 27-я конференция ACM/IEEE . ЦАП '90. дои : 10.1109/DAC.1990.114865 .
- ^ «Проект Т» . Джонатан Рис . Проверено 18 марта 2016 г.
- ^ «Язык TXR» . Каз Кылхеку . Проверено 31 августа 2017 г.