From a0ba9a7649318b79c1ec862642bfd0e9603e4380 Mon Sep 17 00:00:00 2001 From: Jon Rafkind Date: Fri, 8 Jan 2010 22:02:42 +0000 Subject: [PATCH] add sequence->generator and change make-repeated-sequence-generator to use that instead of infinite-generator svn: r17583 --- collects/scheme/generator.ss | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/collects/scheme/generator.ss b/collects/scheme/generator.ss index 2724d6a972..1357fb083b 100644 --- a/collects/scheme/generator.ss +++ b/collects/scheme/generator.ss @@ -5,6 +5,7 @@ scheme/stxparam scheme/splicing) (provide yield generator in-generator infinite-generator + sequence->generator make-repeated-sequence-generator) ;; (define-syntax-parameter yield @@ -69,6 +70,11 @@ body0 body ... (loop)))) +(define (sequence->generator sequence) + (generator + (for ([i sequence]) + (yield i)))) + (define stop-value (gensym)) (define-sequence-syntax in-generator @@ -82,9 +88,7 @@ (in-producer (generator body0 body ... stop-value) stop-value)]]))) (define (make-repeated-sequence-generator sequence) - (infinite-generator - (for ([i sequence]) - (yield i)))) + (sequence->generator (in-cycle sequence))) #| ;; examples