22 lines
658 B
Racket
22 lines
658 B
Racket
#lang racket/base
|
|
|
|
(provide make-base-empty-namespace
|
|
make-base-namespace)
|
|
|
|
(define orig-varref (#%variable-reference orig-varref))
|
|
|
|
(define (make-base-empty-namespace)
|
|
(let* ([this-ns (variable-reference->empty-namespace orig-varref)]
|
|
[ns (parameterize ([current-namespace this-ns]) ; ensures correct phase
|
|
(make-empty-namespace))])
|
|
(namespace-attach-module this-ns
|
|
'scheme/base
|
|
ns)
|
|
ns))
|
|
|
|
(define (make-base-namespace)
|
|
(let ([ns (make-base-empty-namespace)])
|
|
(parameterize ([current-namespace ns])
|
|
(namespace-require 'scheme/base))
|
|
ns))
|