A nyelvben a 7 bites ASCII karakterek használhatók, a stringekben, karakterliterálokban ezen kívül a 8 bitesek is. A kis- és nagybetűket a fordító megkülönbözteti.
Elhatároló jelek a whitespace-ek, illetve a ;, {, } karakterek lehetnek, de nem akárhogyan! A Clean programokat kétféle módon is formázhatjuk:
Egy program indentált stílusban írva:
Ugyanaz nem indentált módban:
Az eredmény természetesen mindkét esetben ugyanaz lesz:
// jelek után a sor végéig, vagy /* és */ jelek között több soron keresztül tartó megjegyzést írhatunk. A megjegyzések egymásba ágyazhatók. Külön dokumentációs megjegyzés nincs.
Megkülönböztetünk kisbetűvel vagy nagybetűvel kezdődő azonosítókat (mindkettő folytatódhat kis- vagy nagybetűvel, számjeggyel vagy aláhúzással), illetve vicces azonosítókat, ez utóbbiak különféle írás- vagy operátorjelek kombinációi lehetnek. Ilyen jelek azonban nem keverhetők egy azonosítón belül betűkkel vagy számjegyekkel, ez lehetővé teszi, hogy az olyan kifejezéseket, mint az a+1 whitespace-ek nélkül írhassuk.
Az 1+square5 ill. az 1+@5 kifejezések viszont már fordítási hibát eredményeznének, mert a square5 függvényre ill. a +@ operátorra hivatkoznak.
A különféle változó- vagy mezőjellegű azonosítók kisbetűvel kezdődnek, a típusok és konstruktorok nevei nagybetűvel kezdődő vagy vicces azonosítók lehetnek; az összes többi azonosító bármilyen típusú lehet. Az azonosítókra vonatkozó hosszúsági megkötés nincs.
Vannak a teljes programszövegre, illetve csak bizonyos környezetekre (mint pl. függvénydefiníció, típusspecifikáció, stb.) lefoglalt szavak, illetve szimbólumok; ez utóbbiak a környezetükön kívül szabadon felhasználhatóak. Külön kulcsszó és előre definiált szó kategória nincs.
Az elemi típusoknak megfelelően egész, lebegőpontos, logikai és karakterértékeket, karakterek listáját, illetve karakterek dobozolatlan tömbjét (stringet) jelölhetünk literállal.
Az egész számokat előjeles decimális, oktális vagy hexadecimális formában írhatjuk le. A lebegőpontos számok tízes alapon, opcionális hatványkitevővel adhatók meg.
Logikai literál a True és a False. A karakterértékek aposztrófok között adhatók meg, a speciális jelek (úgymint vezérlőkarakterek, backslash, aposztróf, idézőjel) escape-elve, továbbá bármelyik karakter oktális vagy hexadecimális kódjával is leírható.
Ha aposztrófok közé több karaktert írunk, az karakterek listáját jelenti, míg az idézőjelek között felsorolt karakterek a stringet, azaz karakterek dobozolatlan tömbjét jelölik. Az eddigiekből következik, hogy a karakterlánc literálok többsorosak is lehetnek (az új sort a \n, \r megfelelő kombinációjával kell jelölni).
aminek az outputja: