racket/collects/srfi/%3a8.rkt
2010-04-27 16:50:15 -06:00

14 lines
319 B
Racket

#!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))))))