added (if-some)

master
Brady McDonough 5 years ago
parent d31e24aa59
commit fe1b0f5b24

@ -2,7 +2,7 @@
#:export (flatten #:export (flatten
lp& lp&
l& l&
) if-some)
#:duplicates (warn-override-core warn )) #:duplicates (warn-override-core warn ))
(define (flatten-helper lst acc stk) (define (flatten-helper lst acc stk)
@ -37,8 +37,7 @@
'()) '())
((p (car ls1) (car ls2)) ((p (car ls1) (car ls2))
(cons (car ls1) (loop (cdr ls1) (cdr ls2)))) (cons (car ls1) (loop (cdr ls1) (cdr ls2))))
(else '()) (else '()))))
)))
;; Collect entries from the beginning of the given lists as long as those ;; Collect entries from the beginning of the given lists as long as those
;;entries are equivalent according to (eqv?) ;;entries are equivalent according to (eqv?)
@ -46,3 +45,6 @@
(cond ((eqv? ls1 ls2) ls1) (cond ((eqv? ls1 ls2) ls1)
(else (lp& eqv? ls1 ls2)))) (else (lp& eqv? ls1 ls2))))
;; Returns the argument if it isn't #f, otherwise returns the empty list
(define (if-some $cond)
(if $cond $cond '()))

Loading…
Cancel
Save