10.1.2. Node Lists

(node-list? obj)

Returns #t if obj is a node-list, and otherwise returns #f.

(node-list-empty? nl)

Returns #t if nl is the empty node-list, and otherwise returns #f.

(node-list-first nl)

Returns a node-list containing the first member of nl, if any, and otherwise returns the empty node-list.

(node-list-rest nl)

Returns a node-list containing all members of nl except the first, if nl has at least one member, and otherwise returns the empty node-list.

(node-list nl1 nl2 ...)

Returns the node-list that results from appending the members of nl1, nl2, .... If there are no arguments, returns the empty node-list.

(node-list=? nl1 nl2)

Returns #t if nl1 and nl2 are the same node-list, that is, they contain the same members in the same order, and otherwise returns #f.

(node-list-no-order nl)

Returns a node-list that has the same members as nl but in an unspecified order.

NOTE 26: An implementation may be able to implement (node-list-no-order q) more efficiently than q.