aboutsummaryrefslogtreecommitdiff
path: root/module
diff options
context:
space:
mode:
Diffstat (limited to 'module')
-rw-r--r--module/srfi/srfi-41/util.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/module/srfi/srfi-41/util.scm b/module/srfi/srfi-41/util.scm
index 5bef95cb..2492d088 100644
--- a/module/srfi/srfi-41/util.scm
+++ b/module/srfi/srfi-41/util.scm
@@ -21,9 +21,12 @@
(m ms (stream-car+cdr min)))
(stream-cons m (interleave-streams < (cons ms other)))))))
-;;; Varför är allting så långsamt‽‽‽‽‽‽‽‽
-
(define-public (filter-sorted-stream proc stream)
(stream-take-while
proc (stream-drop-while
(negate proc) stream)))
+
+(define-public (stream-find pred stream)
+ (cond ((stream-null? stream) #f)
+ ((pred (stream-car stream)) (stream-car stream))
+ (else (stream-find pred (stream-cdr stream)))))