lift a few fewer negative parties
This commit is contained in:
parent
3d452fdba6
commit
a1e6c94fda
|
@ -92,9 +92,10 @@
|
|||
(define (contract-neg-party-property stx)
|
||||
(syntax-property stx neg-party-key))
|
||||
|
||||
(define global-saved-id-table (make-hasheq))
|
||||
|
||||
(struct provide/contract-arrow-transformer provide/contract-info
|
||||
(saved-id-table
|
||||
saved-ho-id-table
|
||||
(saved-ho-id-table
|
||||
partially-applied-id
|
||||
extra-neg-party-argument-fn
|
||||
valid-argument-lists)
|
||||
|
@ -102,7 +103,6 @@
|
|||
prop:set!-transformer
|
||||
(λ (self stx)
|
||||
(let ([partially-applied-id (provide/contract-arrow-transformer-partially-applied-id self)]
|
||||
[saved-id-table (provide/contract-arrow-transformer-saved-id-table self)]
|
||||
[saved-ho-id-table (provide/contract-arrow-transformer-saved-ho-id-table self)]
|
||||
[extra-neg-party-argument-fn
|
||||
(provide/contract-arrow-transformer-extra-neg-party-argument-fn self)]
|
||||
|
@ -115,12 +115,12 @@
|
|||
(let* ([key (syntax-local-lift-context)]
|
||||
;; Already lifted in this lifting context?
|
||||
[lifted-neg-party
|
||||
(or (hash-ref saved-id-table key #f)
|
||||
(or (hash-ref global-saved-id-table key #f)
|
||||
;; No: lift the neg name creation
|
||||
(syntax-local-introduce
|
||||
(syntax-local-lift-expression
|
||||
#'(quote-module-name))))])
|
||||
(when key (hash-set! saved-id-table key lifted-neg-party))
|
||||
(when key (hash-set! global-saved-id-table key lifted-neg-party))
|
||||
;; Expand to a use of the lifted expression:
|
||||
(define (adjust-location new-stx)
|
||||
(datum->syntax new-stx (syntax-e new-stx) stx new-stx))
|
||||
|
@ -161,7 +161,6 @@
|
|||
;; expressions:
|
||||
(quasisyntax/loc stx (#%expression #,stx)))))))
|
||||
|
||||
|
||||
(struct provide/contract-transformer provide/contract-info (saved-id-table partially-applied-id)
|
||||
#:property
|
||||
prop:set!-transformer
|
||||
|
@ -222,7 +221,7 @@
|
|||
(define (make-provide/contract-arrow-transformer rename-id contract-id id pai enpfn val)
|
||||
(provide/contract-arrow-transformer rename-id
|
||||
contract-id id
|
||||
(make-hasheq) (make-hasheq)
|
||||
(make-hasheq)
|
||||
pai enpfn val)))
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user