Программирование на прологе в Ubuntu

Мне интересно играть и возиться с прологом, я установил swi-prolog и добавил репозиторий, на всякий случай, если кому-то интересно, какие команды я использовал:

% sudo apt-add-repository ppa:swi-prolog/stable
% sudo apt-get update
% sudo apt-get install swi-prolog

Как мне на самом деле начать писать пролог-коды на моей Linux-машине? для моего обычного программирования я использую VIM для записи/редактирования/отладки и терминал для компиляции. Могу ли я использовать vim для написания пролога? Как мне скомпилировать или использовать интерпретатор пролога (думаю, так он и называется)?


person octain    schedule 07.12.2013    source источник
comment
Обратите внимание, что SWI-Prolog можно установить прямо из репозиториев Ubuntu (т. е. без PPA): sudo apt-get swi-prolog.   -  person Flux    schedule 20.02.2019
comment
Спасибо @Flux, но должно быть sudo apt-get install swi-prolog   -  person Genius    schedule 03.11.2020
comment
@Гений Да. Спасибо. Это была опечатка.   -  person Flux    schedule 03.11.2020


Ответы (6)


Да, вы можете использовать любой текстовый редактор, в т.ч. ВИМ. После того, как вы написали исходный файл Prolog, скажем, file.pl, вы можете загрузить его в SWI-Prolog следующим образом:

swipl -s file.pl

Это скомпилирует ваш файл и перенесет вас в интерактивную оболочку, где вы сможете задать запросы к определениям в вашем файле.

Если вы хотите использовать свою программу Prolog в пакетном режиме, вы можете использовать:

swipl -s file.pl -t goal

где goal — цель/запрос, который вы хотите оценить. Обратите внимание, что в этом случае у вас не будет возможности запросить альтернативные решения.

person Christian Fritz    schedule 08.12.2013
comment
Спасибо, я поиграю с ними, есть ли команда, с помощью которой я могу выйти из оболочки пролога? Я ненавижу открывать и закрывать свой терминал каждый раз, когда я хочу перезапустить или отредактировать код - person octain; 08.12.2013
comment
Подсветка синтаксиса в VIM и обходной путь для VIM, распознающего файлы .pl как Perl, а не Prolog, обсуждаются здесь: stackoverflow.com/questions/19610734/ - person Paul Brown; 20.05.2018

В Ubunutu я начал с emacs, который хотя бы подсвечивает синтаксис:

http://www.swi-prolog.org/FAQ/GnuEmacs.html

(2 предложения emacs на этой странице ^)

Но теперь я использую пролог в гневе, я использую плагин Eclipse под названием PDT:

http://sewiki.iai.uni-bonn.de/research/pdt/docs/v2.1/start

Особенно полезной является построчная отладка и трассировка в реальном времени, так что вы можете входить, перешагивать через отдельные предикаты, отслеживать имена переменных и т. д., точно так же, как в другой реальной IDE, которую вы найдете в eclipse.

Вероятно, стоит установить только в том случае, если вы собираетесь использовать его МНОГО, так как установка требует много работы, но это отличная IDE.

Но если вам нравятся редакторы низкого уровня, такие как VIM, вам придется использовать инструменты отладки и трассировки, встроенные в swi-prolog, см.:

http://www.swi-prolog.org/pldoc/man?section=debugger

Чтобы понять, как работает странный и красивый интерпретатор пролога, необходимо использовать какой-либо трассировщик.

person magus    schedule 09.12.2013
comment
спасибо за предложение, обязательно попробую, я никогда не был слишком силен в IDE, особенно в eclipse, мне больше всего нравится VIM, я раньше использовал emacs и попробую - person octain; 11.12.2013

Я лично использую gprolog или swipl в интерпретируемой среде. Итак, вы записываете факты и правила в файл mydb.pl и открываете интерпретатор в том же каталоге. Как только появится приглашение, вы можете запросить

['mydb.pl'].

для загрузки вашей базы данных. теперь вы можете либо увидеть предупреждения\ошибки, либо начать запрашивать из интерпретатора пролога.

person majik    schedule 13.03.2018

Вы можете использовать любой текстовый редактор для написания кода. Просто не забудьте сохранить свой код с расширением .pl, например fibo.pl. После этого откройте терминал и перейдите в место, где вы сохранили свой код. После этого введите prolog После этого напишите имя вашего файла без расширения .pl и завершите его . ['fibo']. и нажмите возврат

Например, cd /home/student/14917
prolog
['fibo'].


Здесь fibo.pl — название моей программы

person mohit saraswat    schedule 06.03.2019

Я использую пролог SWI с Sublime Text на Mac. Работает очень хорошо. В Sublime Text вы просто нажимаете cmd - B, чтобы запустить код, и вывод появляется в окне в Sublime Text. Для этого есть пакет здесь.

person Community    schedule 07.03.2019

приятель, я также использую vim для редактирования кода пролога. Что я лично делаю, так это сохраняю свой файл пролога с расширением «.pl», а затем на терминале я использую интерактивную среду пролога для просмотра моего файла, например:

Чтобы запустить интерактивную среду пролога, просто введите On terminal:

prolog

Теперь, когда вы вошли в SWI-пролог, вы можете использовать 'consult', т.е. предопределенные псевдопредикаты позволяют загружать код Пролога в работающий интерпретатор Пролога:

?- consult("filename.pl")

Это оно!

person Shubham Shejaval    schedule 31.03.2021