Az F programozási nyelv

Adatabsztrakció



A nyelv erősen modul orientált. A típusokat külön modulban kell létrehozni. A specifikációt és az implementációt nem lehet külön fordítási egységbe tenni.
A modulban definiált függvényeket, eljárásokat, operátorokat meg kell jelölni, hogy public vagy private legyen.

Le lehet fordítani a modult magában is. A használt modulokat forrását, vagy azok lefordított kódját össze kell fordítani a használó modullal.

A nyelv azonosan kezeli a beépített és a felhasználó által definiált típusokat. A saját típusok operátorait át lehet definiálni, beleértve az értékadó operátort is. Ezt úgy lehet megtenni, hogy megadjuk, hogy az adott operátorként melyik függvények legyenek még értelmezve. Például, ha csinálunk egy komplex típust, és írunk olyan függvényeket, ami összead két komplex számot, valamint egy olyan, ami egy komplex és egy valós számot, majd azt modjuk, hogy a + műveletnél ezentúl ezt a két függvényt is vegye számításba, onnantól a + "paraméterezéséből" eldönti, hogy melyik függvényt is kell használnia.
Az operátorok precedenciáját nem lehet megváltoztatni.