compat: srfi-43: Adjust for Mes.

* gash/compat/srfi-43.scm (shared-shims): New macro.
[if-guile-version-below (2 0 10)]: Use it.
[mes]: Likewise.
This commit is contained in:
Timothy Sample 2022-04-28 23:58:01 -06:00
parent ca3b6d354c
commit 83f3369603
1 changed files with 19 additions and 9 deletions

View File

@ -26,16 +26,26 @@
;;;
;;; Code:
(define-macro (shared-shims)
'(begin
(export vector-empty?
vector-every)
(define (vector-empty? vec)
(zero? (vector-length vec)))
;; We only need the single vector version.
(define (vector-every pred? vec)
(let loop ((i 0) (value #t))
(if (< i (vector-length vec))
(and value (loop (1+ i) (pred? (vector-ref vec i))))
value)))))
(if-guile-version-below (2 0 10)
(begin
(define-public (vector-empty? vec)
(zero? (vector-length vec)))
;; We only need the single vector version.
(define-public (vector-every pred? vec)
(let loop ((i 0) (value #t))
(if (< i (vector-length vec))
(and value (loop (1+ i) (pred? (vector-ref vec i))))
value))))
(shared-shims)
(begin
(use-modules (srfi srfi-43))
(re-export vector-empty? vector-every)))
(when-mes
(shared-shims))