Use syntax/parse for reqprov, fix documentation for require-in and change order of arguments for require-in.
This commit is contained in:
parent
5159829930
commit
50cac9ec15
|
@ -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))]))
|
|
@ -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}}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user