lang/reader.ss
(module reader syntax/module-reader
  #:language `(planet "module.ss" ("jaymccarthy" "datalog.plt" ,major ,minor) "lang")
  #:read (lambda ([in (current-input-port)])
           (let ([ast (parse-program in)])
             (list `(#%module-begin ,@ast))))
  #:read-syntax (lambda ([source-name #f] [in (current-input-port)])
                  (let ([ast (parse-program in)])
                    (list `(#%module-begin ,@ast))))
  #:whole-body-readers? #t
  (require "../private/planet.ss"
           "../parse.ss"))