Ціль має строгу статичну типизацію. Більшість вбудованих типів мають аналоги в С.
Ціль не дозволяє виконувати операції з різними типами чи типами різних розмірів. До прикладу, в Цілі не
можна просто додати ц32 та ц64 (як int та long в С).
змінна а: ц32 = 2; змінна б: ц64 = 3; змінна в = а + б; // помилка компіляції
Автоматичного приведення типів не буде, а тому необхідно вручну перетворити одне зі значень.
змінна а: ц32 = 2; змінна б: ц64 = 3; змінна в = ц64(а) + б; // в буде ц64
цілец64ц32ц16ц8природнеп64п32п16п8р32р64логічне*Т() -> Ткдю8ціле містить значення цілого числа розміром залежно від системи (ssize_t в C).
змінна а: ціле = 10;
ц64 містить значення цілого числа розміром 64 біт (int64_t в C).
змінна а: ц64 = 10;
ц32 містить значення цілого числа розміром 32 біт (int32_t в C).
змінна а: ц32 = 10;
ц16 містить значення цілого числа розміром 16 біт (int16_t в C).
змінна а: ц16 = 10;
ц8 містить значення цілого числа розміром 8 біт (int8_t в C).
змінна а: ц8 = 10;
природне містить значення природного числа розміром залежно від системи (size_t в C).
змінна а: природне = 10;
п64 містить значення природного числа розміром 64 біт (uint64_t в C).
змінна а: п64 = 10;
п32 містить значення природного числа розміром 32 біт (uint32_t в C).
змінна а: п32 = 10;
п16 містить значення природного числа розміром 16 біт (uint16_t в C).
змінна а: п16 = 10;
п8 містить значення природного числа розміром 8 біт (uint8_t в C).
змінна а: п8 = 10;
р64 містить значення числа з рухомою крапкою розміром 64 біт (double в C).
змінна а: р64 = 1.23;
р32 містить значення числа з рухомою крапкою розміром 32 біт (float в C).
змінна а: р32 = -3.21;
логічне містить значення природного числа розміром 8 біт (bool в C).
змінна а: логічне = так; змінна б: логічне = ні;
*Т містить адресу на значення типу Т (Т* в С).
змінна а: ціле = 123; змінна б: *ціле = а::адреса;
() -> Т містить адресу на дію (Т (*)() в С).
дія сума(а: ціле, б: ціле): ціле { вернути а + б; } //... змінна д: (ціле, ціле) -> ціле = сума;
кд містить текстове значення (Дієкод з 8-бітним кодуванням як UTF-8); має недійсне в кінці.
змінна а: кд = "привіт";
Структура кд:
структура кд { дані: *п8; розмір: природне; }
ю8 містить Unicode UTF-8 значення; має нульовий байт (недійсне) в кінці (як C-string).
змінна а: ю8 = ю8"привіт";
Структура ю8:
структура ю8 { дані: *п8; розмір: природне; }