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
(require (for-syntax scheme/base))
(require (for-syntax scheme/base)
scheme/control
scheme/stxparam)
(require scheme/control)
(require scheme/stxparam)
(provide yield lambda-generator define-generator)
(provide yield lambda-generator
define-generator in-generator)
(define-syntax-parameter yield
(lambda (stx)
@ -38,13 +38,18 @@
;; set! is ugly but can we do better?
(set! current next)
value))
(lambda (x) (add1 x))
add1
0
(lambda (x) (not (eq? last current)))
(lambda (v) (not (eq? last current)))
(lambda (x v) (not (eq? last current))))))])
seq))]))
(define-syntax in-generator
(syntax-rules ()
[(_ body0 bodies ...)
((lambda-generator () body0 bodies ...))]))
(define-syntax define-generator
(syntax-rules ()
[(_ (name args ...) body0 bodies ...)