A CLU programozási nyelv

Történet



1. Bevezető

A CLU nyelvet Barabara Liskov vezetésével fejlesztették a MIT egyetemen a 70-es években programozáselméleti célokra. Alapvetően Algol típusú nyelv, mely elsősorban típusabsztrakcióhoz és kivételkezeléshez kínál egyedülálló eszközöket. Az Ada fejlesztésénél több eredményt is átvettek ebből a nyelvből.

Minden CLU program egy vagy több modul együttese. A modul lehet eljárás absztrakció (procedure), típus absztrakció (cluster) vagy iterátor absztrakció (iterator). A modulok nem ágyazhatók egymásba, kivéve egy esetet: eljárások és iterátorok használhatók clustereken belül a műveletek implementálására. Azonban nem lehetséges eljárás-definíciókat egymásba ágyazni, azaz aleljárásokat készíteni. Minden eljárás, iteráció vagy típus paraméterezhető változóval, eljárással, iteracióval és típussal.

Minden CLU-modul külön fordítódik. A CLU - típuskezelését tekintve - erősen típusos nyelv. A típusellenőrzés fordítási időben történik. A nyelvben nincs főprogram-fogalom (!); program-szerkesztéskor kell megmondani a fordítónak, hogy melyik eljárást tekintse főprogramnak. Ha nem adunk meg ilyent, akkor a CLU futtató rendszeréből a modul bármely eljárását meghívhatjuk.