Hi
This works:
(let ((ns (make-base-namespace)))
 (parameterize ((current-namespace ns))
  (namespace-require '(file "tests.rkt"))))
This does not:
(let ((ns (make-base-namespace)))
 (namespace-require '(file "tests.rkt") ns))
require: unknown module
module name: "E:\a-simple-interpreter\tests.rkt"
How come? 
From the docs I understand that if the first one works, the second one should work too.
Do I misunderstand the docs?
Thanks, Jos
I forgot to mention: DrRacket 8.3 BC, windows 10
             
            
              
              
              3 Likes
            
            
           
          
            
            
              You probably can use
(parameterize ([current-namespace ns])
  (namespace-require '(file "tests.rkt"))
  ...)
to replace?
             
            
              
              
              
            
            
           
          
            
            
              This topic has been raised before in the old mailing list: https://www.mail-archive.com/racket-users@googlegroups.com/msg43291.html
I also logged this as an issue in the GitHub repo: https://github.com/racket/racket/issues/3307
My understanding is the same as mxork from GitHub: I only know that in most situations, current-namespace should be adjusted. From what @mflatt said, there appears to be a legitimate use case of not adjusting current-namespace but adjusting the second argument, but I do not know what this use case actually is.
             
            
              
              
              2 Likes