Formal Comment
Submitter's name: Marc Feeley Submitter's email: feeley at iro.umontreal.ca Relevant draft: r7rs draft 6
Type: defect Priority: major Relevant section of draft: 6.7. Strings, 6.8. Vectors, 6.9. Bytevectors, 6.10. Control features
Summary: Generalization of append, map, and for-each to other sequences
R7RS has three vector-like data types: strings, vectors and bytevectors.
The procedure
(string-append string ...)
exists to concatenate strings, like append concatenates lists. However there is no vector-append and bytevector-append which concatenate vectors and bytevectors.
The procedures
(string-map proc string1 string2 ...) (vector-map proc vector1 vector2 ...)
(string-for-each proc string1 string2 ...) (vector-for-each proc vector1 vector2 ...)
are for strings and vectors what map and for-each are for lists. There is no such procedures for bytevectors.
For consistency, these missing procedures should be added.
The WG voted for vector-append and bytevector-append, but not bytevector-map or bytevector-for-each.