Added (any) and (every)

This commit is contained in:
Justin Ethier 2015-06-29 21:33:13 -04:00
parent 7b1092e27a
commit e7671ccf16

View file

@ -3,8 +3,28 @@
(scheme char)) (scheme char))
; TODO: really need export-all for these cyclone libs!! ; TODO: really need export-all for these cyclone libs!!
(export (export
any
every
filter filter
tagged-list? tagged-list?
mangle mangle
mangle-global) 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))))
))