SWI-Prolog
SWI-Prolog | |
---|---|
Класс языка | Логическое программирование |
Тип исполнения | интерпретация |
Появился в | 1987 |
Автор | Jan Wielemaker |
Выпуск | 8.4.0 (30 сентября 2021) |
Тестовая версия | 8.5.1 |
Система типов | динамическая |
Основные реализации | SWI-Prolog |
Сайт | swi-prolog.org |
SWI-Prolog — свободная (открытая) реализация языка программирования Пролог, часто используемая для преподавания и приложений Semantic Web.
Эта реализация предоставляет богатый набор возможностей, библиотеки для логического программирования в ограничениях , многопоточности, юнит-тестирования, GUI, интерфейс к языку программирования Java, ODBC и т. д., поддерживает литературное программирование, содержит реализацию веб-сервера, библиотеки для SGML, RDF, RDFS, средства разработчика (включая IDE с графическими отладчиком и профилировщиком) и обширную документацию.
SWI-Prolog работает на платформах Unix, Windows и Macintosh.
SWI-Prolog постоянно развивается, начиная с момента создания в 1987 году. Его создателем и основным разработчиком является Ян Вилемакер . Название 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-базе данных.