at-exp: extend reader for repl too

This commit is contained in:
AlexKnauth 2014-10-30 15:46:17 -04:00 committed by Matthew Flatt
parent 0c5479a1a6
commit 015986fb4f
3 changed files with 28 additions and 1 deletions

View File

@ -0,0 +1,10 @@
#lang racket/base
(provide get-language-info)
(define (get-language-info data)
(lambda (key default)
(case key
[(configure-runtime)
'(#[at-exp/lang/runtime-config configure #f])]
[else default])))

View File

@ -26,7 +26,12 @@
;; fall back to /lang/reader:
(string->symbol (string-append str "/lang/reader"))))))
wrap-reader
wrap-reader
(lambda (orig-read-syntax)
(define read-syntax (wrap-reader orig-read-syntax))
(lambda args
(syntax-property (apply read-syntax args)
'module-language
'#(at-exp/lang/language-info get-language-info #f))))
(lambda (proc)
(lambda (key defval)
(define (fallback) (if proc (proc key defval) defval))

View File

@ -0,0 +1,12 @@
#lang racket/base
(provide configure)
(require (only-in scribble/reader make-at-readtable))
(define (configure data)
(define old-read (current-read-interaction))
(define (new-read src in)
(parameterize ([current-readtable (make-at-readtable #:readtable (current-readtable))])
(old-read src in)))
(current-read-interaction new-read))