A Claire-ben definiált skaláris adattípusok a következők: az egész szám (integer), a valós szám (float), a logikai értékek (boolean), a karakter (char), a sztring (string). Objektumoknak a konstans listája használható típusként, mint például {john, jack, mary}, vagy {1,4,9}. Mutató nincs a nyelvben.
Az összetett adattípus képzésére nagyon sok lehetőségünk van a nyelvben. Mivel a
nyelv objektumorientált, így létrehozhatunk osztályokat. Intervallumokat is definiálhatunk,
a következő módon: <egész szám>..<egész szám>. A különböző
típusokat logikai műveletekkel is összekapcsolhatjuk, ezek szintaxisa: <típus>
U <típus>, illetve <típus> ^ <típus>. Így
például definiálhatjuk a következő típusokat: a számok halmaza: integer U float,
1..5 intervallum: (1..100)^(-2..5).
A megszokott tömb is használható <típus>[] alakban, de explicit
is megadhatjuk a tömböt a make_array(méret, típus, kezdőérték) alakban,
például a következőképpen:
Lehetőség van altípus képzésére is, a subtype segítségével. Szintaxisa subtype[típus] alakú. Az így létrejött altípusnak vehetjük a metszetét bármilyen más típussal. A Claire is használja, a list és a set esetében, a list[t] egy mutató a list ^ subtype[t]-re, a set[t] pedig a set ^ subtype[t]-re.
A Claire-t nem nevezhetjük szigorúan típusosnak. A változók létrehozásánál nem kell megadni a változó típusát, viszont kötelező kezdőértéket adni neki.
A típusok a szokásos műveletekkel rendelkeznek.
A rendezett típusok kezdőértéke 1.
x ^ y az x-nek y-ra emelt hatványa, ha x
és y számok. Ha x egész, akkor y-nak pozitív egésznek
kell lennie.
x / y az osztás, de ha x egész, akkor y-nak is
egésznek kell lennie, s az eredmény is egész lesz.
A Claire-ben a változókat a let kulcsszó után írhatjuk. Fontos,
hogy minden esetben meg kell adni a kezdőértéket, ami lehet unknown is.
Mint fentebb már írtuk, a változóknak megadhatunk névteret és státuszt. A változók
abban a modulban lesznek láthatóak, amelyben definiáltuk őket, illetve a leszármazottaikban,
plusz azokban a modulokban, ahol ezt beállítottuk. Lehetőség van globális változó
létrehozására. A
Ha a változó értékét nem változtathatjuk meg, azaz konstans adatokat akarunk létrehozni,
azt a globális változónak a következő alakjával tehetjük meg: