SWI-Prolog

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
SWI-Prolog
Перший випуск 1987
Стабільний випуск 5.10.1
Написано на C, C++
Операційна система Багатоплатформність
Доступні мови Англійська
Тип Логічне програмування
Ліцензія LGPL
Сайт swi-prolog.org

SWI-Prolog реалізація мови програмування Пролог, яка найчастіше використовується в навчанні, та програмуванні семантичної павутини. Має багато функцій, зокрема, бібліотеки для програмування логіки обмежень, багатонитевості, модульного тестування, GUI, інтерфейси до Java, ODBC та інші, literate programming, веб-сервер, SGML, RDF, RDFS, інструменти для розробки (включно з IDE з графічним зневаджувачем та профайлером), та вичерпну документацію.

SWI-Prolog працює на платформах Unix, Windows, та Macintosh.

SWI-Prolog перебуває в постійній розробці з 1987. Його основним автором є Jan Wielemaker. Назва SWI успадкована від Sociaal-Wetenschappelijke Informatica ("Соціальна інформатика"), колишня назва групи в Університеті Амстердаму, де працював Wielemaker. Назва групи була замінена на HCS (англ. Human-Computer Studies).

Інтерфейс користувача[ред.ред. код]

SWI-Prolog запускається командою

swipl

або

prolog


Спочатку, він очікує лише запитів, кожен з яких закінчується крапкою. Спроба написати програму спричинить помилку:

 ?- human(john).
ERROR: Undefined procedure: human/1

Тут ?- - привітання системи. Означає що вона очікує запиту.

Програми зберігаються в файлах, і потім передаються інтерпретатору Пролога, за допомогою запиту[1]

?-consult(file). 

який можна написати скорочено:

?-[file].

Щоб ввести програму прямо з клавіатури, потрібно написати команду[1]

?-consult(user).

чи

?-[user].

Тоді все аж до наступного натиснення Ctrl+D дописується в базу даних.

XPCE[ред.ред. код]

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

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

PceEmacs[ред.ред. код]

PceEmacs вбудований редактор SWI-Prolog. PceEmacs - клон Emacs реалізований мовою Пролог (та XPCE). Підтримує правильні відступи, підсвітку синтасису, перевірку синтаксису парсером.

JPL[ред.ред. код]

JPL - двосторонній інтерфейс між Java та Prolog.[2] Потребує SWI-Prolog та Java SDK,[3] та встановлюється як елемент SWI-Prolog.[4]

Дивіться також[ред.ред. код]

Посилання[ред.ред. код]