A predik�tum (List.filter els� argumentuma) �ppen ezt fogalmazza meg: ha az elem true, eldobja, ha false (pontosabban b�rmi m�s, v�. _ => true, de most csak true lehet), akkor kigy�jti.
A pontoss�g kedv��rt: a List.filter els� argumentumak�nt nem egy felt�telt, azaz egy bool t�pus� kifejez�st, hanem egy predik�tumot, azaz egy bool t�pus� eredm�nyt ad� f�ggv�nyt v�r.
Helyette a Real.== vagy a Real.?= f�ggv�ny haszn�lhat�. Pl.
Most m�r az is �rthet�, hogy polit�pus� �rt�kek egyenl�s�gvizsg�latakor mi�rt figyelmeztet az smlnj: el�fordulhat, hogy a l�trehozott f�ggv�ny a k�s�bbiekben olyan �rt�kek egyenl�s�g�t akarja megvizsg�lni, amelyekre az egyenl�s�gvizsg�lat nem v�gezhet� el.
Az mosml-ben a Real.== ekvivalens az = oper�torral, ha az ut�bbi operandusai real t�pus�ak, a Real.?= eredm�nye pedig mindig false, mert az IEEE standard szerinti sz�m�br�zol�sok az mosml-b�l hi�nyoznak.
Hangs�lyozom, hogy az SML-ben az if... then... else: kifejez�s, m�gpedig egy felt�telt�l f�gg�en �gy vagy �gy ki�rt�kelend� kifejez�s. Ha az else �gban nincs rekurz�v h�v�s, az esetleges m�veletek elv�gz�se ut�n a f�ggv�ny ki�rt�kel�se is befejez�dik, azaz az SML visszat�r a f�ggv�nyh�v�sb�l.
A k�rdez� folytatja: Ha van t�bb lehet�s�g is, melyik mit jelent pontosan ?
Oktat�: Ezt nem �rtem: ha az if... then... else... if...else ... szerkezetre gondol, akkor a ki�rt�kel�s mindig az if ut�n �ll� predik�tumt�l f�gg. Ha a f�ggv�ny kl�zaira gondol, akkor pedig a f�ggv�nyfejben megadott mint�kt�l.
Figyelem: mind a then �s else-�gakban, mind a f�ggv�ny kl�zaiban �ll� kifejez�sek f�ggetlenek egym�st�l!
A k�rdez� folytatja: Val�j�ban a bels� f�ggv�nyb�l val� kil�p�ssel egy�tt a k�ls� f�ggv�nyt is be szeretn�m fejezni, �s a bels�b�l val� kil�p�sig kisz�m�tott eredm�nyeket visszadni. Rem�lem, nagyj�b�l k�vethet� volt a probl�ma le�r�sa, �s van �tletetek a megold�s�ra.
Oktat�: Ennek semmi akad�lya: ha a bels� f�ggv�ny visszat�r�si �rt�k�vel egy�ttal az �t megh�v� f�ggv�nyb�l is kil�p, akkor a k�ls� f�ggv�ny �ltal visszaadott �rt�k meg fog egyezni a bels� f�ggv�ny �ltal visszaadott �rt�kkel (a bels� f�ggv�ny visszat�r�si �rt�k�vel).
Abb�l, amit le�rt, az�rt nem nagyon �rtem, hogy mi a probl�m�ja. Ha esetleg arra gondol, hogy valamilyen return v vagy exit if parancs van-e az SML-ben, akkor erre nem a v�lasz, mert nincs r�juk sz�ks�g. Ha megn�zi az el�ad�sokon bemutatott p�ld�kat, sok mint�t tal�l.