Most commonly functions in the gleam/list module are used to iterate across a list, but at times you may prefer to work with the list directly.

Gleam doesn't have a looping syntax, instead iteration is done through recursion and pattern matching.

The [first, ..rest] pattern matches on a list with at least one element, assigning the first element to the variable first and the rest of the list to the variable rest. By using this pattern and a pattern for the empty list [] a function can run code on each element of a list until the end is reached.

This code sums a list by recursing over the list and adding each int to a total argument, returning it when the end is reached.