cosmetic fixes. add in-generator
svn: r15807
This commit is contained in:
parent
98f9472dd4
commit
56c4fe6c7d
|
@ -1,11 +1,11 @@
|
||||||
#lang scheme/base
|
#lang scheme/base
|
||||||
|
|
||||||
(require (for-syntax scheme/base))
|
(require (for-syntax scheme/base)
|
||||||
|
scheme/control
|
||||||
|
scheme/stxparam)
|
||||||
|
|
||||||
(require scheme/control)
|
(provide yield lambda-generator
|
||||||
(require scheme/stxparam)
|
define-generator in-generator)
|
||||||
|
|
||||||
(provide yield lambda-generator define-generator)
|
|
||||||
|
|
||||||
(define-syntax-parameter yield
|
(define-syntax-parameter yield
|
||||||
(lambda (stx)
|
(lambda (stx)
|
||||||
|
@ -38,13 +38,18 @@
|
||||||
;; set! is ugly but can we do better?
|
;; set! is ugly but can we do better?
|
||||||
(set! current next)
|
(set! current next)
|
||||||
value))
|
value))
|
||||||
(lambda (x) (add1 x))
|
add1
|
||||||
0
|
0
|
||||||
(lambda (x) (not (eq? last current)))
|
(lambda (x) (not (eq? last current)))
|
||||||
(lambda (v) (not (eq? last current)))
|
(lambda (v) (not (eq? last current)))
|
||||||
(lambda (x v) (not (eq? last current))))))])
|
(lambda (x v) (not (eq? last current))))))])
|
||||||
seq))]))
|
seq))]))
|
||||||
|
|
||||||
|
(define-syntax in-generator
|
||||||
|
(syntax-rules ()
|
||||||
|
[(_ body0 bodies ...)
|
||||||
|
((lambda-generator () body0 bodies ...))]))
|
||||||
|
|
||||||
(define-syntax define-generator
|
(define-syntax define-generator
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ (name args ...) body0 bodies ...)
|
[(_ (name args ...) body0 bodies ...)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user