From 56c4fe6c7d4e923f2255211664d172b61d858f56 Mon Sep 17 00:00:00 2001 From: Jon Rafkind Date: Wed, 26 Aug 2009 21:29:02 +0000 Subject: [PATCH] cosmetic fixes. add in-generator svn: r15807 --- collects/scheme/generator.ss | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/collects/scheme/generator.ss b/collects/scheme/generator.ss index b19bcdd0c8..11e16d74b8 100644 --- a/collects/scheme/generator.ss +++ b/collects/scheme/generator.ss @@ -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 ...)