14 lines
319 B
Racket
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))))))
|
|
|