( write obj ) ( write obj [ output-port? port ] )
Writes a representation of obj to the given textual output port. Strings that appear in the written representation are enclosed in quotation marks, and within those strings backslash and quotation mark characters are escaped by backslashes. Symbols that contain non-ASCII characters are escaped with vertical lines. Character objects are written using the #\ notation. If obj contains cycles which would cause an infinite loop using the normal written representation, then at least the objects that form part of the cycle must be represented using datum labels as described in section 2.4. Datum labels must not be used if there are no cycles. Implementations may support extended syntax to represent record types or other types that do not have datum representations.
( write-char [ char? char ] ) ( write-char [ char? char ] [ output-port? port ] )
Writes the character char (not an external representation of the character) to the given textual output port and returns an unspecified value.
( write-shared obj ) ( write-shared obj [ output-port? port ] )
The write-shared procedure is the same as write, except that shared structure must be represented using datum labels for all pairs and vectors that appear more than once in the output.
( write-simple obj ) ( write-simple obj [ output-port? port ] )
The write-simple procedure is the same as write, except that shared structure is never represented using datum labels. This can cause write-simple not to terminate if obj contains circular structure.
( xcons d a ) pair?
(lambda (d a) (cons a d)) Of utility only as a value to be conveniently passed to higher-order procedures.
( zip [ list? clist1 ] [ list? clist2 ] ... ) list?
(lambda lists (apply map list lists)). If zip is passed n lists, it returns a list as long as the shortest of these lists, each element of which is an n-element list comprised of the corresponding elements from the parameter lists. At least one of the argument lists must be finite.