Nevekkel hivatkozhatunk bizonyos entitásokra egy programon belül. Egy név vagy egy azonosító,
vagy egy operátor.
A neveket általában deklarációkkal vezetjük be, amik a nevet egy entitáshoz kötik. Bizonyos
esetekben ez a kötés implicit. Minden deklarációnak van egy hatóköre, amin belül felhasználható.
Szintaxis:
Decl ::= TraitDecl,
| ObjectDecl,
| VarDecl,
| FnDecl
Kétfajta deklaráció létezik: top-level és lokális deklarációk.
Top-level deklarációk a komponensek legeljén szerepelhetnek csak. Ezek a következők
lehetnek:
- trait deklarációk
- objektum deklarációk, amik lehetnek singletonok, vagy konstruktor-deklariációk
- változódeklarációk
- függvénydeklarációk
Lokális deklarációk a következők lehetnek:
- meződeklarációk, amik objektumdeklarációkban fordulhatnak elő
- metódusdeklarációk, amik trait- vagy objektumdeklarációban fordulnak elő
- lokális változódeklarációk kifejezésblokkokban
- lokális függvények kifejezésblokkokban
- cimkés blokkdeklarációk (ezek kifejezéseknek minősűlnek)
- statikus paraméterdeklarációk
Két név implicit deklarálva van:
- a self minden metódus implicit paramétere
- a result szerződésdefiníción belül implicit elérhető változó
A nyelv támogatja a névterek használatát, külön típusokra, külön értékekre, külön cimkékre,
és a komponens-rendszer figyelembevételével API-kra is.