Marton Jozsef Erno <mj492(a)hszk.bme.hu> writes:
Sziasztok,
azt szeretnem kerdezni, hogy a khf4 bekuldott megoldasaban miert van
szukseg a clpfd explicit betoltesere:
:- use_module(library(clpfd)).
Hiszen a clpfd betoltese nelkul mar a tesztkornyezetben szereplo step_up/2
sem volna lefordithato. Es ha a bekuldott program explicit nem tolti be a
clpfd-t, akkor futasidoben a lenti Existence error-t adja a
tesztkornyezet, amibol kovetkezoen a step_up/2 mar sikeresen lefordult,
ergo benn van a clpfd.
% loading
+/home/pp/dp/dp-shw/homeworks/04a/recent/nlp4/MartonJozsefErVZQIXX/nlp4-eval.ql.
+..
Test case user:globtest(domain([X,Y,Z],0,9),max_lt([X,Y],Z),true,Res)
failed due
+to
! Existence error in '$module_being_tested':fd_global/3
! procedure '$module_being_tested':fd_global/3 does not exist
! goal:
+'$module_being_tested':fd_global(max_lt(_7138,_7134),[_7099,_7064],[az
eloallitott szuszpenzios lista])
>>>>> Normal program termination: FAILURE
Utkozesi problemak elkerulesere a tesztkornyezet - mint a fenti
hibauzenetbol is latszik - egy '$module_being_tested' nevu modulba tolti a
tesztelendo programot. A clpfd be van toltve, de csak abban a modulban
latszik ahova importaltuk a use_module/[1,2] segitsegevel. Persze ha az
ember tobbedszer adja ki ugyanarra az allomanyra a use_module direktivat,
akkor a filet nem olvassa ujra a rendszer, csak a mar betoltottet
beimportalja, lasd pl. alabb.
-Peter
Ui. Orulok, hogy ilyen aktiv a lista, minden apro kerdesnek orulok, plane,
ha szepen meg is valaszoljatok egymasnak...
---------------------------------------------------------------------------
| ?- use_module(library(lists)).
% loading /usr/local/lib/sicstus-3.10.0/library/lists.po...
% module lists imported into user
% loaded /usr/local/lib/sicstus-3.10.0/library/lists.po in module lists, 0 msec 13664
bytes
yes
% source_info
| ?- use_module(foobar:library(lists)).
% module lists imported into foobar
yes
% source_info
| ?-