mes/lib/srfi/srfi-1.scm
2016-08-14 01:40:45 +02:00

16 lines
384 B
Scheme

(define (find pred lst)
(let loop ((lst lst))
(if (null? lst) #f
(if (pred (car lst)) (car lst)
(loop (cdr lst))))))
(define (filter pred lst)
(let loop ((lst lst))
(if (null? lst) '()
(if (pred (car lst))
(cons (car lst) (loop (cdr lst)))
(loop (cdr lst))))))
(define (append-map f lst)
(apply append (map f lst)))