reader.rkt (692B)
1 #lang lang-extension 2 #:lang-extension aful make-aful-lang-reader 3 #:lang-reader aful-lang 4 (require lang-reader/lang-reader 5 (only-in "../../reader.rkt" wrap-reader-unhygienic)) 6 7 (define (make-aful-lang-reader lang-reader) 8 (define/lang-reader [-read -read-syntax -get-info] lang-reader) 9 (make-lang-reader 10 (wrap-reader-unhygienic -read) 11 (let ([read-syntax (wrap-reader-unhygienic -read-syntax)]) 12 (lambda args 13 (define stx (apply read-syntax args)) 14 (define old-prop (syntax-property stx 'module-language)) 15 (define new-prop `#(aful/lang/language-info get-language-info ,old-prop)) 16 (syntax-property stx 'module-language new-prop))) 17 -get-info)) 18