Article View: pl.comp.lang.funkcyjne
Article #728[prolog] dlaczego źle?
From: Zbyszek Malec
Date: Tue, 01 Nov 2005 20:55
Date: Tue, 01 Nov 2005 20:55
30 lines
1899 bytes
1899 bytes
Hej
Mam taki przykład do samodzielnego zastanowienia się, dlaczego to jest
źle. Przykład pochodzi z jakiegoś internetowego kursu i niestety nie ma
tam podanej odpowiedzi. Ja wymyśliłem jedną, ale nie wiem czy jest
prawidłowa. Być może ktoś mógłby napisać czy dobrze myślę.
<code>
next_year(Today,NextYear):-
get_year(Today,Y), NY is Y+1, set_year(NY,Today,NextYear).
prev_year(Today,PrevYear):-
get_year(Today,Y), PY is Y-1, set_year(PY,Today,PrevYear).
Note, that following definition of prev_year using next_year is not
correct. Do you know why?
prev_year(Today,PrevYear):-next_year(PrevYear,Today). %incorrect
</code>
Moim zdaniem chodzi o to, że próbując znaleźć związek korzystając z
reguły next_year, interpreter będzie szedł w przyszłość, zamiast
skorzystać z czegoś na kształt pattern matchingu.
Ps. Nie jestem pewien czy na dobrej grupie pytam. Jeśli nie, to jaka
była by odpowiedniejsza?
Ps2. Sorki za ewentualne niedokonfigurowanie czytnika, być może coś
przeoczyłem :]
--
Zbigniew Malec
Technical Details
Message-ID:
<dk8ko1$ccd$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Zbyszek Malec <zbyszanna@gazeta.pl> Newsgroups: pl.comp.lang.funkcyjne Subject: [prolog] dlaczego źle? Date: Tue, 01 Nov 2005 21:55:27 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 31 Message-ID: <dk8ko1$ccd$1@inews.gazeta.pl> NNTP-Posting-Host: ds11.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1130878529 12685 80.53.254.11 (1 Nov 2005 20:55:29 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Tue, 1 Nov 2005 20:55:29 +0000 (UTC) X-Accept-Language: en X-User: zbyszanna User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050831 Debian/1.7.8-1sarge2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit