diff options
Diffstat (limited to 'module/srfi/srfi-41')
-rw-r--r-- | module/srfi/srfi-41/util.scm | 7 |
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))))) |