add 'infinite' generator
svn: r17552
This commit is contained in:
parent
eaad64d612
commit
db6a9de7ed
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue
Block a user