racket/collects/web-server/private/define-closure.ss
2008-02-24 21:27:36 +00:00

16 lines
525 B
Scheme

#lang scheme/base
(require (for-syntax "closure.ss")
(for-syntax scheme/base)
(for-template scheme/base))
(provide define-closure)
(define-syntax (define-closure stx)
(syntax-case stx ()
[(_ tag formals (free-vars ...) body)
(let-values ([(make-CLOSURE closure-definitions)
(make-closure-definition-syntax
#'tag
(syntax->list #'(free-vars ...))
#`(lambda formals body))])
#`(begin #,@closure-definitions))]))