SWI-Prolog - это бесплатная реализация языка программирования Prolog , обычно используемого для обучения и семантических веб- приложений. Он имеет богатый набор функций, библиотеки для программирования логических ограничений , многопоточность , модульное тестирование , графический интерфейс , взаимодействие с Java , ODBC и другими, грамотное программирование , веб-сервер , SGML , RDF , RDFS , инструменты разработчика (включая IDE с Отладчик графического интерфейсаи профилировщик графического интерфейса ), а также обширную документацию.
Автор (ы) оригинала | Ян Вилемакер |
---|---|
Разработчики) | Ян Вилемакер, Аньо Аньевиерден и др. |
Первый выпуск | 1987 |
Стабильный выпуск | 8.2.4 / 27 января 2021 г . |
Предварительный выпуск | 8.3.24 / 10 мая 2021 г . |
Написано в | C , Пролог |
Операционная система | Кроссплатформенность |
Доступно в | английский |
Тип | Логическое программирование |
Лицензия | Упрощенная BSD , LGPL до версии 7.3.33 |
Веб-сайт | swi-prolog |
SWI-Prolog работает на платформах Unix , Windows , Macintosh и Linux .
SWI-Prolog находится в постоянном развитии с 1987 года. Его главный автор - Ян Вилемакер.
Название SWI происходит от Sociaal-Wetenschappelijke Informatica (« Информатика социальных наук»), бывшего названия группы в Амстердамском университете , где работает Вилемакер. Название этой группы было изменено на HCS (Human-Computer Studies).
Веб-фреймворк
SWI-Prolog устанавливается вместе с веб-фреймворком, основанным на грамматиках с определенными предложениями . [1]
Распределенных вычислений
Запросы SWI-Prolog могут быть распределены по нескольким серверам и веб-страницам через систему Pengines. [2]
XPCE
XPCE - это платформенно-независимый объектно-ориентированный [3] набор инструментов графического интерфейса пользователя для SWI-Prolog, Lisp и других интерактивных языков с динамической типизацией . Хотя XPCE был разработан как независимый от языка, он приобрел популярность в основном с Prolog. Разработка графического инструментария XPCE началась в 1987 году вместе с SWI-Prolog.
Он поддерживает кнопки , меню , ползунки , вкладки и другие основные виджеты графического интерфейса . XPCE доступен для всех платформ, поддерживаемых SWI-Prolog.
PceEmacs
PceEmacs - это встроенный редактор SWI-Prolog. PceEmacs - это клон Emacs, реализованный на Prolog (и XPCE). Он поддерживает правильный отступ , выделение синтаксиса , полную проверку синтаксиса путем вызова синтаксического анализатора SWI-Prolog , предупреждения для одноэлементных переменных и поиск определений предикатов на основе исходной информации из базы данных Prolog.
Интерфейс между Java и Prolog (JPL)
JPL - это двунаправленный интерфейс между Java и Prolog. [4] Для этого требуются как SWI-Prolog, так и Java SDK . [5] Устанавливается как часть SWI-Prolog.
Библиотеки программирования логических ограничений (CLP)
Функциональность программирования логических ограничений появилась на довольно позднем этапе существования SWI-Prolog, поскольку не имела базовой поддержки. [6] Это изменилось в начале 2004 года, когда в язык были добавлены переменные с атрибутами. Библиотека Leuven CHR была тогда первой библиотекой CLP, перенесенной на SWI-Prolog. Мы упоминаем библиотеку INCLP (R) SWI-Prolog (Де Конинк и др., 2006), которая обеспечивает нелинейные ограничения для вещественных чисел и была реализована поверх CHR. Позже появился перенос библиотеки CLP (QR) Кристиана Хольцбаура и решателя CLP (FD) конечной области. Наконец, был добавлен логический решатель CLP (B). [7]
Смотрите также
- Пролог
- Сравнение реализаций Prolog
Рекомендации
- ^ Wielemaker, Ян; Хуанг, Чжишэн; ван дер Мей, Лоуренс (2008). «SWI-Prolog и Интернет» (PDF) . Теория и практика логического программирования . 8 (3): 363–392. DOI : 10.1017 / S1471068407003237 . S2CID 5404048 .
- ^ Вилемакер, Ян; Лагер, Торбьорн (14 мая 2014 г.). "Pengines: простое программирование WebLogic". Теория и практика логического программирования . 14 (спецвыпуск 4–5): 539–552. arXiv : 1405.3953 . DOI : 10.1017 / S1471068414000192 . S2CID 9949345 .
- ^ Программирование в XPCE / Prolog .
- ^ Пол Синглтон, Фред Душин, Ян Вилемейкер (февраль 2004 г.). «JPL: двунаправленный интерфейс Prolog / Java» . SWI-Prolog .CS1 maint: использует параметр авторов ( ссылка )
- ^ Пол Синглтон (февраль 2004 г.). «Установка JPL 3.x» . SWI-Prolog .
- ^ Ян Вилемакер, Том Шрайверс, Маркус Триска, Торбьорн Лагер: SWI-Prolog. TPLP 12 (1-2): 67–96 (2012).
- ^ Маркус Триска: решатель логических ограничений SWI-Prolog (описание системы). ФЛОПС 2016: 45–61.
Внешние ссылки
- Официальный веб-сайт