List recursion

Макар да е по-обичайно да се използват функции от модула gleam/list , за да се обходят елементите на списък, понякога може да е по-добре да работите директно със списъка.

Шаблонът [first, ..rest] съвпада със списък с поне един елемент, присвоявайки първия елемент на променливата first, а останалите - на променливата rest. Използвайки този шаблон заедно с шаблона за празен списък [], може да напишем функция, която обработва елементите на списъка, докато стигне до края му.

Този код сумира елементите на списък, като рекурсивно го обхожда и добавя всяко число към total (сума), връщайки я при достигане на края му.