ISLISP (также с большой буквы ISLisp ) - это язык программирования семейства Lisp, стандартизованный совместной рабочей группой Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC) ISO / IEC JTC 1 / SC 22 / WG 16 [1] [ постоянная мертвая ссылка ] (обычно обозначается просто SC22 / WG16 или WG16). Основным результатом этой рабочей группы стал международный стандарт , опубликованный ISO. [2] Стандарт был обновлен в 2007 году и переиздан как ISO / IEC 13816: 2007 (E). [3] [4]Хотя официальная публикация была произведена через ISO, доступны версии спецификации языка ISLISP, которые считаются общественным достоянием . [5]
Парадигмы | Мультипарадигма : функциональная , процедурная , объектно-ориентированная , рефлексивная , мета |
---|---|
Семья | Лисп |
Разработано | Многие |
Разработчики | Многие |
Язык реализации | C , C # , Go , Java , JavaScript , Lisp |
Платформа | IA-32 , x86-64 |
Операционные системы | Windows , macOS , Linux , BSD , AIX , Solaris , Android , QNX. |
Диалекты | |
dayLISP, Easy-ISLisp, Iris, ISLisproid, Kiss, OKI ISLISP, OpenLisp , PRIME-LISP | |
Под влиянием | |
Common Lisp , EuLisp , Le Lisp , Схема |
Целью этих усилий по стандартизации было определение небольшого базового языка, который помог бы преодолеть разрыв между разными диалектами Лиспа. Он попытался достичь этой цели, изучая в первую очередь Common Lisp , EuLisp , Le Lisp и Scheme и стандартизируя только те функции, которые у них общие.
Цели дизайна
ISLISP преследует следующие цели проектирования: [6]
- Совместимость с существующими диалектами Лиспа, где это возможно
- Обеспечить базовую функциональность
- Объектно-ориентированный
- Дизайн для расширяемости
- Ставьте производственные нужды выше академических.
- Продвигайте эффективные реализации и приложения
ISLISP имеет отдельные пространства имен функций и переменных (следовательно, это Lisp-2 ).
Объектная система ISLISP, ILOS, в основном является подмножеством объектной системы Common Lisp (CLOS).
Реализации
Реализации ISLISP были сделаны для многих операционных систем, включая: Windows , большинство Unix и POSIX ( Linux , macOS , FreeBSD , OpenBSD , NetBSD , Solaris , HP-UX , AIX , Cygwin , QNX ), Android , DOS , OS / 2 , Карманный ПК , OpenVMS и z / OS .
Реализации для аппаратных компьютерных архитектур включают: x86 , x86-64 , IA-64 , SPARC , SPARC9, PowerPC , MIPS , Alpha , PA-RISC , ARM , AArch64.
Имя | Создатель | Полный ISLisp | Архитектура | Написано в | Операционная система | Лицензия | Исходный код доступен |
---|---|---|---|---|---|---|---|
OpenLisp | Элигис [7] | да | интерпретатор , компилируется в C | C , Лисп | Windows , macOS , Linux , BSD , AIX , Solaris , QNX. | Проприетарный | Частичное |
OKI ISLISP [8] | Киотский университет и Oki Electric Industry Co. | да | Bytecode машина, компилируется в байткод | C | Окна | ? | Нет |
ПРАЙМ-ЛИСП | Михаил Семенов | да | Устный переводчик | C # | Окна | Проприетарные , условно-бесплатные , свободно распространяемые двоичные файлы | Нет |
Ирис [9] | Масая Танигучи [10] [ постоянная мертвая ссылка ] | Нет | Устный переводчик | Идти | любой | Бесплатная, Mozilla Public License 2.0 | Да [11] |
Iris Web REPL [12] | Масая Танигучи [13] [ постоянная мертвая ссылка ] | Нет | Интерпретатор, компилируется в JavaScript | Go, JavaScript | Браузер | Бесплатная, Mozilla Public License 2.0 | Да [14] |
Поцелуй [15] | Юдзи Минедзима [16] | Нет, не сейчас | Устный переводчик | C, Лисп | любой | Бесплатно, GPL v3 + | Да [17] |
ISLisproid [18] | Хироши Гоми | Нет | Устный переводчик | Ява | Android | Проприетарный | Нет |
dayLISP [19] | Мэтью Денсон | Нет | Устный переводчик | Java, Лисп | Любой | Бесплатно, BSD | Да [20] |
Easy-ISLisp [21] | Кеничи Сасагава | да | Интерпретатор, компилируется в C | C, Лисп | Linux, MacOS, OpenBSD | Бесплатно, BSD | Да [22] |
Две старые реализации больше не доступны:
- TISL , созданный Масато Идзуми и Такаясу Ито (Университет Тохоку), был интерпретатором и компилятором.
- G-LISP, разработанный Йозефом Елинеком, был Java-апплетом.
Рекомендации
- ^ "Почтовый архив WG16" .
- ^ «ISO / IEC 13816: 1997 (E)» . Международная организация по стандартизации . Проверено 10 ноября 2018 .
- ^ «ISO / IEC 13816: 2007 (E)» . Международная организация по стандартизации . Проверено 10 ноября 2018 .
- ^ «Язык программирования ISLISP: История» .
- ^ «Язык программирования ISLISP: Спецификация» . Архивировано из оригинала на 2016-01-22 . Проверено 20 марта 2011 .
- ^ "ISLISP.info" .
- ^ «Элигис» .
- ^ «ОКИ ИСЛИСП» .
- ^ «Ирис» .
- ^ «Масая Танигучи» .
- ^ «Исходный код Iris» .
- ^ «Ирис веб REPL» .
- ^ «Масая Танигучи» .
- ^ «Исходный код Iris» .
- ^ «Поцелуй» .
- ^ "Юдзи Минедзима" .
- ^ «Поцелуй исходный код» .
- ^ «ISLisproid» .
- ^ "dayLISP" .
- ^ "Исходный код dayLISP" .
- ^ «Easy-ISLisp» .
- ^ «Исходный код Easy-ISLisp» .
Внешние ссылки
- Проект ISLISP 2007 в формате PDF
- Проект ISLISP 2007 в формате HTML
- Страница ISLISP Кента М. Питмана
- Страница ISLISP разработчиков OKI ISLISP
- ISLISP о группе сохранения программного обеспечения