Use syntax/parse for reqprov, fix documentation for require-in and change order of arguments for require-in.

This commit is contained in:
Georges Dupéron 2016-08-23 13:50:27 +02:00
parent 5159829930
commit 50cac9ec15
2 changed files with 12 additions and 12 deletions

View File

@ -4,7 +4,8 @@
racket/provide-syntax racket/provide-syntax
(for-syntax racket/base (for-syntax racket/base
racket/provide-transform racket/provide-transform
racket/syntax)) racket/syntax
syntax/parse))
(provide expander-in (provide expander-in
expander-out) expander-out)
@ -22,14 +23,12 @@
(#,@prefix define-id-expander) (#,@prefix define-id-expander)
(for-syntax (#,@prefix expand-all-id-expanders))))) (for-syntax (#,@prefix expand-all-id-expanders)))))
(define-require-syntax (expander-in stx) (define-require-syntax expander-in
(syntax-case stx () (syntax-parser
[(_ id modpath) [(_ require-spec id:id)
(identifier? #'id) (reqprov-transformer2 #'id #'combine-in #'(only-in require-spec))]))
(reqprov-transformer2 #'id #'combine-in #'(only-in modpath))]))
(define-provide-syntax (expander-out stx) (define-provide-syntax expander-out
(syntax-case stx () (syntax-parser
[(_ id) [(_ id:id)
(identifier? #'id)
(reqprov-transformer2 #'id #'combine-out #'(combine-out))])) (reqprov-transformer2 #'id #'combine-out #'(combine-out))]))

View File

@ -4,9 +4,10 @@
@title{@racket[require] and @racket[provide] transformers} @title{@racket[require] and @racket[provide] transformers}
@defform[#:kind "require transformer" @defform[#:kind "require transformer"
(expander-in id)]{ (expander-in require-spec id)]{
This @techlink[#:doc '(lib "scribblings/reference/reference.scrbl")]{ This @techlink[#:doc '(lib "scribblings/reference/reference.scrbl")]{
require transformer} imports the identifiers defined by require transformer} imports from @racket[require-spec]
the identifiers defined by
@racket[(define-expander-type id)]: @racket[(define-expander-type id)]:
@itemlist[@item{@tt{@emph{id}-expander-type}} @itemlist[@item{@tt{@emph{id}-expander-type}}
@item{@tt{make-@emph{id}-expander}} @item{@tt{make-@emph{id}-expander}}