Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

lib/list-selectors.x

Optional compound List selectors.

Primary API

FunctionSummary
List.caaaarReturns car(car(car(car(value)))).
List.caaadrReturns car(car(car(cdr(value)))).
List.caaarReturns car(car(car(value))).
List.caadarReturns car(car(cdr(car(value)))).
List.caaddrReturns car(car(cdr(cdr(value)))).
List.caadrReturns car(car(cdr(value))).
List.cadaarReturns car(cdr(car(car(value)))).
List.cadadrReturns car(cdr(car(cdr(value)))).
List.cadarReturns car(cdr(car(value))).
List.caddarReturns car(cdr(cdr(car(value)))).
List.cadddrReturns car(cdr(cdr(cdr(value)))).
List.cdaaarReturns cdr(car(car(car(value)))).
List.cdaadrReturns cdr(car(car(cdr(value)))).
List.cdaarReturns cdr(car(car(value))).
List.cdadarReturns cdr(car(cdr(car(value)))).
List.cdaddrReturns cdr(car(cdr(cdr(value)))).
List.cdadrReturns cdr(car(cdr(value))).
List.cdarReturns cdr(car(value)).
List.cddaarReturns cdr(cdr(car(car(value)))).
List.cddadrReturns cdr(cdr(car(cdr(value)))).
List.cddarReturns cdr(cdr(car(value))).
List.cdddarReturns cdr(cdr(cdr(car(value)))).
List.cddddrReturns cdr(cdr(cdr(cdr(value)))).
List.cdddrReturns cdr(cdr(cdr(value))).
Var.caaaarReturns car(car(car(car(value)))) after treating value as a List.
Var.caaadrReturns car(car(car(cdr(value)))) after treating value as a List.
Var.caaarReturns car(car(car(value))) after treating value as a List.
Var.caadarReturns car(car(cdr(car(value)))) after treating value as a List.
Var.caaddrReturns car(car(cdr(cdr(value)))) after treating value as a List.
Var.caadrReturns car(car(cdr(value))) after treating value as a List.
Var.cadaarReturns car(cdr(car(car(value)))) after treating value as a List.
Var.cadadrReturns car(cdr(car(cdr(value)))) after treating value as a List.
Var.cadarReturns car(cdr(car(value))) after treating value as a List.
Var.caddarReturns car(cdr(cdr(car(value)))) after treating value as a List.
Var.cadddrReturns car(cdr(cdr(cdr(value)))) after treating value as a List.
Var.cdaaarReturns cdr(car(car(car(value)))) after treating value as a List.
Var.cdaadrReturns cdr(car(car(cdr(value)))) after treating value as a List.
Var.cdaarReturns cdr(car(car(value))) after treating value as a List.
Var.cdadarReturns cdr(car(cdr(car(value)))) after treating value as a List.
Var.cdaddrReturns cdr(car(cdr(cdr(value)))) after treating value as a List.
Var.cdadrReturns cdr(car(cdr(value))) after treating value as a List.
Var.cdarReturns cdr(car(value)) after treating value as a List.
Var.cddaarReturns cdr(cdr(car(car(value)))) after treating value as a List.
Var.cddadrReturns cdr(cdr(car(cdr(value)))) after treating value as a List.
Var.cddarReturns cdr(cdr(car(value))) after treating value as a List.
Var.cdddarReturns cdr(cdr(cdr(car(value)))) after treating value as a List.
Var.cddddrReturns cdr(cdr(cdr(cdr(value)))) after treating value as a List.
Var.cdddrReturns cdr(cdr(cdr(value))) after treating value as a List.

List

List.caaaar

inline Var List.caaaar(List value)

Returns car(car(car(car(value)))).

Source: lib/list-selectors.x:33

List.caaadr

inline Var List.caaadr(List value)

Returns car(car(car(cdr(value)))).

Source: lib/list-selectors.x:35

List.caaar

inline Var List.caaar(List value)

Returns car(car(car(value))).

Source: lib/list-selectors.x:18

List.caadar

inline Var List.caadar(List value)

Returns car(car(cdr(car(value)))).

Source: lib/list-selectors.x:37

List.caaddr

inline Var List.caaddr(List value)

Returns car(car(cdr(cdr(value)))).

Source: lib/list-selectors.x:39

List.caadr

inline Var List.caadr(List value)

Returns car(car(cdr(value))).

Source: lib/list-selectors.x:20

List.cadaar

inline Var List.cadaar(List value)

Returns car(cdr(car(car(value)))).

Source: lib/list-selectors.x:41

List.cadadr

inline Var List.cadadr(List value)

Returns car(cdr(car(cdr(value)))).

Source: lib/list-selectors.x:43

List.cadar

inline Var List.cadar(List value)

Returns car(cdr(car(value))).

Source: lib/list-selectors.x:22

List.caddar

inline Var List.caddar(List value)

Returns car(cdr(cdr(car(value)))).

Source: lib/list-selectors.x:45

List.cadddr

inline Var List.cadddr(List value)

Returns car(cdr(cdr(cdr(value)))).

Source: lib/list-selectors.x:47

List.cdaaar

inline Self List.cdaaar(Self value)

Returns cdr(car(car(car(value)))).

Source: lib/list-selectors.x:49

List.cdaadr

inline Self List.cdaadr(Self value)

Returns cdr(car(car(cdr(value)))).

Source: lib/list-selectors.x:51

List.cdaar

inline Self List.cdaar(Self value)

Returns cdr(car(car(value))).

Source: lib/list-selectors.x:24

List.cdadar

inline Self List.cdadar(Self value)

Returns cdr(car(cdr(car(value)))).

Source: lib/list-selectors.x:53

