Típusok Prologban
Ez az oldal a korábbi SCH wikiről lett áthozva.
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.