A Cecil terminológiája szerint egy x objektum m metódusának meghívása azt jelenti, hogy az x objektumnak az m üzenetet küldjük. Tehát az
utasítás az x objekutmnak az m üzenetet küldi.
A Cecilben egy objektum valamely mezőjét kizárólag a hozzá tartozó, un. hozzáférési metódusokkal lehet elérni, amelyek viszont minden mezőhöz automatikusan
Az obj objektum x nevű mezőjéhez itt automatikusan generálódnak a
hozzáférési metódusok. (A metódusok törzsében un. primitív metódusok vannak, amelyek segítségével rtl vagy c++ kódrészleteket lehet a Cecil kódba ágyazni.) A fentieket a nyelv készítői úgy fogalmazzák meg, hogy az objektumok állapotát (példány- és osztályváltozók) a Cecil a mező fogalmával valósítja meg. Egy mezőhöz hozzá vannak rendelve a hozzáférési műveleti, és ha az x műveletet küldjük az obj objektumnak, akkor az objektum megtalálja és meghívja a lekérdező hozzáférési metódust és visszaadja a rejtett változó tartalmát, így úgy működik, mintha hivatkozás lenne az obj objektum x példányváltozójára.
Az üzenetküldés általános szintaxisa:
Tehát üzenetet három formában lehet írni:
Általában egy olyan üzenetet, melynek neve betűvel kezdődik, névvel jelölt formában írnak, míg egy valamilyen írásjel szimbólummal (punct) kezdődő nevű üzenet pre- ill. infix formában íródik. De minden névvel jelölt üzenet hívható operátorként (infix vagy prefix, argumentumszámától függően), és minden operátor hívható névvel jelölt üzenetként, ha a neve elé egy aláhúzás karaktert írunk. Például mindkét alábbi kifejezés a 3 és 4 objektumoknak küldött + üzenetet jelenti:
illetve a következő két kifejezés mindegyike a bit_and üzenetet küldi a 3 és 4 objektumoknak:
A Cecilben ugyan kizárólag az üzenetküldés szemantika létezik, de számos szintaktikus cukor létezik, melyek az általánosan elterjedt jelöléseket a Cecil terminológiájához igazítják.
A pont jelölés:
Megengedett, hogy az üzenet első argumentumát kiemeljük, és ponttal elválasztva az üzenet neve elé írjuk:
Ha az üzenetnek csupán egy argumentuma van, akkor az üres zárójelek elhagyhatók. Következésképpen az alábbi három kifejezés ekvivalens (mindegyik az m üzenetet küldi az o objektumnak):
A következő két kifejezés szintén ekvivalens:
Ez a jelölés kicsit megtévesztő módon azt sugallja, hogy az első argumentum fontosabb, mint a többi, ám ez nem így van. Az argumentumok teljesen egyenértékűek.
Egy másik szintaktikus cukor az üzenetek értékadás formában történő írása. Minden üzenet állhat értékadás bal oldalán:
Minden ilyen esetben az értékadást "kiváltó" üzenet a set_x, ha x az értékadás bal oldalán álló üzenet neve. A küldött üzenet argumentumai pedig az értékadás bal oldalán álló üzenet argumanetumai, és az értékadás jobb oldalán álló kifejezés. Tehát az alábbi utasítások mind ekvivalensek:
ugyanúgy, ahogy a
és a
utasítások is egyenértékűek. (A ! az standard könyvtárban definiált tömb indexelés bináris operátor).