Next: , Previous: SRFI-1 Selectors, Up: SRFI-1


6.4.3.4 Length, Append, Concatenate, etc.
— Scheme Procedure: length+ lst

Return the length of the argument list lst. When lst is a circular list, #f is returned.

— Scheme Procedure: concatenate list-of-lists
— Scheme Procedure: concatenate! list-of-lists

Construct a list by appending all lists in list-of-lists.

concatenate! may modify the structure of the given lists in order to produce the result.

concatenate is the same as (apply append list-of-lists). It exists because some Scheme implementations have a limit on the number of arguments a function takes, which the apply might exceed. In Guile there is no such limit.

— Scheme Procedure: append-reverse rev-head tail
— Scheme Procedure: append-reverse! rev-head tail

Reverse rev-head, append tail and return the result. This is equivalent to (append (reverse rev-head) tail), but more efficient.

append-reverse! may modify rev-head in order to produce the result.

— Scheme Procedure: zip lst1 lst2 ...

Return a list as long as the shortest of the argument lists, where each element is a list. The first list contains the first elements of the argument lists, the second list contains the second elements, and so on.

— Scheme Procedure: unzip1 lst
— Scheme Procedure: unzip2 lst
— Scheme Procedure: unzip3 lst
— Scheme Procedure: unzip4 lst
— Scheme Procedure: unzip5 lst

unzip1 takes a list of lists, and returns a list containing the first elements of each list, unzip2 returns two lists, the first containing the first elements of each lists and the second containing the second elements of each lists, and so on.

— Scheme Procedure: count pred lst1 ... lstN

Return a count of the number of times pred returns true when called on elements from the given lists.

pred is called with N parameters (pred elem1 ... elemN), each element being from the corresponding lst1 ... lstN. The first call is with the first element of each list, the second with the second element from each, and so on.

Counting stops when the end of the shortest list is reached. At least one list must be non-circular.