2009/6/18 Peter Szeredi <szeredi(a)cs.bme.hu>hu>:
Ez is mukodik, csak sosem lep ki a korlat. Ez
tehat egy memoria-luk
(memory-leak) lenne, amit fontos elkerulni.
Ha mindegyik változó ground lesz, akkor amúgy is begyûjtõdik a korlát,
mert nincs mire felébrednie. Azt pedig az ébredési feltételek miatt
nem éri el az eredeti program, hogy mindig kilépjen, ha már nincs rá
szükség, mivel min(Y) vagy max(X) változására nem ébred fel:
| ?- assert(clpfd:full_answer).
yes
| ?- X in 1..10, Y in 1..10, lseq(X, Y), X #< 5, 5 #< Y.
user:lseq(X,Y),
X in 1..4,
Y in 6..10 ? ;
no
| ?- X in 1..10, Y in 1..10, lseq(X, Y), X = 5, 5 = Y.
X = 5,
Y = 5 ? ;
no
| ?-
E miatt nem látom, miért lenne ez a részleges vizsgálat jobb kompromisszum.
Igen, lehet, hogy rossz kompromisszumot kotottem sajat magammal. A lseq egy
"Moricka" pelda, amin megprobaltam bemutatni a globaliskorlat-iras
csinyjat-binyjat. Ugyanakkor torekedtem arra is, hogy a beepitett #=<
korlathoz is hasonlitson. Most ugy latom, hogy ez utobbi felesleges, tehat
jovore minmax ebredesi feltetellel tervezem elmondani az lseq-t...
-Peter