
The `#%module-begin' of `racket/base' and `scheme/base' now introduces a suitable `configure-runtime' submodule, instead of using the `module->language-info' path. A submodule is a lot easier to work with, as illustrated by the removal of the `racket/private/lang' and `scheme/private/lang' languages. Also, add `#%printing-module-begin', which is the old `#%module-begin' (i.e., the one that doesn't introduce a `configure-runtime' submodule).
28 lines
722 B
Racket
28 lines
722 B
Racket
#lang racket/base
|
|
|
|
(require "private/namespace.rkt")
|
|
|
|
(define-syntax-rule (module-begin . forms)
|
|
(#%printing-module-begin
|
|
(module configure-runtime '#%kernel
|
|
(#%require scheme/runtime-config)
|
|
(configure #f))
|
|
. forms))
|
|
|
|
(provide (except-out (all-from-out racket/base)
|
|
struct
|
|
hash hasheq hasheqv
|
|
in-directory
|
|
local-require
|
|
#%module-begin)
|
|
(rename-out [module-begin #%module-begin])
|
|
make-base-empty-namespace
|
|
make-base-namespace)
|
|
|
|
(module reader syntax/module-reader
|
|
scheme/base)
|
|
|
|
(module configure-runtime '#%kernel
|
|
(#%require scheme/runtime-config)
|
|
(configure #f))
|