www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

reader.rkt (656B)


      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))
      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 -read)
     11    (let ([read-syntax (wrap-reader -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