PasteRack.org
Paste # 72403
2016-10-22 16:05:33

Fork as a new paste.

Paste viewed 36 times.


Embed:

datum->syntax vs syntax-local-introduce

  1. #lang racket
  2.  
  3. (define-syntax quux 'outer)
  4.  
  5. (define-for-syntax (test stx)
  6.   (displayln
  7.    (syntax-local-value
  8.     (datum->syntax stx 'quux)))
  9.   (displayln
  10.    (syntax-local-value
  11.     (syntax-local-introduce #'quux))))
  12.  
  13. (let-syntax ([quux 'inner])
  14.   (let-syntax ([mymacro (λ (stx)
  15.                           (test stx)
  16.                           #'(void))])
  17.     (mymacro)))

=>

inner

outer