Az Oz/Mozart programozási nyelv

Típusok, típuskonstrukciók

Típusok, típuskonstrukciók

Dinamikusan típusos nyelv, azaz, amikor egy változó létrejön, annak értéke és típusa is ismeretlen. A típusa csak a változó lekötésekor derül ki, és a felvett érték határozza azt meg.
Minden változónak pontosan 1 állapota van a következők közül:

A funkcionális nyelvekben fontos elem a mintaillesztés, mely egy minta és egy konkrét lista közti „értékadást” takar. {l1,…,ln} = {k1, …, km } alakú. Az illesztés sikeres, ha minden i –re igaz, hogy ha li kötött, akkor li == ki, vagy li nem kötött. Ha az illesztés sikeres a szabad li változók lekötődnek ki értékkel.

Típusszerkezet

Az Oz típusai

Beépített típusok

Egy azonosító típusa mindig értékadáskor dől el. A párhuzamosított változók ha egyszer értéket kaptak, onnantól konstansokká válnak.
Nagyon fontos beépített típus a lista, a rekord és a tuple.

Saját típusok

Létre tudunk hozni saját típusokat. Osztályokat a Chunk típusból származtatva hozhatunk létre. Az osztály is egy típus, ahogy a fenti ábrán is látszik.

Típuskonverziók

Változók, konstansok