Típusok Prologban

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


  • fejeztek: 3.1.4, 3.9

A Prologban nincsenek típusok, de az eljárások adathalmazokon, azaz típusokon értelmezettek. Például: age(person(Name, Age), Age). Ha az első argumentum nem person struktúra, az eljárás meghiúsul.

Megkülönböztetett únió: véges sok, különböző funktorú halmaz úniója.

Vannak beépített eljárások, amelyek eldöntik, hogy egy kapott paraméter milyen típusú, például az integer/2.

Típusokat létrehozhatunk a fent említett módon.

Pont a típustalanság miatt a Prologban nincsenek is típushibák, egyszerűen meghiúsulást tapasztalunk, ha nem megfelelő struktúrával etetünk meg egy eljárást. Ugyanez a típustalanság azonban segítségünkre lehet, hiszen a nem típusspecifikus eljárások generikus állításokat fogalmaznak meg, amelyek remekül haszálhatók szimbolikus számításokra.