SWI-Prolog

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
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 багатоплатформенний інструментарій GUI[en] для SWI-Prolog, Lisp та інших динамічно типізованих мов. І хоча XPCE створювався як незалежний від мови, він отримав популярність в основному завдяки Прологу. Розробка інструментарію XPCE почалась теж у 1987 разом з SWI-Prolog.

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

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

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

Див. також

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

Примітки

[ред. | ред. код]
  1. а б Finding your way around SWI-Prolog. Архів оригіналу за 10 травня 2011. Процитовано 19 квітня 2011.
  2. JPL. Архів оригіналу за 27 травня 2011. Процитовано 19 квітня 2011.
  3. Інсталяція JPL. Архів оригіналу за 16 липня 2011. Процитовано 19 квітня 2011.
  4. stackoverflow.com. Архів оригіналу за 21 серпня 2010. Процитовано 19 квітня 2011.

Посилання

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