#| Provides read and read-syntax so that we can use #reader(lib "acl2-reader.scm" "acl2" "private")(module ...) to write ACL2 modules. (Teachpacks in particular use this.) |# (module acl2-reader mzscheme (require (file "acl2-readtable.scm")) (provide (rename acl2-read-syntax read-syntax) (rename acl2-read read)) (define (make-acl2-reader reader) (lambda args (parameterize ([current-readtable acl2-readtable] [read-square-bracket-as-paren #f] [read-case-sensitive #f] [read-accept-box #f] [read-accept-reader #f] [read-decimal-as-inexact #f]) (apply reader args)))) (define acl2-read-syntax (make-acl2-reader read-syntax)) (define acl2-read (make-acl2-reader read)) )