SWI-Prolog

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 18:34, 1 грудня 2020, створена Goo3Bot (обговорення | внесок) (дивіться також → див. також)
Перейти до навігації Перейти до пошуку
SWI-Prolog
ТипЛогічне програмування
РозробникJan Wielemakerd
Перший випуск1987
Стабільний випуск5.10.1
Операційна системаБагатоплатформність
Мова програмуванняC, C++
Доступні мовиАнглійська
ЛіцензіяLGPL
Репозиторійgithub.com/SWI-Prolog/swipl
Вебсайтswi-prolog.org

SWI-Prolog реалізація мови програмування Пролог, яка найчастіше використовується в навчанні, та програмуванні семантичної павутини. Має багато функцій, зокрема бібліотеки для програмування логіки обмежень[en], багатонитевості, модульного тестування, GUI, інтерфейси до Java, ODBC та інші, literate programming[en], веб-сервер, SGML, RDF, RDFS[en], інструменти для розробки (включно з 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[en] для 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].

Див. також

Примітки

Посилання