List.cdaddr

inline Self List.cdaddr(Self value)

Returns cdr(car(cdr(cdr(value)))).

Source: lib/list-selectors.x:55

List.cdadr

inline Self List.cdadr(Self value)

Returns cdr(car(cdr(value))).

Source: lib/list-selectors.x:26

List.cdar

inline Self List.cdar(Self value)

Returns cdr(car(value)).

Source: lib/list-selectors.x:16

List.cddaar

inline Self List.cddaar(Self value)

Returns cdr(cdr(car(car(value)))).

Source: lib/list-selectors.x:57

List.cddadr

inline Self List.cddadr(Self value)

Returns cdr(cdr(car(cdr(value)))).

Source: lib/list-selectors.x:59

List.cddar

inline Self List.cddar(Self value)

Returns cdr(cdr(car(value))).

Source: lib/list-selectors.x:28

List.cdddar

inline Self List.cdddar(Self value)

Returns cdr(cdr(cdr(car(value)))).

Source: lib/list-selectors.x:61

List.cddddr

inline Self List.cddddr(Self value)

Returns cdr(cdr(cdr(cdr(value)))).

Source: lib/list-selectors.x:63

List.cdddr

inline Self List.cdddr(Self value)

Returns cdr(cdr(cdr(value))).

Source: lib/list-selectors.x:30

Var

Var.caaaar

inline Var Var.caaaar(Var value)

Returns car(car(car(car(value)))) after treating value as a List.

Source: lib/list-selectors.x:83

Var.caaadr

inline Var Var.caaadr(Var value)

Returns car(car(car(cdr(value)))) after treating value as a List.

Source: lib/list-selectors.x:85

Var.caaar

inline Var Var.caaar(Var value)

Returns car(car(car(value))) after treating value as a List.

Source: lib/list-selectors.x:68

Var.caadar

inline Var Var.caadar(Var value)

Returns car(car(cdr(car(value)))) after treating value as a List.

Source: lib/list-selectors.x:87

Var.caaddr

inline Var Var.caaddr(Var value)

Returns car(car(cdr(cdr(value)))) after treating value as a List.

Source: lib/list-selectors.x:89

Var.caadr

inline Var Var.caadr(Var value)

Returns car(car(cdr(value))) after treating value as a List.

Source: lib/list-selectors.x:70

Var.cadaar

inline Var Var.cadaar(Var value)

Returns car(cdr(car(car(value)))) after treating value as a List.

Source: lib/list-selectors.x:91

Var.cadadr

inline Var Var.cadadr(Var value)

Returns car(cdr(car(cdr(value)))) after treating value as a List.

Source: lib/list-selectors.x:93

Var.cadar

inline Var Var.cadar(Var value)

Returns car(cdr(car(value))) after treating value as a List.

Source: lib/list-selectors.x:72

Var.caddar

inline Var Var.caddar(Var value)

Returns car(cdr(cdr(car(value)))) after treating value as a List.

Source: lib/list-selectors.x:95

Var.cadddr

inline Var Var.cadddr(Var value)

Returns car(cdr(cdr(cdr(value)))) after treating value as a List.

Source: lib/list-selectors.x:97

Var.cdaaar

inline List Var.cdaaar(Var value)

Returns cdr(car(car(car(value)))) after treating value as a List.

Source: lib/list-selectors.x:99

Var.cdaadr

inline List Var.cdaadr(Var value)

Returns cdr(car(car(cdr(value)))) after treating value as a List.

Source: lib/list-selectors.x:101

Var.cdaar

inline List Var.cdaar(Var value)

Returns cdr(car(car(value))) after treating value as a List.

Source: lib/list-selectors.x:74

Var.cdadar

inline List Var.cdadar(Var value)

Returns cdr(car(cdr(car(value)))) after treating value as a List.

Source: lib/list-selectors.x:103

Var.cdaddr

inline List Var.cdaddr(Var value)

Returns cdr(car(cdr(cdr(value)))) after treating value as a List.

Source: lib/list-selectors.x:105

Var.cdadr

inline List Var.cdadr(Var value)

Returns cdr(car(cdr(value))) after treating value as a List.

Source: lib/list-selectors.x:76

Var.cdar

inline List Var.cdar(Var value)

Returns cdr(car(value)) after treating value as a List.

Source: lib/list-selectors.x:66

Var.cddaar

inline List Var.cddaar(Var value)

Returns cdr(cdr(car(car(value)))) after treating value as a List.

Source: lib/list-selectors.x:107

Var.cddadr

inline List Var.cddadr(Var value)

Returns cdr(cdr(car(cdr(value)))) after treating value as a List.

Source: lib/list-selectors.x:109

Var.cddar

inline List Var.cddar(Var value)

Returns cdr(cdr(car(value))) after treating value as a List.

Source: lib/list-selectors.x:78

Var.cdddar

inline List Var.cdddar(Var value)

Returns cdr(cdr(cdr(car(value)))) after treating value as a List.

Source: lib/list-selectors.x:111

Var.cddddr

inline List Var.cddddr(Var value)

Returns cdr(cdr(cdr(cdr(value)))) after treating value as a List.

Source: lib/list-selectors.x:113

Var.cdddr

inline List Var.cdddr(Var value)

Returns cdr(cdr(cdr(value))) after treating value as a List.

Source: lib/list-selectors.x:80

Design notes

The prelude keeps car, cdr, caar, cadr, cddr, and caddr. Include this module for the remaining Common Lisp selector spellings through depth 4. Names read from right to left: a applies car and d applies cdr. Every step is nil-safe, and selected tails share their canonical List structure.

Tests and examples

make verify (unittest/test-list.x).