🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #731

Re: [prolog] dlaczego źle?

#731
From: Adam Miauczynski
Date: Thu, 05 Jan 2006 10:03
42 lines
2436 bytes
To znowu ja. Wlasnie zauwazylem, ze nie zrozumialem do konca tego przykladu z poprzednimi i 
nastepnymi latami  (poprzedni i nastepny rok nie sa oczywiscie liczbami ale jakos zapisanymi datami 
ale tak to jest jak jezyk nie ma typow ;) ). Moja argumentacja z "typami" jest wiec do bani. 

Nalezy to raczej argumentowac w ten sposob, ze predykat get_year bedzie pobieral rok z daty, ktora 
jest nieukonkretniona zmienna a wtedy taki rok tez powinien byc nieukonkretniona zmienna i jako 
taki nie moze wystapic w wyrazniu arytmetycznym w predykacie is.

Nie wiem jak wygladaja predykaty get_year i set_year. Moze jakos tak:

<code>
get_year(data(_, _, Rok), Rok).
set_year(Rok, data(Dzien, Miesiac, _), data(Dzien, Miesiac, Rok)).
</code>

Przy powyzszych definicjach gdy zapytamy sie nastepujaco:

?- next_year(data(5, 1, 2006), X).

X = data(5, 1, 2007) 

to otrzymamy poprawna date od dzis za rok.

Ale gdy sprobujemy wyliczyc date od dzis w tyl o rok:

?- next_year(X, data(5, 1, 2006)).
ERROR: Arguments are not sufficiently instantiated
^  Exception: (8) _L326 is _G240+1 ?

to program "wysypie" sie na predykacie is, gdyz zmienna nieukonkretniona X wyraza 
nieukonkretniona date (dowolna) tak wiec i pobrany rok jest dowolny (nieukonkretniona zmienna 
_G240) a co za tym idzie nie da sie policzyc wartosci wyrazenia, w ktorym jeden ze skladnikow sumy 
jest nieukonkretniony.

Mam nadzieje, ze tym razem nie popelnilem za wielu bledow w argumentacji :)

Pozdrawiam,
Adam Miauczynski


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Technical Details
Message-ID: <dpiqu9$o57$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <dk8ko1$ccd$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Adam Miauczynski" <adam.miauczynski@gazeta.SKASUJ-TO.pl>
Newsgroups: pl.comp.lang.funkcyjne
Subject: Re: [prolog] dlaczego źle?
Date: Thu, 5 Jan 2006 10:03:53 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 42
Message-ID: <dpiqu9$o57$1@inews.gazeta.pl>
References: <dk8ko1$ccd$1@inews.gazeta.pl>
NNTP-Posting-Host: tarnica.im.pwr.wroc.pl
X-Trace: inews.gazeta.pl 1136455433 24743 172.20.26.234 (5 Jan 2006 10:03:53 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Thu, 5 Jan 2006 10:03:53 +0000 (UTC)
X-User: adam.miauczynski
X-Forwarded-For: 172.20.6.162
X-Remote-IP: tarnica.im.pwr.wroc.pl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit