Вопросы по теме 'gnu-prolog'
Проблема с `\+` в запросах Prolog с переменными
Я читаю банкомат «Семь языков за семь недель», и я озадачен каким-то запросом на Прологе, на который я не понимаю ответа «нет».
Файл friends.pl выглядит так:
likes(wallace, cheese).
likes(grommit, cheese).
likes(wendolene, sheep).
friend(X,...
565 просмотров
schedule
22.09.2022
Segfaults Gnu Prolog в простой математике
Учитывая следующий код:
example1(X) :- X is 1.
example2(X) :- X is 1+1.
когда я запускаю его с помощью gprolog, я получаю:
$ gprolog
GNU Prolog 1.4.0
By Daniel Diaz
Copyright (C) 1999-2011 Daniel Diaz
| ?- ['example'].
compiling...
364 просмотров
schedule
22.03.2023
Стандартный способ увидеть, какая фраза / 3 переводится?
Я пытаюсь разобраться в поведении GNU Prolog:
test(X,I,O) :- phrase(X,I,O).
?- test(("a",!,"b"),"ab","").
Есть ли стандартный способ увидеть, на что переводится фраза / 3?
Согласно предложению ISO DCG (*), существует требование, чтобы у...
456 просмотров
schedule
01.08.2023
директива gprolog include не работает
Я запускаю gprolog версии 1.4.2 на машине Fedora 17 Linux.
Я написал небольшую программу на прологе, которая работает нормально. Я определил в нем несколько предикатов, которые хочу использовать в других пролог-программах. Поэтому я решил...
803 просмотров
schedule
29.07.2022
Ошибка подтверждения GNU Prolog
Я новичок в Прологе, но я застрял в этой якобы простой команде. Я загрузил базу знаний без ошибок, и всякий раз, когда я пытаюсь выполнить assert (и даже help ), я получаю следующее сообщение:
uncaught exception:...
2140 просмотров
schedule
03.03.2023
gnu-prolog - ошибка предиката инициализации
При компиляции и запуске кода ниже ( pl_check_input.pl ) я получаю " user directive failed " в строке ":-initialization..."
:- dynamic(doit/0).
:- initialization(doit).
:- include(head).
doit :-
readFB(user_input),
writeFB,
halt.
:-...
774 просмотров
schedule
01.11.2022
В чем разница между целями без call/2 и без call/2 в прологе?
В чем разница между этими двумя целями?
foo(A) :- A, !, fail.
foo(A).
foo(A) :- call(A), !, fail.
foo(A).
Кажется, они ведут себя одинаково? Какова цель call/1 и есть ли пример, когда это имеет значение?
51 просмотров
schedule
01.08.2022