From db6a9de7edfa9dfedefc18a540d03d599150dbaf Mon Sep 17 00:00:00 2001 From: Jon Rafkind Date: Thu, 7 Jan 2010 21:53:37 +0000 Subject: [PATCH] add 'infinite' generator svn: r17552 --- collects/scheme/generator.ss | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/collects/scheme/generator.ss b/collects/scheme/generator.ss index fff882ef60..8880ba9b02 100644 --- a/collects/scheme/generator.ss +++ b/collects/scheme/generator.ss @@ -4,7 +4,7 @@ scheme/control scheme/stxparam scheme/splicing) -(provide yield generator in-generator) +(provide yield generator in-generator infinite) ;; (define-syntax-parameter yield ;; (lambda (stx) @@ -74,6 +74,11 @@ #'[(id ...) (in-producer (generator body0 body ... stop-value) stop-value)]]))) +(define (infinite sequence) + (generator + (for ([i (in-cycle sequence)]) + (yield i)))) + #| ;; examples (for/list ([i (in-generator (for-each yield '(1 2 3)) (yield 'four))]) i)