diff --git a/scsh/utilities.scm b/scsh/utilities.scm index a5522dd..df84af4 100644 --- a/scsh/utilities.scm +++ b/scsh/utilities.scm @@ -102,6 +102,13 @@ (and (pred (vector-ref v i)) (lp (- i 1)))))) +(define (copy-vector v) + (let* ((len (vector-length v)) + (ans (make-vector len))) + (do ((i (- len 1) (- i 1))) + ((< i 0) ans) + (vector-set! ans i (vector-ref v i))))) + ;;; These two utility funs are for parsing optional last arguments, ;;; e.g. the PORT arg in ;;; (write-string string [port])