The split-sequence Reference Manual

This is the split-sequence Reference Manual, version 2.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:57:06 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 split-sequence

Splits a sequence into a list of subsequences delimited by objects satisfying a test.

Maintainer

Sharp Lispers <>

Author

Arthur Lemmens <>

License

MIT

Version

2.0.1

Source

split-sequence.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 split-sequence/split-sequence.asd

Source

split-sequence.asd.

Parent Component

split-sequence (system).

ASDF Systems

split-sequence.


3.1.2 split-sequence/package.lisp

Source

split-sequence.asd.

Parent Component

split-sequence (system).

Packages

split-sequence.


3.1.3 split-sequence/vector.lisp

Source

split-sequence.asd.

Parent Component

split-sequence (system).

Internals

3.1.4 split-sequence/list.lisp

Source

split-sequence.asd.

Parent Component

split-sequence (system).

Internals

3.1.5 split-sequence/extended-sequence.lisp

If Feature

(:or :sbcl :abcl)

Source

split-sequence.asd.

Parent Component

split-sequence (system).

Internals

3.1.6 split-sequence/api.lisp

Source

split-sequence.asd.

Parent Component

split-sequence (system).

Public Interface
Internals

3.1.7 split-sequence/documentation.lisp

Source

split-sequence.asd.

Parent Component

split-sequence (system).


3.2 Static


3.2.1 split-sequence/version.sexp

Source

split-sequence.asd.

Parent Component

split-sequence (system).


4 Packages

Packages are listed by definition order.


4.1 split-sequence

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Ordinary functions

Function: split-sequence (delimiter sequence &key start end from-end count remove-empty-subseqs test test-not key)

Return a list of subsequences in seq delimited by delimiter.
If :remove-empty-subseqs is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for CL:SUBSTITUTE. In particular, the behaviour of :from-end is possibly different from other versions of this function; :from-end values of NIL and T are equivalent unless :count is supplied. :count limits the number of subseqs in the main resulting list. The second return value is an index suitable as an argument to CL:SUBSEQ into the sequence indicating where processing stopped.

Package

split-sequence.

Source

api.lisp.

Function: split-sequence-if (predicate sequence &key start end from-end count remove-empty-subseqs key)

Return a list of subsequences in seq delimited by items satisfying predicate.
If :remove-empty-subseqs is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for CL:SUBSTITUTE-IF. In particular, the behaviour of :from-end is possibly different from other versions of this function; :from-end values of NIL and T are equivalent unless :count is supplied. :count limits the number of subseqs in the main resulting list. The second return value is an index suitable as an argument to CL:SUBSEQ into the sequence indicating where processing stopped.

Package

split-sequence.

Source

api.lisp.

Function: split-sequence-if-not (predicate sequence &key start end from-end count remove-empty-subseqs key)

Return a list of subsequences in seq delimited by items satisfying (CL:COMPLEMENT predicate).
If :remove-empty-subseqs is NIL, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for CL:SUBSTITUTE-IF-NOT. In particular, the behaviour of :from-end is possibly different from other versions of this function; :from-end values of NIL and T are equivalent unless :count is supplied. :count limits the number of subseqs in the main resulting list. The second return value is an index suitable as an argument to CL:SUBSEQ into the sequence indicating where processing stopped.

Package

split-sequence.

Source

api.lisp.


5.2 Internals


5.2.1 Macros

Macro: check-tests (test test-p test-not test-not-p)
Package

split-sequence.

Source

api.lisp.


5.2.2 Ordinary functions

Function: check-bounds (sequence start end)
Package

split-sequence.

Source

api.lisp.

Function: collect-until (predicate list end)

Collect elements from LIST until one that satisfies PREDICATE is found.

At most END elements will be examined. If END is null, all elements will be examined.

Returns four values:

* The collected items.
* The remaining items.
* The number of elements examined.
* Whether the search ended by running off the end, instead of by finding a delimiter.

Package

split-sequence.

Source

list.lisp.

Function: count-while (predicate list end)

Count the number of elements satisfying PREDICATE at the beginning of LIST.

At most END elements will be counted. If END is null, all elements will be examined.

Package

split-sequence.

Source

list.lisp.

Function: list-long-enough-p (list length)
Package

split-sequence.

Source

api.lisp.

Function: split-extended-sequence (delimiter sequence start end from-end count remove-empty-subseqs test test-not key)
Package

split-sequence.

Source

extended-sequence.lisp.

Function: split-extended-sequence-from-end ()
Package

split-sequence.

Source

extended-sequence.lisp.

Function: split-extended-sequence-from-start ()
Package

split-sequence.

Source

extended-sequence.lisp.

Function: split-extended-sequence-if (predicate sequence start end from-end count remove-empty-subseqs key)
Package

split-sequence.

Source

extended-sequence.lisp.

Function: split-extended-sequence-if-not (predicate sequence start end from-end count remove-empty-subseqs key)
Package

split-sequence.

Source

extended-sequence.lisp.

Function: split-list (delimiter list start end from-end count remove-empty-subseqs test test-not key)
Package

split-sequence.

Source

list.lisp.

Function: split-list-from-end (predicate list start end count remove-empty-subseqs)
Package

split-sequence.

Source

list.lisp.

