Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define-syntax generator-lambda
- (lambda (stx)
- (syntax-case stx ()
- [(generator-lambda body body* ...)
- (with-syntax ([yield (datum->syntax #'stx 'yield)])
- #'(lambda (yield) body body* ...))])))
- (define a
- (generator-lambda
- (let loop ([i 0])
- (when (< i 3)
- (yield i)
- (loop (+ i 1))))))
- (a (lambda (s) (display s)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement