История изменений
Исправление runtime, (текущая версия) :
Мне не совсем понятно, почему в некоторых универах упорно студентам дают Visual Prolog (это ведь он?) вместо нормального пролога.
Собственно вопрос: какой тип надо указать предикату one_time если он получает в кач-ве аргумента результат выполнения другого предиката
У тебя тут фундаментальное непонимание, как работает пролог. У предикатов в прологе нет «результата выполнения», в том смысле, в котором о нём принято говорить в большинстве языков программирования.
Ответ на твой вопрос попробую нагуглить, но ничего не обещаю, т.к. с Visual Prolog почти не сталкивался.
Вот у меня и загвоздка в непонимании что это такое «один_раз» (one_time предикат) - может это встроенный предикат в Пролог?
Нет, он у тебя самого и определён:
один_раз(возраст(X,Y)):-возраст(X,Y),!.
К слову, в прологе есть once/1, который делает то же самое, только «правильно».
Исходная версия runtime, :
Мне не совсем понятно, почему в некоторых универах упорно студентам дают Visual Prolog (это ведь он?) вместо нормального пролога.
Собственно вопрос: какой тип надо указать предикату one_time если он получает в кач-ве аргумента результат выполнения другого предиката
У тебя тут фундаментальное непонимание, как работает пролог. У предикатов в прологе нет «результата выполнения», в том смысле, в котором о нём принято говорить в большинстве языков программирования.
Ответ на твой вопрос попробую нагуглить, но ничего не обещаю, т.к. с Visual Prolog почти не сталкивался.
Вот у меня и загвоздка в непонимании что это такое «один_раз» (one_time предикат) - может это встроенный предикат в Пролог?
Нет, он у тебя самого и определён:
один_раз(возраст(X,Y)):-возраст(X,Y),!.
К слову, в прологе есть once/1, который делает то же самое, только правильно.