Speed up --check-pkg-deps
This commit is contained in:
parent
ff12ed2af4
commit
8e460716ed
|
@ -50,6 +50,7 @@ before_script:
|
||||||
# packages without it getting stuck on a confirmation prompt.
|
# packages without it getting stuck on a confirmation prompt.
|
||||||
script:
|
script:
|
||||||
- raco test -x -p extensible-parser-specifications
|
- raco test -x -p extensible-parser-specifications
|
||||||
|
- raco setup --check-pkg-deps --no-zo --no-launcher --no-install --no-post-install --no-docs --pkgs extensible-parser-specifications
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
- raco setup --check-pkg-deps --pkgs extensible-parser-specifications
|
- raco setup --check-pkg-deps --pkgs extensible-parser-specifications
|
||||||
|
|
|
@ -8,22 +8,36 @@
|
||||||
(for-syntax racket/base
|
(for-syntax racket/base
|
||||||
syntax/parse
|
syntax/parse
|
||||||
racket/stxparam
|
racket/stxparam
|
||||||
racket/syntax)
|
racket/syntax
|
||||||
(for-meta 2
|
phc-toolkit/untyped)
|
||||||
racket/base
|
(for-meta 2 (prefix-in syntax/parse: syntax/parse/private/residual-ct))
|
||||||
syntax/parse
|
(for-meta 2 racket/base)
|
||||||
racket/syntax
|
(for-meta 2 syntax/parse)
|
||||||
phc-toolkit/untyped
|
(for-meta 2 racket/syntax)
|
||||||
(prefix-in syntax/parse: syntax/parse/private/residual-ct)))
|
(for-meta 2 phc-toolkit/untyped))
|
||||||
|
|
||||||
(define-simple-macro (define-syntax/parse+simple [name . args] . body)
|
#;(define-syntax/case (define-syntax/parse+simple [name . args] . body) ()
|
||||||
#:with name-forward (format-id #'name "~a-forward-attributes" #'name)
|
(with-format-ids/inject-binders
|
||||||
#:with tmp-forward (format-id #'tmp "~a-forward-attributes" #'tmp)
|
([name-forward #'name "~a-forward-attributes" #'name]
|
||||||
(begin
|
[tmp-forward #'tmp "~a-forward-attributes" #'tmp])
|
||||||
(begin-for-syntax
|
#'(begin
|
||||||
(define/syntax-parse+simple [tmp . args] . body)
|
(begin-for-syntax
|
||||||
(define-syntax name-forward (make-rename-transformer #'tmp-forward)))
|
(inject-sub-range-binders ...
|
||||||
(define-syntax name tmp)))
|
(define/syntax-parse+simple [tmp . args] . body)
|
||||||
|
(define-syntax name-forward (make-rename-transformer #'tmp-forward))))
|
||||||
|
(define-syntax name tmp))))
|
||||||
|
|
||||||
|
(define-syntax/parse (define-syntax/parse+simple (~optional (~and two #:2))
|
||||||
|
[name . args] . body)
|
||||||
|
(with-format-ids/inject-binders
|
||||||
|
([name-forward #'name "~a-forward-attributes" #'name]
|
||||||
|
[tmp-forward #'tmp "~a-forward-attributes" #'tmp])
|
||||||
|
#'(begin
|
||||||
|
(begin-for-syntax
|
||||||
|
(inject-sub-range-binders ...
|
||||||
|
(define/syntax-parse+simple [tmp . args] . body)
|
||||||
|
(define-syntax name-forward (make-rename-transformer #'tmp-forward))))
|
||||||
|
(define-syntax name tmp))))
|
||||||
|
|
||||||
(begin-for-syntax
|
(begin-for-syntax
|
||||||
(define-syntax (define/syntax-parse+simple stx)
|
(define-syntax (define/syntax-parse+simple stx)
|
||||||
|
@ -47,39 +61,39 @@
|
||||||
[(_ [name (~var cls (static syntax/parse:stxclass? "a syntax class"))]
|
[(_ [name (~var cls (static syntax/parse:stxclass? "a syntax class"))]
|
||||||
. body)
|
. body)
|
||||||
#:with colon-stxclass (format-id #'cls ":~a" #'cls)
|
#:with colon-stxclass (format-id #'cls ":~a" #'cls)
|
||||||
#:with name-forward (format-id #'name "~a-forward-attributes" #'name)
|
(with-arrows
|
||||||
(with-disappeared-uses
|
(define/with-syntax name-forward
|
||||||
(let ()
|
(format-id/record #'name "~a-forward-attributes" #'name))
|
||||||
(define c (syntax-local-value/record #'cls syntax/parse:stxclass?))
|
(define c (syntax-local-value/record #'cls syntax/parse:stxclass?))
|
||||||
(define attrs (syntax/parse:stxclass-attrs c))
|
(define attrs (syntax/parse:stxclass-attrs c))
|
||||||
(define/with-syntax (attr-name …) (map syntax/parse:attr-name attrs))
|
(define/with-syntax (attr-name …) (map syntax/parse:attr-name attrs))
|
||||||
(define/with-syntax (attr-name/ctx …)
|
(define/with-syntax (attr-name/ctx …)
|
||||||
(stx-map (λ (a) (datum->syntax #'body (syntax-e a)))
|
(stx-map (λ (a) (datum->syntax #'body (syntax-e a)))
|
||||||
#'(attr-name …)))
|
#'(attr-name …)))
|
||||||
(define-temp-ids "~a/arg" (attr-name …))
|
(define-temp-ids "~a/arg" (attr-name …))
|
||||||
(define/with-syntax (attr-depth …)
|
(define/with-syntax (attr-depth …)
|
||||||
(map syntax/parse:attr-depth attrs))
|
(map syntax/parse:attr-depth attrs))
|
||||||
#'(begin
|
#'(begin
|
||||||
(define (name stx2)
|
(define (name stx2)
|
||||||
(syntax-parameterize ([stx (make-rename-transformer #'stx2)])
|
(syntax-parameterize ([stx (make-rename-transformer #'stx2)])
|
||||||
(syntax-parse stx2
|
(syntax-parse stx2
|
||||||
[(_ . colon-stxclass) . body])))
|
[(_ . colon-stxclass) . body])))
|
||||||
(define (private-simple-api stx/arg attr-name/arg …)
|
(define (private-simple-api stx/arg attr-name/arg …)
|
||||||
(syntax-parameterize ([stx (make-rename-transformer #'stx/arg)])
|
(syntax-parameterize ([stx (make-rename-transformer #'stx/arg)])
|
||||||
(syntax-parse #'nothing
|
(syntax-parse #'nothing
|
||||||
[(~bind [(attr-name/ctx attr-depth) attr-name/arg] …)
|
[(~bind [(attr-name/ctx attr-depth) attr-name/arg] …)
|
||||||
. body])))
|
. body])))
|
||||||
(define-syntax (name-forward stx3)
|
(define-syntax (name-forward stx3)
|
||||||
(syntax-case stx3 ()
|
(syntax-case stx3 ()
|
||||||
[(_)
|
[(_)
|
||||||
#`(private-simple-api
|
#`(private-simple-api
|
||||||
stx
|
stx
|
||||||
(attribute #,(datum->syntax stx3 'attr-name))
|
(attribute #,(datum->syntax stx3 'attr-name))
|
||||||
…)]
|
…)]
|
||||||
[(_ forward-args-prefix)
|
[(_ forward-args-prefix)
|
||||||
#`(private-simple-api
|
#`(private-simple-api
|
||||||
stx
|
stx
|
||||||
(attribute #,(format-id stx3 "~a.~a"
|
(attribute #,(format-id stx3 "~a.~a"
|
||||||
#'forward-args-prefix
|
#'forward-args-prefix
|
||||||
'attr-name))
|
'attr-name))
|
||||||
…)])))))])))
|
…)]))))])))
|
Loading…
Reference in New Issue
Block a user