Szabolcs,
:- op(100,fx,~).
p(Kif) :- ( Kif = ~_K -> write('Halo') ; write('No') ).
Megpróbáltam fcompile-al és compile-al is, az eredmény az fcomp.txt
file-ban. Az ETS ugyanezt a hibaüzenetet adta, amikor operátoros
formában próbáltam beadni a házit.
Itthon viszont valami biztosan nincs jól beállítva, ugyanis a
következő egyszerű program fcompile-al betöltve az fcomp3.txt-ben
lévő futást produkálta.
A következő a gond. Az otthoni "fordítás" azért nem megy, mert az
fcompile nem tölti be a programot, csak lefordítja egy .po kiterjesztésű
file-ba. Ami betölti fordítás közben, az a compile/1, ez viszont nem
állít elő .po-t.
A másik gond az operátordeklarációval van: a p/1 lefordításához szükség
van a ~ operátor deklarációjára, az viszont csak akkor kerül be a
rendszerbe, ha előtte betöltöd a programodat. Az fcompile/1 parancs
hatására ez, mint mondtam, nem történik meg.
--
Dávid