SWI-Prolog

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].

Див. також

  • Пролог (мова програмування)

Примітки

  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.

Посилання

Вікіпідручник має книгу на тему
Пролог
  • SWI-Prolog website [Архівовано 5 грудня 2013 у Wayback Machine.]
  • SWI-Prolog for WinCE
  • XPCE: the SWI-Prolog native GUI library [Архівовано 25 червня 2013 у WebCite]