InteLib – свободная библиотека классов C++, моделирующая вычислительную модель языка Лисп и предоставляющая набор операций, позволяющих описывать S-выражения Лиспа с помощью синтаксически близких арифметических выражений в рамках C++. Библиотека создана в качестве инструмента мультипарадигмального программирования.
Первая работающая версия библиотеки InteLib была написана А. Столяровым в ходе выполнения магистерской квалификационной работы на факультете ВМиК МГУ в 1999 году.
Библиотека InteLib впервые официально упоминается в статье А. Столярова и Е. Большаковой Building functional techniques into an object-oriented language, представленной на конференции JCKBSE’2000 в Брно в сентябре 2000 года.
В 2002 году состоялась защита кандидатской диссертации А. Столярова “Интеграция разнородных языковых механизмов в рамках одного языка программирования”, в которой представлен метод непосредственной интеграции, реализованный в библиотеке InteLib.
Как сказано на официальном сайте InteLib, название библиотеки происходит от слов Intelligence Library, что отражает исходное намерение автора интегрировать в проекты C++ вычислительные модели языков искусственного интеллекта.
Текущая версия библиотеки InteLib включает набор средств для работы с S-выражениями как гетерогенными структурами данных (без вычисления), а также вычислительные модели языков Лисп и Scheme (точнее говоря, диалектов InteLib Lisp и InteLib Scheme, которые не соответствуют стандартам этих языков). В комплект поставки входят интерактивные интерпретаторы обоих диалектов, а также трансляторы, принимающие на вход модуль в традиционном синтаксисе Лиспа или Scheme и создающие модуль на C++, снабжённый заголовочным файлом.
Примечание
Библиотека InteLib является свободным программным обеспечением. Сама библиотека распространяется по лицензии GNU Lesser General Public License, сопутствующие трансляторы и интерпретаторы – по лицензии GNU General Public License.
Ссылки