From 780aa6593685a9b17dd64dfbdc179f1e2b048ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 3 Apr 2019 22:52:09 +0200 Subject: Add stream-find. --- module/srfi/srfi-41/util.scm | 7 +++++-- 1 file 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))))) -- cgit v1.2.3