Added uses of internal-definition-context-apply from unstable/syntax
This commit is contained in:
parent
07f57aac9b
commit
79a06deb79
|
@ -602,6 +602,7 @@
|
||||||
(syntax-e (stx-car (stx-cdr p)))))
|
(syntax-e (stx-car (stx-cdr p)))))
|
||||||
(cdr (stx->list
|
(cdr (stx->list
|
||||||
(let ([rn (car body)])
|
(let ([rn (car body)])
|
||||||
|
;; Use internal-definition-context-apply ??
|
||||||
(local-expand rn
|
(local-expand rn
|
||||||
'expression
|
'expression
|
||||||
(list (stx-car rn))
|
(list (stx-car rn))
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
syntax/stx
|
syntax/stx
|
||||||
syntax/name
|
syntax/name
|
||||||
syntax/context
|
syntax/context
|
||||||
|
unstable/syntax
|
||||||
"list.rkt"
|
"list.rkt"
|
||||||
"private/unitidmap.rkt")
|
"private/unitidmap.rkt")
|
||||||
|
|
||||||
|
@ -73,11 +74,8 @@
|
||||||
(begin
|
(begin
|
||||||
;; Treat imports as internal-defn names:
|
;; Treat imports as internal-defn names:
|
||||||
(syntax-local-bind-syntaxes ids #f def-ctx)
|
(syntax-local-bind-syntaxes ids #f def-ctx)
|
||||||
(cdr (syntax->list
|
(syntax->list
|
||||||
(local-expand #`(stop #,@ids)
|
(internal-definition-context-apply def-ctx ids)))
|
||||||
'expression
|
|
||||||
(list #'stop)
|
|
||||||
def-ctx))))
|
|
||||||
ids)
|
ids)
|
||||||
;; Let later checking report an error:
|
;; Let later checking report an error:
|
||||||
ids))])
|
ids))])
|
||||||
|
|
|
@ -562,9 +562,7 @@
|
||||||
(values (syntax->list #'(fv.var ...))
|
(values (syntax->list #'(fv.var ...))
|
||||||
(syntax->list #'(fv.ctc ...)))])
|
(syntax->list #'(fv.ctc ...)))])
|
||||||
(define (add-context stx)
|
(define (add-context stx)
|
||||||
(let ([ctx-added-stx (local-expand #`(quote #,stx) ctx (list #'quote) intdef)])
|
(internal-definition-context-apply intdef stx))
|
||||||
(syntax-case ctx-added-stx ()
|
|
||||||
[(_ expr) #'expr])))
|
|
||||||
(syntax-local-bind-syntaxes free-vars #f intdef)
|
(syntax-local-bind-syntaxes free-vars #f intdef)
|
||||||
(internal-definition-context-seal intdef)
|
(internal-definition-context-seal intdef)
|
||||||
(with-syntax ([blame-stx #''(region blame)]
|
(with-syntax ([blame-stx #''(region blame)]
|
||||||
|
@ -621,12 +619,7 @@
|
||||||
(values (syntax->list #'(ec.var ...))
|
(values (syntax->list #'(ec.var ...))
|
||||||
(syntax->list #'(ec.ctc ...)))])
|
(syntax->list #'(ec.ctc ...)))])
|
||||||
(define (add-context stx)
|
(define (add-context stx)
|
||||||
(let ([ctx-added-stx (local-expand #`(quote #,stx)
|
(internal-definition-context-apply intdef stx))
|
||||||
ctx
|
|
||||||
(list #'quote)
|
|
||||||
intdef)])
|
|
||||||
(syntax-case ctx-added-stx ()
|
|
||||||
[(_ expr) #'expr])))
|
|
||||||
(syntax-local-bind-syntaxes protected #f intdef)
|
(syntax-local-bind-syntaxes protected #f intdef)
|
||||||
(syntax-local-bind-syntaxes free-vars #f intdef)
|
(syntax-local-bind-syntaxes free-vars #f intdef)
|
||||||
(internal-definition-context-seal intdef)
|
(internal-definition-context-seal intdef)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#lang scheme/base
|
#lang scheme/base
|
||||||
(require (for-syntax scheme/base
|
(require (for-syntax scheme/base
|
||||||
syntax/kerncase)
|
syntax/kerncase
|
||||||
|
unstable/syntax)
|
||||||
"stxparam.rkt"
|
"stxparam.rkt"
|
||||||
"private/stxparam.rkt"
|
"private/stxparam.rkt"
|
||||||
"private/local.rkt")
|
"private/local.rkt")
|
||||||
|
@ -56,12 +57,7 @@
|
||||||
(internal-definition-context-seal def-ctx)
|
(internal-definition-context-seal def-ctx)
|
||||||
(let* ([add-context
|
(let* ([add-context
|
||||||
(lambda (expr)
|
(lambda (expr)
|
||||||
(let ([q (local-expand #`(quote #,expr)
|
(internal-definition-context-apply def-ctx expr))])
|
||||||
ctx
|
|
||||||
(list #'quote)
|
|
||||||
def-ctx)])
|
|
||||||
(syntax-case q ()
|
|
||||||
[(_ expr) #'expr])))])
|
|
||||||
(with-syntax ([((id ...) ...)
|
(with-syntax ([((id ...) ...)
|
||||||
(map (lambda (ids)
|
(map (lambda (ids)
|
||||||
(map add-context ids))
|
(map add-context ids))
|
||||||
|
@ -129,12 +125,7 @@
|
||||||
(internal-definition-context-seal def-ctx)
|
(internal-definition-context-seal def-ctx)
|
||||||
(let* ([add-context
|
(let* ([add-context
|
||||||
(lambda (expr)
|
(lambda (expr)
|
||||||
(let ([q (local-expand #`(quote #,expr)
|
(internal-definition-context-apply def-ctx expr))]
|
||||||
ctx
|
|
||||||
(list #'quote)
|
|
||||||
def-ctx)])
|
|
||||||
(syntax-case q ()
|
|
||||||
[(_ expr) #'expr])))]
|
|
||||||
[add-context-to-idss
|
[add-context-to-idss
|
||||||
(lambda (idss)
|
(lambda (idss)
|
||||||
(map add-context idss))])
|
(map add-context idss))])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user