ISLISPISLISP (или ISLisp) язык программирования из семейства языков LISP, спецификация которого была разработана рабочей группой ISO/IEC JTC 1/SC 22/WG 16[1] (обычно называемой просто SC22/WG16 или WG16). Целью разработки было определение компактного языка, который объединял бы в себе общие черты реально используемых в промышленных целях диалектов Лиспа и мог бы помочь преодолеть различия между ними. Первый вариант был опубликован ISO в 1997 году под названием «ISO/IEC 13816:1997(E)». Обновление выпущено в 2007 году и опубликовано как «ISO/IEC 13816:2007(E)».[2] Официальные публикации стандарта проходили через ISO, но доступны черновики спецификаций, находящиеся в общественном достоянии.[3] ISLISP характеризуется как «идеологически совместимый» с Common Lisp, он построен на тех же основных архитектурных принципах (лексическая область видимости, отдельные пространства имён для функций и переменных, макросистема, поддержка ООП), но не является его подмножеством. Спецификация ISLISP приблизительно в десять раз меньше по объёму, чем спецификация Common Lisp. Принципы и целиРабочая группа изучала основные "живые" на момент разработки диалекты Лиспа, в первую очередь Common Lisp, EuLisp, Le Lisp, и Scheme; в стандарт включались только общие для них средства. Согласно сайту ISLISP.info, ISLISP строился на следующих принципах:
ISLISP, подобно Common Lisp, поддерживает лексическую область видимости (хотя позволяет с помощью специальных средств использовать и динамические переменные), а также реализует отдельные пространства имен для функций и переменных (следовательно, это Lisp-2 ). Объектная система ISLISP, ILOS, по большей части является подмножеством CLOS. Реализации
Две старые реализации, недоступные в настоящее время:
Примечания
Ссылки |