#lang scheme/base (require (for-syntax scheme/base) (for-syntax "../private/compiler/compile.ss") "../private/runtime/runtime.ss" "../private/runtime/standard-library.ss") (define-syntax (module-begin stx) (syntax-case stx () [(module-begin) #'(#%plain-module-begin (begin #f))] [(module-begin ast ...) (with-syntax ([body (compile-module (syntax->datum #'(ast ...)))]) #'(#%plain-module-begin (install-standard-library-once! global-object) body))])) (provide (rename-out [module-begin #%module-begin]) (except-out (all-from-out scheme/base) #%module-begin))