language/defconst.scm
(module defconst mzscheme
  (require-for-syntax "syntax-checks.scm")
  (require "../define-below/define-below.ss")
  (provide defconst)

  (define-syntax (defconst stx)
    (syntax-case stx ()
      [(_ name expr)
       (begin
         (unless (legal-constant-name? #'name)
           (raise-syntax-error
            #f
            "Constant names must begin and end with asterisks (*)."
            stx #'name))
         (syntax/loc stx (define-below name expr)))]))

  )