summaryrefslogtreecommitdiff
path: root/shared/lists.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'shared/lists.rkt')
-rw-r--r--shared/lists.rkt8
1 files changed, 7 insertions, 1 deletions
diff --git a/shared/lists.rkt b/shared/lists.rkt
index 8437fcb..ac501fd 100644
--- a/shared/lists.rkt
+++ b/shared/lists.rkt
@@ -5,7 +5,8 @@
fold-left
flatmap
enumerate-interval
- enumerate-windows)
+ enumerate-windows
+ find-first)
(define (append list1 list2)
(if (null? list1)
@@ -94,3 +95,8 @@
(enumerate-windows
(enumerate-interval 1 4)
2)
+
+(define (find-first pred? seq)
+ (cond ((null? seq) false)
+ ((pred? (car seq)) (car seq))
+ (else (find-first pred? (cdr seq)))))