SWI-Prolog - SWI-Prolog

SWI-Prolog
Оригинальный автор (ы)Ян Вилемакер
Разработчики)Ян Вилемакер, Аньо Анжеверден и др.
изначальный выпуск1987; 33 года назад (1987)
Стабильный выпуск
8.2.3 / 23 ноября 2020 г.; 25 дней назад (2020-11-23)
Предварительный выпуск
8.3.15 / 14 декабря 2020; 4 дня назад (2020-12-14)
Написано вC, Пролог
Операционная системаКроссплатформенность
Доступно ванглийский
ТипЛогическое программирование
Лицензия Упрощенный BSD, LGPL до версии 7.3.33
Интернет сайтswi-prolog.org

SWI-Prolog это свободный реализация язык программирования Пролог, обычно используется для обучения и семантическая сеть Приложения. Обладает богатым набором функций, библиотеки за программирование логики ограничений, многопоточность, модульное тестирование, GUI, взаимодействуя с Ява, ODBC и другие, грамотное программирование, а веб сервер, SGML, RDF, RDFS, инструменты разработчика (включая IDE с графическим интерфейсом отладчик и графический интерфейс профайлер ) и обширную документацию.

SWI-Prolog работает на Unix, Windows, Macintosh и Linux платформы.

SWI-Prolog непрерывно развивается с 1987 года. Его главный автор - Ян Вилемакер.

Название SWI происходит от Sociaal-Wetenschappelijke Informatica («Социальная информатика»), прежнее название группы в Амстердамский университет, где работает Wielemaker. Название этой группы было изменено на HCS (Human-Computer Studies).

Веб-фреймворк

SWI-Prolog устанавливается с веб-фреймворк на основе грамматики с определенными предложениями.[1]

Распределенных вычислений

Запросы SWI-Prolog могут быть распределены по нескольким серверам и веб-страницам через систему Pengines.[2]

XPCE

XPCE - это независимая платформа объектно-ориентированный[3] Набор инструментов GUI для SWI-Prolog, Лисп и другие интерактивные и динамически типизированные языки. Хотя XPCE был разработан, чтобы быть независимым от языка, он получил популярность в основном с Prolog. Разработка графического инструментария XPCE началась в 1987 году вместе с SWI-Prolog.

Он поддерживает кнопки, меню, ползунки, вкладки и другие основные Виджеты GUI. XPCE доступен для всех платформ, поддерживаемых SWI-Prolog.

PceEmacs

PceEmacs это встроенный редактор SWI-Prolog. PceEmacs является Emacs clone реализован в 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].

Смотрите также

Рекомендации

  1. ^ Вилемакер, Ян; Хуанг, Чжишэн; ван дер Мей, Лоуренс (2008). «SWI-Prolog и Интернет» (PDF). Теория и практика логического программирования. 8 (3): 363–392. Дои:10.1017 / S1471068407003237.
  2. ^ Вилемакер, Ян; Лагер, Торбьорн (14 мая 2014 г.). «Pengines: простое программирование WebLogic». Теория и практика логического программирования. 14 (специальный выпуск 4–5): 539–552. arXiv:1405.3953. Дои:10.1017 / S1471068414000192.
  3. ^ Программирование в XPCE / Prolog.
  4. ^ Пол Синглтон, Фред Душин, Ян Вилемейкер (февраль 2004 г.). «JPL: двунаправленный интерфейс Prolog / Java». SWI-Prolog.CS1 maint: использует параметр авторов (связь)
  5. ^ Пол Синглтон (февраль 2004 г.). «Установка JPL 3.x». SWI-Prolog.
  6. ^ Ян Вилемакер, Том Шрайверс, Маркус Триска, Торбьорн Лагер: SWI-Prolog. TPLP 12 (1–2): 67–96 (2012).
  7. ^ Маркус Триска: решатель логических ограничений SWI-Prolog (описание системы). ФЛОПС 2016: 45–61.

внешняя ссылка