Common Lisp Package: TCR.EXTENSIBLE-SEQUENCES

README:

FUNCTION

Public

COPY-SEQ (SEQUENCE)

Return a shallow copy of SEQUENCE.

COUNT (ITEM SEQUENCE &KEY (START 0) END FROM-END KEY TEST TEST-NOT)

Return the number of elements in SEQUENCE satisfying a test with ITEM, which defaults to EQL.

COUNT-IF (PREDICATE SEQUENCE &KEY START END FROM-END KEY)

Return the number of elements in SEQUENCE satisfying PREDICATE.

COUNT-IF-NOT (PREDICATE SEQUENCE &KEY (START 0) END FROM-END KEY)

Return the number of elements in SEQUENCE not satisfying PREDICATE.

ELT (SEQUENCE INDEX)

Returns the element of SEQUENCE specified by INDEX.

SETFELT (NEW-VALUE SEQUENCE INDEX)

Modifies SEQUENCE at INDEX.

FIND (ITEM SEQUENCE &KEY (START 0) END FROM-END KEY TEST TEST-NOT)

Returns the first (or, if FROM-END is non-nil, last) element in SEQUENCE which satisfies a test with ITEM, which defaults to EQL.

FIND-IF (PREDICATE SEQUENCE &KEY (START 0) END FROM-END KEY)

Returns the first (or, if FROM-END is non-nil, last) element in SEQUENCE which satisfies PREDICATE.

FIND-IF-NOT (PREDICATE SEQUENCE &KEY (START 0) END FROM-END KEY)

Returns the first (or, if FROM-END is non-nil, last) element in SEQUENCE which does not satisfy PREDICATE.

LENGTH (SEQUENCE)

Returns an integer that is the length of SEQUENCE.

NREVERSE (SEQUENCE)

Destructively reverse SEQUENCE.

REVERSE (SEQUENCE)

Return a new sequence containing the same elements but in reverse order.

SUBSEQ (SEQ START &OPTIONAL END)

Return a copy of a subsequence of SEQUENCE starting with element number START and continuing to the end of SEQUENCE or the optional END.

SETFSUBSEQ (NEW-SUBSEQ SEQ START &OPTIONAL END)

Destructively replace the elements of SEQ between the bounding indices START and END with elements from NEW-SUBSEQ.

Undocumented

CONCATENATE (RESULT-TYPE &REST SEQUENCES)

DELETE (ITEM SEQUENCE &KEY FROM-END (TEST #'EQL) TEST-NOT (START 0) END (KEY #'IDENTITY))

DELETE-DUPLICATES (SEQUENCE &KEY FROM-END (TEST #'EQL) TEST-NOT (START 0) END (KEY #'IDENTITY))

DELETE-IF (PREDICATE SEQUENCE &KEY FROM-END (START 0) END (KEY #'IDENTITY))

DELETE-IF-NOT (PREDICATE SEQUENCE &KEY FROM-END (START 0) END (KEY #'IDENTITY))

DROP-WHILE (PREDICATE SEQUENCE &KEY KEY (START 0) END FROM-END RESULT-TYPE)

FILL (SEQUENCE ITEM &KEY (START 0) END)

MAKE-SEQUENCE (RESULT-TYPE SIZE &KEY (INITIAL-ELEMENT NIL IEP))

MAP (RESULT-TYPE FUNCTION &REST SEQUENCES)

MAP-INTO (RESULT-SEQUENCE FUNCTION &REST SEQUENCES)

MAP-INTO-SUBSEQ (SEQUENCE FUNCTION &KEY START END FROM-END KEY)

MERGE (RESULT-TYPE SEQUENCE1 SEQUENCE2 PREDICATE &KEY (KEY #'IDENTITY))

MISMATCH (SEQUENCE1 SEQUENCE2 &KEY FROM-END (TEST #'EQL) TEST-NOT (KEY #'IDENTITY) (START1 0) (START2 0) END1 END2)

NSUBSTITUTE (NEW OLD SEQUENCE &KEY FROM-END (TEST #'EQL) TEST-NOT (START 0) END COUNT (KEY #'IDENTITY))

NSUBSTITUTE-IF (NEW PREDICATE SEQUENCE &KEY FROM-END (START 0) END COUNT (KEY #'IDENTITY))

NSUBSTITUTE-IF-NOT (NEW PREDICATE SEQUENCE &KEY FROM-END (START 0) END COUNT (KEY #'IDENTITY))

POSITION (ITEM SEQUENCE &KEY FROM-END (TEST #'EQL) TEST-NOT (START 0) END (KEY #'IDENTITY))

POSITION-IF (PREDICATE SEQUENCE &KEY FROM-END (START 0) END (KEY #'IDENTITY))

POSITION-IF-NOT (ITEM SEQUENCE &KEY FROM-END (START 0) END (KEY #'IDENTITY))

REDUCE (FUNCTION SEQUENCE &KEY (KEY #'IDENTITY) FROM-END (START 0) END INITIAL-VALUE)

REMOVE (ITEM SEQUENCE &KEY FROM-END (TEST #'EQL) TEST-NOT (START 0) END (KEY #'IDENTITY))

REMOVE-DUPLICATES (SEQUENCE &KEY FROM-END (TEST #'EQL) TEST-NOT (START 0) END (KEY #'IDENTITY))

REMOVE-IF (PREDICATE SEQUENCE &KEY FROM-END (START 0) END (KEY #'IDENTITY))

REMOVE-IF-NOT (PREDICATE SEQUENCE &KEY FROM-END (START 0) END (KEY #'IDENTITY))

REPLACE (SEQUENCE1 SEQUENCE2 &KEY (START1 0) END1 (START2 0) END2)

SORT (SEQUENCE PREDICATE &KEY (KEY #'IDENTITY))

SPLIT-SEQUENCE (ITEM SEQUENCE &KEY (START 0) END FROM-END KEY TEST TEST-NOT)

STABLE-SORT (SEQUENCE PREDICATE &KEY (KEY #'IDENTITY))

SUBSTITUTE (NEW OLD SEQUENCE &KEY FROM-END (TEST #'EQL) TEST-NOT (START 0) END COUNT (KEY #'IDENTITY))

SUBSTITUTE-IF (NEW PREDICATE SEQUENCE &KEY FROM-END (START 0) END COUNT (KEY #'IDENTITY))

SUBSTITUTE-IF-NOT (NEW PREDICATE SEQUENCE &KEY FROM-END (START 0) END COUNT (KEY #'IDENTITY))

TAKE-WHILE (PREDICATE SEQUENCE &KEY KEY (START 0) END FROM-END RESULT-TYPE)

Private

ENSURE-FUNCTION (FUNCTION-DESIGNATOR)

Returns the function designated by FUNCTION-DESIGNATOR: if FUNCTION-DESIGNATOR is a function, it is returned, otherwise it must be a function name and its FDEFINITION is returned.

Undocumented

COERCE-SUBSEQ (SEQUENCE START END &OPTIONAL RESULT-TYPE)

MACRO

Private

Undocumented

DEFINE-API (NAME LAMBDA-LIST TYPE-LIST &BODY BODY)

DEFINE-CL-STUB (NAME LAMBDA-LIST)