8.2Szelektorfüggvények

Az előzőkben definiált típuskonstrukciókra most bevezetünk néhány olyan függvényt és jelölést, amelyek leegyszerűsítik a rájuk vonatkozó állítások, programok megfogalmazását.

Legyen . A függvény komponenseit a rekord szelektorfüggvényeinek, vagy röviden szelektorainak nevezzük.

A fenti rekordnak tehát pontosan darab szelektora van, és ha -vel jelöljük az -edik szelektort, akkor , és

Tehát a szelektorfüggvényeket arra használhatjuk, hogy lekérdezzük a rekord egyes mezőinek (komponenseinek) az értékét. A szelektorokat bele szoktuk írni a típusértékhalmaz jelölésébe; a fenti esetben a szelektorokkal felírt jelölés:

A rekordtípushoz hasonlóan az egyesítéshez is bevezetünk szelektorfüggvényeket. Mivel az unió esetében a közbülső szinten a típusértékhalmazok uniója szerepel, így nincs értelme komponensről beszélni. Hogyan definiáljuk ez esetben a szelektorokat? Azt fogják visszaadni, hogy egy adott -beli elemet melyik eredeti típusértékhalmaz egy eleméhez rendelte hozzá a függvény.

Legyen egyesítés típus, . Azt mondjuk, hogy az logikai függvények a T egyesítés szelektorai, ha :

A rekordtípushoz hasonló módon az egyesítés szelektorait is bele szoktuk írni az új típusértékhalmaz jelölésébe. A szelektorokkal felírt típusértékhalmaz jelölése:

Az iterált típuskonstrukciók közül a sorozathoz definiálunk szelektorfüggvényt. A sorozattípusban a közbülső szinten -beli sorozat szerepel, a szelektor ennek a sorozatnak a tagjait adja vissza.

Formálisan: Legyen . Az parciális függvény a szelektorfüggvénye, ha :

A sorozat szelektorát nem szoktuk külön elnevezni, helyette indexelést alkalmazunk, azaz az jelölést használjuk.