Gnu Prolog не принимает никаких пользовательских определений

#prolog #gnu-prolog

#пролог #gnu-prolog

Вопрос:

Я пытаюсь изучить Prolog. Я установил Gnu Prolog 1.4.4 на свой Mac. Я непосредственно следовал примеру, приведенному в Руководстве Gnu Prolog, раздел 4.2.3, «Консультация с программой Prolog», но я не получаю ожидаемых результатов:

 Compiled Sep 26 2016, 00:06:17 with clang
By Daniel Diaz
Copyright (C) 1999-2013 Daniel Diaz
| ?- [user].
compiling user for byte code...
even(0).
even(s(s(X))) :- even(X).
/* Hit Ctl-D here. */
user compiled, 3 lines read - 360 bytes written, 19084 ms

(1 ms) yes
| ?- even(X).
uncaught exception: error(existence_error(procedure,even/1),top_level/0)
  

Я получаю те же (плохие) результаты, когда использую внешний файл со своими определениями. Есть идеи, что происходит не так? Спасибо.

Комментарии:

1. В этом примере нет ничего плохого. Вероятно, что-то не так с компиляцией самого GNU Prolog. Как вы его установили / скомпилировали?

2. brew устанавливает gnu-prolog.

3. Можете ли вы удалить его и попробовать вместо него бинарный установщик, который вы можете загрузить с веб-сайта GNU Prolog?