diff --git a/scheme/cyclone/util.sld b/scheme/cyclone/util.sld index 55a1db21..cf8eaa6b 100644 --- a/scheme/cyclone/util.sld +++ b/scheme/cyclone/util.sld @@ -3,8 +3,28 @@ (scheme char)) ; TODO: really need export-all for these cyclone libs!! (export + any + every filter tagged-list? mangle mangle-global) - (include "../../util.scm")) + (include "../../util.scm") + (begin + ;; Simplified versions of every/any from SRFI-1 + (define (any pred lst) + (let any* ((l (map pred lst))) + (cond + ((null? l) #f) ; Empty list + ((car l) #t) ; Done + (else + (any* (cdr l)))))) + (define (every pred lst) + (let every* ((l (map pred lst))) + (cond + ((null? l) #t) ; Empty list + ((car l) + (every* (cdr l))) + (else + #f)))) + ))