This section describes the procedures for constructing new lists.
list simply returns a list where the elements are the arguments,
cons* is similar, but the last argument is stored in the cdr of
the last pair of the list.
Return a new list containing elements elem ....
scm_list_n takes a variable number of arguments, terminated by
SCM_UNDEFINED. That final
not included in the list. None of elem … can
terminate at that point.
list, but the last arg provides the tail of the
constructed list, returning
(cons arg1 (cons
arg2 (cons … argn))). Requires at least one
argument. If given one argument, that argument is returned as
result. This function is called
list* in some other
Schemes and in Common LISP.
Return a (newly-created) copy of lst.
Create a list containing of n elements, where each element is
initialized to init. init defaults to the empty list
() if not given.
list-copy only makes a copy of the pairs which make up
the spine of the lists. The list elements are not copied, which means
that modifying the elements of the new list also modifies the elements
of the old list. On the other hand, applying procedures like
delv! to the new list will not alter the old
list. If you also need to copy the list elements (making a deep copy),
use the procedure
copy-tree (see Copying).