use let-values for no-rest-argument case, switch to scheme/base
svn: r8988
This commit is contained in:
parent
38ba4f29e8
commit
eb30bc7c88
|
@ -10,11 +10,13 @@
|
||||||
;;;
|
;;;
|
||||||
;;; oh well, there is no such comment.
|
;;; oh well, there is no such comment.
|
||||||
|
|
||||||
#lang mzscheme
|
#lang scheme/base
|
||||||
(provide receive)
|
(provide receive)
|
||||||
|
|
||||||
;; (receive vars producer . body)
|
;; (receive vars producer . body)
|
||||||
(define-syntax receive
|
(define-syntax receive
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
|
((receive (var ...) ?producer . ?body)
|
||||||
|
(let-values ([(var ...) ?producer]) . ?body))
|
||||||
((receive ?vars ?producer . ?body)
|
((receive ?vars ?producer . ?body)
|
||||||
(call-with-values (lambda () ?producer) (lambda ?vars . ?body)))))
|
(call-with-values (lambda () ?producer) (lambda ?vars . ?body)))))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user