(module custom-language-module mzscheme (provide (rename make-language #%module-begin) (rename make-language #%plain-module-begin)) (define-syntax (make-language stx) (syntax-case stx () [(ml main spec ...) (syntax/loc stx (#%module-begin (require (all-except main #%module-begin #%plain-module-begin) (rename main mb #%module-begin) (rename main pmb #%plain-module-begin) spec ...) (provide (all-from main) (rename mb #%module-begin) (rename pmb #%plain-module-begin) (all-from spec) ...)))])) )