Вступ
Документація Цілі 0.38.0

Дії

Запис дій в Цілі відбувається так:

дія сума(а: ціле, б: ціле) -> ціле {
  вернути а + б;
}

Дія без тіла називається задекларованою дією, і повинна бути визначеною (з тілом) пізніше в коді (внутрішні) або в іншому файлі (зовнішні та місцеві):

дія привіт(імʼя: т8);

дія привіт_василь() {
  привіт("Василь");
}

дія привіт(імʼя: т8) {
  вивести("Привіт, ");
  вивести(імʼя);
  вивести("!");
}

Дія може мати довільну кількість параметрів і вертати одне значення:

дія а();
дія б() -> Тип;
дія в(аргумент: Тип) -> Тип;

Дія може бути зовнішньою, місцевою чи внутрішньою:

зовнішня дія сума(а: ціле, б: ціле) -> ціле;

місцева дія привіт(імʼя: т8);

дія щось_зробити();

Внутрішня дія невидима під час лінкування і виклики такої дії можуть бути замінені перекладачем напряму на код її тіла.

Шаблонна дія може бути лише внутрішньою:

дія сума<Т>(а: Т, б: Т) -> Т {
  вернути а + б;
}

Виконання дій в Цілі відбувається так:

значення_дії(аргумент1, аргумент2);

Якщо дія вертає значення, то це значення можна записати в змінну чи сталу:

змінна в = сума(2, 2);