Вопросы по теме 'iso-prolog'
Получение минимального значения списка
Я пытаюсь найти минимальное значение списка (в качестве учебного опыта, поэтому без min ).
Мой подход следующий:
minimo([X], X).
minimo([X,Y|Tail], N):-
(X > Y, minimo([Y,Tail], Y));
(X <= Y, minimo([X,Tail], X)).
Это дает...
9057 просмотров
schedule
03.10.2022
Расширение для CFG, что это такое?
Рассмотрим следующее расширение контекстно-свободных грамматик, позволяющее правилам иметь в левой части один (или более) терминал справа от нетерминала. То есть правила вида:
A b -> ...
Правая часть может быть чем угодно, как в...
497 просмотров
schedule
06.09.2022
Есть ли в Prolog условие и система перезапуска, как в Common Lisp?
Common Lisp позволяет обрабатывать исключения через условия и перезапуски . Грубо говоря, когда функция выдает исключение, «ловец» может решить, как/должен ли действовать «выбрасыватель». Предлагает ли Prolog подобную систему? Если нет, можно ли...
398 просмотров
schedule
01.02.2023
Правила экранирования атома в Прологе
Мне нужно экспортировать в файл программу Prolog, выраженную с использованием произвольного представления термина в Java. Идея состоит в том, что интерпретатор Пролога должен иметь возможность впоследствии обращаться к сгенерированному файлу. Мой...
374 просмотров
schedule
13.04.2022
Каковы лучшие практики программирования на Прологе и рекомендации по стилю?
Хорошо, я знаю, что это очень общий вопрос и что по этому вопросу было написано несколько статей, но у меня такое ощущение, что эти публикации охватывают очень базовый материал, и я ищу что-то более продвинутое, что улучшило бы стиль и эффективность....
2196 просмотров
schedule
05.04.2024
Равенство двух списков переменных
Как определить мета-логический предикат, который проверяет (то есть успешно или только неуспешно), если два списка уникальных переменных содержат точно такие же переменные, используя встроенные модули из текущего стандарта ISO (ISO / IEC 13211-1:...
1071 просмотров
schedule
21.07.2023
Реализация определяемых пользователем арифметических функций
Как я могу добавить функцию (например, hammingweight) и использовать ее в выражениях, встречающихся в правой части, это некоторая (is)/2 цель?
Может ли здесь помочь что-то вроде target_expansion или term_expansion?
Я признаю, что это небольшая...
456 просмотров
schedule
07.09.2022
Поведение `nth0/3`, когда N не привязан
Если я наберу в SWI Prolog запрос "nth0", результат будет таким:
?- nth0(N,X,a).
N = 0,
X = [a|_G282] ;
N = 1,
X = [_G281, a|_G285] ;
N = 2,
X = [_G281, _G284, a|_G288] ;
... etc
однако в руководстве SWI сказано:
Errors...
214 просмотров
schedule
05.03.2023
Список предикатов в заданном библиотечном модуле
Есть ли способ составить список всех предикатов, определенных в данном библиотечном модуле для SICStus Prolog?
например если я загружу модуль списков:
| ?- use_module(library(lists)).
есть ли другой предикат, который я могу запустить из...
142 просмотров
schedule
25.01.2023