cosmetic fixes. add in-generator

svn: r15807
This commit is contained in:
Jon Rafkind 2009-08-26 21:29:02 +00:00
parent 98f9472dd4
commit 56c4fe6c7d

View File

@ -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 ...)