SWI-Prolog


SWI-Prolog — это свободная (открытая) реализация языка программирования Prolog, часто используемая для преподавания и приложений Semantic Web. Эта реализация предоставляет богатый набор возможностей, библиотеки для constraint logic programming, многопоточности, юнит-тестирования, GUI, интерфейс к языку программирования Java, ODBC и т. д., поддерживает литературное программирование, содержит реализацию веб-сервера, библиотеки для SGML, RDF, RDFS, средства разработчика (включая IDE с графическими отладчиком и профилировщиком), и обширную документацию.

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

SWI-Prolog постоянно развивается, начиная с момента создания в 1987 году. Его создателем и основным разработчиком является Jan Wielemaker. Название SWI происходит от Sociaal-Wetenschappelijke Informatica («Social Science Informatics»), первоначального названия группы в Амстердамском университете, где работает Wielemaker. Позже название этой группы сменилось на HCS (Human-Computer Studies).

XPCE

XPCE — это платформо-независимый GUI тулкит для SWI-Prolog, Lisp и других интерактивных динамически типизированных языков программирования. Хотя XPCE замышлялся, как не привязанный к конкретному языку программирования, наибольшую популярность этот фреймворк получил именно с Prolog. Развитие графической библиотеки XPCE было начато в 1987, совместно с началом работ над SWI-Prolog.

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

PceEmacs

PceEmacs — встроенный в среду SWI-Prolog текстовый редактор. PceEmacs — это клон Emacs, написанный на Prolog (и XPCE). Он поддерживает автоматические отступы, подсветку синтаксиса, полную проверку синтаксиса путём вызова парсера SWI-Prolog, предупреждения о singleton переменных и поиск определений предикатов на основе исходного кода в Prolog-базе данных.