Prologb�l SML?

25.1. K�rd�s.
Mostan�ig Prologgal k�zd�ttem, most pedig nekil�ttam az SML-nek. Egyel�re nem sok sikerrel. Azt hiszem, ott rontom el, hogy nem tudok elszakadni a prologos megk�zel�t�st�l. Prologban a lepeget(...) elj�r�s meg�r�sakor a member(...) elj�r�st felhaszn�lhattam arra, hogy egy t�nylegesen l�peget� algoritmussal az �sszes lehets�ges pontba ell�pjek. Ennek a megold�snak mind k�l�n �gai voltak. SML-ben ugyan alkalmazhatok egy f�ggv�nyt egy lista minden elem�re (pl. map-et), de annak az eredm�nyei egy list�ban j�nnek l�tre, nem pedig mint �n�ll� el�gaz�sok.

25.1. V�lasz.
Oktat�: Aj�nlom figyelm�be a Prolog-jegyzet 4.5. alfejezet�t (Megold�sok gy�jt�se �s felsorol�sa). Ott l�that egy sem�t arra, hogyan lehet felsorol� elj�r�st gy�jt�ve �talak�tani a Prologban. Persze ehhez t�nyleg �t kell alak�tania a programja szerkezet�t, teh�t nem haszn�lhatja a member-t �s m�s be�p�tett elj�r�sokat a felsorol�sra. Ezek helyett egy

kovetkezo(+V0, +Param, -E, -V)
elj�r�st kell �rnia, amelynek a bemen� param�terei a k�vekez�k:

a kimen�k pedig:

Ha egy ilyen seg�delj�r�sra �p�tve oldja meg a feladatot Prologban, akkor ezt a megold�st k�nnyen �t tudja �ltetni SML-be is.

25.2. K�rd�s.
Meg tudna mondani valaki, hogy az SML-ben hogyan lehet lek�rdezni egy �rt�kr�l, hogy v�ltoz�-e? A prologos var(X) megfelel�j�re gondolok.

25.2. V�lasz.
Oktat�: Az SML-ben a v�ltoz�nak mindig van �rt�ke, teh�t a Prolog var(X) vizsg�lat megfelel�je mindig meghi�sulna, ha lenne: ez�rt nincs is ilyen vizsg�lat).

A hagyom�nyos funkcion�lis nyelvek, mint pl. az SML, nem ismerik a logikai v�ltoz� fogalm�t, de az �jabb funkcion�lis nyelvekben (pl. Oz, Alice) megjelenik ez a nyelvi elem is.


Deklarat�v programoz�s - FP-GYIK
2005. m�rcius 1.