Я экспериментирую с прологом, читаю «Программирование в прологе с использованием стандарта ISO, fith edition». Я установил yap (еще один пролог) на моей ubuntu 10.10 Maverick RC-системе, установленной с помощью synaptic. Я запускаю пролог из emacs23, используя пролог-режим.yap proog read predicate
Следующий код (из главы пять из книги) не дает результатов, как в книге:
/* FILE history_base.pl */
use_module(library(lists)) /* to use member/2 */
event(1505,['Euclid',translated,into,'Latin']).
event(1510,['Reuchlin-Pfefferkorn',controversy]).
event(1523,['Christian','II',flies,from,'Denmark']).
mywhen(X,Y):-event(Y,Z),member(X,Z).
% Restoring file /usr/lib/Yap/startup
YAP version Yap-5.1.3
< reading the above file into yap>
?- mywhen("Denmark",D).
no
which is not what the book gives!
Now adding to the file above the line (from the book):
hello1(Event):- read(Date), event(Date,Event).
дает эту ошибку при чтении файла в Яп
(using "consult buffer" in the prolog menu in emacs):
?- % reconsulting /tmp/prolcomp14814QRf.pl...
SYNTAX ERROR at /tmp/prolcomp14814QRf.pl, near line 3:
use_module(library(lists))
< ==== HERE ====>
event(1505 , [ Euclid , translated , into
, Latin ]).
% reconsulted /tmp/prolcomp14814QRf.pl in module user, 0 msec 752 bytes
yes
?-
¿Любые комментарии?
Спасибо за ответ. Я сделал, как вы сказали, и теперь пролог принимает файл без проблем. Но все равно это не работает так, как ожидалось: –
Вышеупомянутый закончен слишком рано !. Он должен был продолжить: –
% reconsulted /tmp/prolcomp14814QRf.pl в пользователе модуля, 0 мс 8064 байта да ? - mywhen («Дания», D). no ? - –