Есть лаба.
Тема - динамические базы знаний.
по-хорошему, есть меню типа
mainMenu(add) :- add .
mainMenu(del) :- del .
mainMenu(save) :- save .
mainMenu(show) :- show .
mainMenu :-
write('Enter action add/del/save/show: '),
read(Action),
mainMenu(Action).
phone('Андрей', 'Андреич', '00-00-00').
phone('Борис', 'Борисыч', '11-11-11').
phone('Володя', 'Володич', '22-22-22').
phone('Генадий', 'Генадич', '33-33-33').
phone('Денис', 'Денисыч', '44-44-44').
phone('Евлапий', 'Евлапич', '55-55-55').
phone('Жора', 'Жорович', '66-66-66').
phone('Зиновий', 'Зиновьевич', '77-77-77').
phone('Илья', 'Ильич', '88-88-88').
phone('Константин', 'Константиныч', '99-99-99').
так вот если его грузить или в лабе, или в шелле, то вроде и ошибки нет, но и правила не грузятся.
конкретно в шелле consult('base.pro') говорит true, но ничего не меняется.
знаю, что есть еще функция ['file'], но она не то, с ней пролог говорит, что не может добавлять правила через assertz
так вот вопрос. Как, блин, заставить его съесть этот файл(base.pro) так, чтобы были видны правила?
про меню написал, потому что в правиле mainMenu/0 стоял раньше consult, но это ничего не меняло
ах да, гуглится только офф мануал по языку, а там 2 строчки написано с описанием фукнции и больше ничего
версия интерпретатора: swi-prolog 6.2.6