From c427549c0a9c242e38aa08be6b4c65bb68406b40 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Fri, 12 Feb 2016 23:51:00 -0500 Subject: [PATCH] Accept multiple list args --- scheme/base.sld | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/scheme/base.sld b/scheme/base.sld index 94e54c62..c5ad3d2c 100644 --- a/scheme/base.sld +++ b/scheme/base.sld @@ -738,12 +738,13 @@ (define (string-map func str1 . strs) (list->string (apply map `(,func ,(string->list str1) ,@(map string->list strs))))) - (define (string-for-each func str) - (for-each func (string->list str))) - (define (vector-map func vec) - (list->vector (map func (vector->list vec)))) - (define (vector-for-each func vec) - (for-each func (vector->list vec))) + (define (string-for-each func str1 . strs) + (apply for-each `(,func ,(string->list str1) ,@(map string->list strs)))) + (define (vector-map func vec1 . vecs) + (list->vector + (apply map `(,func ,(vector->list vec1) ,@(map vector->list vecs))))) + (define (vector-for-each func vec1 . vecs) + (apply for-each `(,func ,(vector->list vec1) ,@(map vector->list vecs)))) (define (vector-append . vecs) (list->vector (apply append (map vector->list vecs))))