Idiom # 54: Compute sum of integers
Code
The simplest way is using the generic feature Sequence.sum
that can be used on all Sequences with elements of type numeric.
Using fold shows a more generic way: fold is the
feature of choice to join elements of a set into a value of the element type.
For type i32, such operations are defined in the unit type returned
by feature i32. To build the sum, i32.sum is the
operation to use.
Mathematically speaking, such an operation is called a monoid. This is
why the type of the argument of fold is Monoid, while
the operations declared for i32 inherit from Monoid.