File: namespace.rkt

package info (click to toggle)
racket 6.1-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 91,944 kB
  • ctags: 38,251
  • sloc: ansic: 265,507; sh: 32,501; asm: 12,747; lisp: 6,958; cpp: 2,906; makefile: 2,284; pascal: 2,134; exp: 484; python: 366; xml: 11
file content (21 lines) | stat: -rw-r--r-- 658 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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))