Use

Gleam няма изключения (exceptions), макроси (macros), type classes (класове типове?), ранно връщане от функции (early returns) и разнообразни други инструменти, залагайки изцяло на функции, които са first-class citizens и съпоставяне с шаблони (pattern matching). Това прави кода на Gleam по-лесен за разбиране, но понякога води до прекомерно влагане (indentation).

use изразите в Gleam помагат да пишем код с функции за обратна връзка (callbacks) без прекомерно влагане, както е показано в кода.

Функцията от по-висок ред (higher order function), която се извиква стои отдясно на оператора <-. Тази функция е задължително да приема функция за обратна връзка (callback) като последен аргумент.

Имената на аргументите на функцията за обратна връзка (callback) се пишат отляво на оператора <-. Функцията може да приема произволен брой аргументи, включително и нула.

Целият останал код в обхващащия го блок {} става тяло на функцията за обратна връзка (callback).

use е много мощен и полезен инструмент, но прекомерното му използване може да направи кода неразбираем, особено за начинаещи. Обикновено кодът е по-ясен, ако използваме нормалния синтаксис за извикване на функции!