racket/collects/srfi/%3a8.ss
2009-09-29 16:11:11 +00:00

14 lines
319 B
Scheme

#!r6rs
(library (srfi :8)
(export receive)
(import (rnrs base))
(define-syntax receive
(syntax-rules ()
((receive (var ...) ?producer . ?body)
(let-values ([(var ...) ?producer]) . ?body))
((receive ?vars ?producer . ?body)
(call-with-values (lambda () ?producer) (lambda ?vars . ?body))))))