There are 30 utilities.
 bitvectorinteger v1.0

Convert a bit vector
bv
to a positive integer. The bits of the integer are ordered from most significant to least significant, unlessleastsignificantfirst
is true. Provides
bitvectorinteger
 integerbitvector v1.0

Convert a positive integer
n
to a bit vector. The least significant bits will be first ifleastsignificantfirst
is true. Provides
integerbitvector
 sortcopy v1.0

Copying versions of
cl:sort
andcl:stablesort
. Provides
sortcopy
,stablesortcopy
 take v1.0

Take the first
n
elements fromsequence
. Provides
take
 drop v1.0

Drop the first
n
elements fromsequence
. Provides
drop
 subdivide v1.0

Split
sequence
into subsequences of sizechunksize
. Provides
subdivide
 ngrams v1.0

Find all
n
grams of the sequencesequence
. Provides
ngrams
 Requires
 take
 partitionif v1.0

Partition sequences based off of a predicate.
 Provides
partitionif
,partitionifnot
 equivalenceclasses v1.0

Partition the sequence
seq
into a list of equivalence classes defined by the equivalence relationequiv
. Provides
equivalenceclasses
 doseq v1.0

Iterate across the sequence
seq
, binding the variablevar
to each element of the sequence and executingbody
. Return the valuereturn
from the iteration form. Provides
doseq
 splitsequence v1.0

Split sequences into a list of subsequences based off of a delimiter or function.
 Provides
splitsequence
,splitsequenceif
,splitsequenceifnot
 sequenceoflengthp v1.0

 Provides
sequenceoflengthp
 Requires
 arraybounds
 rotate v1.0

Returns a sequence of the same type as
sequence
, with the elements ofsequence
rotated byn
:n
elements are moved from the end of the sequence to the front ifn
is positive, andn
elements moved from the front to the end ifn
is negative.sequence
must be a proper sequence.n
must be an integer, defaulting to1
.If absolute value of
n
is greater then the length of the sequence, the results are identical to callingrotate
with(* (signum n) (mod n (length sequence))).
Note: the original sequence may be destructively altered, and result sequence may share structure with it.
 Provides
rotate
 Requires
 properlistlength/lastcar
 shuffle v1.0

Returns a random permutation of
sequence
bounded bystart
andend
. Original sequece may be destructively modified, and share storage with the original one. Signals an error ifsequence
is not a proper sequence. Provides
shuffle
 Requires
 properlistlength/lastcar
 randomelt v1.0

Returns a random element from
sequence
bounded bystart
andend
. Signals an error if thesequence
is not a proper nonempty sequence, or ifend
andstart
are not proper bounding index designators forsequence
. Provides
randomelt
 Requires
 properlistlength/lastcar
 removef v1.0

Modifymacro for
remove
. Sets place designated by the first argument to the result of callingremove
withitem
, place, and thekeywordarguments
. Provides
removef
 deletef v1.0

Modifymacro for
delete
. Sets place designated by the first argument to the result of callingdelete
withitem
, place, and thekeywordarguments
. Provides
deletef
 propersequence v1.0

Type designator for proper sequences, that is proper lists and sequences that are not lists.
 Provides
propersequence
 Requires
 properlist
 length= v1.0

Takes any number of sequences or integers in any order. Returns true iff the length of all the sequences and the integers are equal.
Hint: there's a compiler macro that expands into more efficient code if the first argument is a literal integer.
 Provides
length=
 Requires
 withgensyms, sequenceoflengthp, arraybounds
 copysequence v1.0

Returns a fresh sequence of
type
, which has the same elements assequence
. Provides
copysequence
 firstelt v1.0

Getter and setter for the first element of a sequence.
 Provides
firstelt
 Requires
 emptyp
 lastelt v1.0

Getter and setter for the last element of a sequence.
 Provides
lastelt
 Requires
 properlistlength/lastcar, emptyp, propersequence
 startswithsubseq v1.0

Test whether the first elements of SEQUENCE are the same (as per TEST) as the elements of PREFIX.
If RETURNSUFFIX is T the functions returns, as a second value, a displaced array pointing to the sequence after PREFIX.
 Provides
startswithsubseq
 Requires
 removefromplist
 endswithsubseq v1.0

Test whether
sequence
ends withsuffix
. In other words: return true if the last(length suffix
) elements ofsequence
are equal tosuffix
. Provides
endswithsubseq
 startswith v1.0

Returns true if
sequence
is a sequence whose first element iseql
toobject
. Returnsnil
if thesequence
is not a sequence or is an empty sequence. Provides
startswith
 endswith v1.0

Returns true if
sequence
is a sequence whose last element iseql
toobject
. Returnsnil
if thesequence
is not a sequence or is an empty sequence. Signals an error ifsequence
is an improper list. Provides
endswith
 Requires
 properlistlength/lastcar
 mapcombinations v1.0

Calls
function
with each combination oflength
constructable from the elements of the subsequence ofsequence
delimited bystart
andend
.start
defaults to0
,end
to length ofsequence
, andlength
to the length of the delimited subsequence. (So unlesslength
is specified there is only a single combination, which has the same elements as the delimited subsequence.) Ifcopy
is true (the default) each combination is freshly allocated. Ifcopy
is false all combinations areeq
to each other, in which case consequences are specified if a combination is modified byfunction
. Provides
mapcombinations
 Requires
 ensurefunction
 mappermutations v1.0

Calls function with each permutation of
length
constructable from the subsequence ofsequence
delimited bystart
andend
.start
defaults to0
,end
to length of the sequence, andlength
to the length of the delimited subsequence. Provides
mappermutations
 Requires
 mapcombinations
 mapderangements v1.0

Calls
function
with each derangement of the subsequence ofsequence
denoted by the bounding index designatorsstart
andend
. Derangement is a permutation of the sequence where no element remains in place.sequence
is not modified, but individual derangements areeq
to each other. Consequences are unspecified if callingfunction
modifies either the derangement orsequence
. Provides
mapderangements
 extremum v1.0

Returns the element of
sequence
that would appear first if the subsequence bounded bystart
andend
was sorted usingpredicate
andkey
.extremum
determines the relationship between two elements ofsequence
by using thepredicate
function.predicate
should return true if and only if the first argument is strictly less than the second one (in some appropriate sense). Two argumentsx
andy
are considered to be equal if(funcall predicate x y)
and(funcall predicate y x)
are both false.The arguments to the
predicate
function are computed from elements ofsequence
using thekey
function, if supplied. Ifkey
is not supplied or isnil
, the sequence element itself is used.If
sequence
is empty,nil
is returned. Provides
extremum
 Requires
 ensurefunction