Function NREVERSE. The result of NREVERSE is always EQ to the argument.
NREVERSE on a VECTOR swaps pairs of elements.
NREVERSE on a LIST swaps the first and the last
element and reverses the list chaining between them.
Function NRECONC. The result of NRECONC is EQ to the first argument unless it is
NIL, in which case the result is EQ to the second argument.
REMOVE, REMOVE-IF, REMOVE-IF-NOT, REMOVE-DUPLICATES return
their argument unchanged, if no element has to be removed.
DELETE, DELETE-IF, DELETE-IF-NOT, DELETE-DUPLICATES
destructively modify their argument: If the argument is a LIST,
the CDR parts are modified. If the argument is a VECTOR with
fill pointer, the fill pointer is lowered and the remaining elements are
compacted below the new fill pointer.
Variable CUSTOM:*SEQUENCE-COUNT-ANSI*. Contrary to the [ANSI CL standard] issue RANGE-OF-COUNT-KEYWORD:NIL-OR-INTEGER,
negative :COUNT keyword arguments are not allowed unless you set
CUSTOM:*SEQUENCE-COUNT-ANSI* to a non-NIL value, in which case “using a
negative integer value is functionally equivalent to using a value of
zero”, as per the [ANSI CL standard] issue.
SORT & STABLE-SORTSORT and STABLE-SORT accept two additional keyword arguments
:START and :END:
(SORTsequencepredicate&KEY:KEY:START:END) (STABLE-SORTsequencepredicate&KEY:KEY:START:END)
SORT and STABLE-SORT are identical.
They implement the mergesort algorithm.
Worst case complexity: O(n*log(n)) comparisons,
where n is the LENGTH of the subsequence bounded
by the :START and :END arguments.
| These notes document CLISP version 2.45 | Last modified: 2008-04-15 |