Function: split-list-from-start (predicate list start end count remove-empty-subseqs)
Package

split-sequence.

Source

list.lisp.

Function: split-list-if (predicate list start end from-end count remove-empty-subseqs key)
Package

split-sequence.

Source

list.lisp.

Function: split-list-if-not (predicate list start end from-end count remove-empty-subseqs key)
Package

split-sequence.

Source

list.lisp.

Function: split-list-internal (predicate list start end count remove-empty-subseqs)
Package

split-sequence.

Source

list.lisp.

Function: split-vector (delimiter vector start end from-end count remove-empty-subseqs test test-not key)
Package

split-sequence.

Source

vector.lisp.

Function: split-vector-from-end ()
Package

split-sequence.

Source

vector.lisp.

Function: split-vector-from-start ()
Package

split-sequence.

Source

vector.lisp.

Function: split-vector-if (predicate vector start end from-end count remove-empty-subseqs key)
Package

split-sequence.

Source

vector.lisp.

Function: split-vector-if-not (predicate vector start end from-end count remove-empty-subseqs key)
Package

split-sequence.

Source

vector.lisp.


5.2.3 Conditions

Condition: simple-program-error
Package

split-sequence.

Source

api.lisp.

Direct superclasses
  • program-error.
  • simple-condition.

5.2.4 Types

Type: array-index (&optional length)
Package

split-sequence.

Source

vector.lisp.

Type: extended-sequence ()
Package

split-sequence.

Source

extended-sequence.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   C   F   L   M   S  
Index Entry  Section

C
check-bounds: Private ordinary functions
check-tests: Private macros
collect-until: Private ordinary functions
count-while: Private ordinary functions

F
Function, check-bounds: Private ordinary functions
Function, collect-until: Private ordinary functions
Function, count-while: Private ordinary functions
Function, list-long-enough-p: Private ordinary functions
Function, split-extended-sequence: Private ordinary functions
Function, split-extended-sequence-from-end: Private ordinary functions
Function, split-extended-sequence-from-start: Private ordinary functions
Function, split-extended-sequence-if: Private ordinary functions
Function, split-extended-sequence-if-not: Private ordinary functions
Function, split-list: Private ordinary functions
Function, split-list-from-end: Private ordinary functions
Function, split-list-from-start: Private ordinary functions
Function, split-list-if: Private ordinary functions
Function, split-list-if-not: Private ordinary functions
Function, split-list-internal: Private ordinary functions
Function, split-sequence: Public ordinary functions
Function, split-sequence-if: Public ordinary functions
Function, split-sequence-if-not: Public ordinary functions
Function, split-vector: Private ordinary functions
Function, split-vector-from-end: Private ordinary functions
Function, split-vector-from-start: Private ordinary functions
Function, split-vector-if: Private ordinary functions
Function, split-vector-if-not: Private ordinary functions

L
list-long-enough-p: Private ordinary functions

M
Macro, check-tests: Private macros

S
split-extended-sequence: Private ordinary functions
split-extended-sequence-from-end: Private ordinary functions
split-extended-sequence-from-start: Private ordinary functions
split-extended-sequence-if: Private ordinary functions
split-extended-sequence-if-not: Private ordinary functions
split-list: Private ordinary functions
split-list-from-end: Private ordinary functions
split-list-from-start: Private ordinary functions
split-list-if: Private ordinary functions
split-list-if-not: Private ordinary functions
split-list-internal: Private ordinary functions
split-sequence: Public ordinary functions
split-sequence-if: Public ordinary functions
split-sequence-if-not: Public ordinary functions
split-vector: Private ordinary functions
split-vector-from-end: Private ordinary functions
split-vector-from-start: Private ordinary functions
split-vector-if: Private ordinary functions
split-vector-if-not: Private ordinary functions


A.3 Variables


A.4 Data types

Jump to:   A   C   D   E   F   L   P   S   T   V  
Index Entry  Section

A
api.lisp: The split-sequence/api․lisp file
array-index: Private types

C
Condition, simple-program-error: Private conditions

D
documentation.lisp: The split-sequence/documentation․lisp file

E
extended-sequence: Private types
extended-sequence.lisp: The split-sequence/extended-sequence․lisp file

F
File, api.lisp: The split-sequence/api․lisp file
File, documentation.lisp: The split-sequence/documentation․lisp file
File, extended-sequence.lisp: The split-sequence/extended-sequence․lisp file
File, list.lisp: The split-sequence/list․lisp file
File, package.lisp: The split-sequence/package․lisp file
File, split-sequence.asd: The split-sequence/split-sequence․asd file
File, vector.lisp: The split-sequence/vector․lisp file
File, version.sexp: The split-sequence/version․sexp file

L
list.lisp: The split-sequence/list․lisp file

P
Package, split-sequence: The split-sequence package
package.lisp: The split-sequence/package․lisp file

S
simple-program-error: Private conditions
split-sequence: The split-sequence system
split-sequence: The split-sequence package
split-sequence.asd: The split-sequence/split-sequence․asd file
System, split-sequence: The split-sequence system

T
Type, array-index: Private types
Type, extended-sequence: Private types

V
vector.lisp: The split-sequence/vector․lisp file
version.sexp: The split-sequence/version․sexp file