Set the name statically re: Robby
This commit is contained in:
parent
86572cc8c3
commit
1ce1277d1e
|
@ -1,5 +1,6 @@
|
||||||
#lang racket
|
#lang racket
|
||||||
(require syntax/free-vars
|
(require syntax/free-vars
|
||||||
|
racket/syntax
|
||||||
(for-template
|
(for-template
|
||||||
racket/base
|
racket/base
|
||||||
racket/serialize)
|
racket/serialize)
|
||||||
|
@ -61,6 +62,8 @@
|
||||||
;; Directory for last-ditch resolution --------------------
|
;; Directory for last-ditch resolution --------------------
|
||||||
(or (current-load-relative-directory) (current-directory))))))
|
(or (current-load-relative-directory) (current-directory))))))
|
||||||
; Define the closure struct (req serialize info value)
|
; Define the closure struct (req serialize info value)
|
||||||
|
(define fun-name
|
||||||
|
(or (syntax-local-name) (generate-temporary)))
|
||||||
(define-values
|
(define-values
|
||||||
(make-CLOSURE-id CLOSURE?-id CLOSURE-env-id CLOSURE-set-env!-id)
|
(make-CLOSURE-id CLOSURE?-id CLOSURE-env-id CLOSURE-set-env!-id)
|
||||||
(apply
|
(apply
|
||||||
|
@ -77,14 +80,16 @@
|
||||||
#f ; auto-v
|
#f ; auto-v
|
||||||
|
|
||||||
; prop-vals:
|
; prop-vals:
|
||||||
(list (cons prop:serializable #,CLOSURE:serialize-info-id)
|
(list
|
||||||
(cons prop:procedure
|
(cons prop:serializable #,CLOSURE:serialize-info-id)
|
||||||
(make-keyword-procedure
|
(cons prop:procedure
|
||||||
(lambda (kws kw-vals clsr . rst)
|
(make-keyword-procedure
|
||||||
(let-values ([#,fvars ((CLOSURE-ref clsr 0))])
|
(lambda (kws kw-vals clsr . rst)
|
||||||
(keyword-apply (procedure-rename #,stx '#,(syntax-local-name))
|
(let-values ([#,fvars ((CLOSURE-ref clsr 0))])
|
||||||
kws kw-vals
|
(let ([#,fun-name #,stx])
|
||||||
rst))))))
|
(keyword-apply #,fun-name
|
||||||
|
kws kw-vals
|
||||||
|
rst)))))))
|
||||||
|
|
||||||
#f ; inspector
|
#f ; inspector
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user