# ListFunctions2(A, B)¶

map(fn, u) applies fn to each element of list u and returns a new list with the results. For example map(square, [1, 2, 3]) = [1, 4, 9].
reduce(fn, u, ident) successively uses the binary function fn on the elements of list u and the result of previous applications. ident is returned if the u is empty. Note the order of application in the following examples: reduce(fn, [1, 2, 3], 0) = fn(3, fn(2, fn(1, 0))) and reduce(*, [2, 3], 1) = 3 * (2 * 1).
scan(fn, u, ident) successively uses the binary function fn to reduce more and more of list u. ident is returned if the u is empty. The result is a list of the reductions at each step. See reduce for more information. Examples: scan(fn, [1, 2], 0) = [fn(2, fn(1, 0)), fn(1, 0)] and scan(*, [2, 3], 1) = [2 * 1, 3 * (2 * 1)].