3.99.0.3: improved namespace API

svn: r7756

original commit: 391892a848cc5119c42962d68730c4b391833d07
This commit is contained in:
Matthew Flatt 2007-11-18 02:06:57 +00:00
parent 5c959ff3e6
commit d93a534700
4 changed files with 5 additions and 8 deletions

View File

@ -6,22 +6,22 @@
"stxmz-body.ss"
"define.ss")
(#%provide make-namespace*
(#%provide make-namespace
free-identifier=?*
namespace-transformer-require)
(define reflect-var #f)
(define make-namespace*
(define make-namespace
(case-lambda
[() (make-namespace* 'initial)]
[() (make-namespace 'initial)]
[(flag)
(unless (memq flag '(initial empty))
(raise-syntax-error 'make-namespace
"'initial or 'empty"
flag))
(let ([new (make-namespace)]
[old (variable-reference-namespace (#%variable-reference reflect-var))])
(let ([new (make-empty-namespace)]
[old (variable-reference->empty-namespace (#%variable-reference reflect-var))])
(namespace-attach-module old 'mzscheme new)
(parameterize ([current-namespace new])
(namespace-require 'mzscheme))

View File

@ -9,7 +9,6 @@
(define contract-namespace
(let ([n (make-base-namespace)])
(parameterize ([current-namespace n])
(namespace-require 'scheme/base)
(namespace-require '(for-syntax scheme/base))
(namespace-require '(for-template scheme/base))
(namespace-require 'scheme/contract)

View File

@ -599,7 +599,6 @@
(test 55 'namespace
(parameterize ([current-namespace (make-base-namespace)])
(namespace-require 'scheme/base)
(namespace-variable-bind/invoke-unit
(x)
(unit

View File

@ -608,7 +608,6 @@
(test 120
'namespace
(parameterize ([current-namespace (make-base-namespace)])
(namespace-require 'scheme/base)
(namespace-variable-bind/invoke-unit/sig
(foo)
(unit/sig (foo)