[plt-scheme] Check Syntax & mangled identifiers
Just keep the srcloc and the original prop of the identifier seems to be
enough for me.
Chongkai
#lang scheme
(require (for-syntax scheme))
(define-for-syntax (underscore stx)
(datum->syntax stx
(string->symbol
(format "_~a"
(syntax->datum stx)))
stx
stx))
(define-syntax (u stx)
(syntax-case stx ()
((_ (name val) . body) #`(let ((#,(underscore #'name) val)) . body))
((_ id) (underscore #'id))))
;; case 1
(u (x 123) (u x))
;; case 2
(let ((_x 123))
(u x))
(u (x 123) _x)