/usr/share/doc/racket/reference/Namespaces.html is in racket-doc 6.1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>14.1 Namespaces</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="extras.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_0");">►</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x"><span style="font-weight: bold">The Racket Reference</span></a></td></tr></table></div><div class="tocviewsublisttop" style="display: none;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1 </td><td><a href="model.html" class="tocviewlink" data-pltdoc="x">Language Model</a></td></tr><tr><td align="right">2 </td><td><a href="notation.html" class="tocviewlink" data-pltdoc="x">Notation for Documentation</a></td></tr><tr><td align="right">3 </td><td><a href="syntax.html" class="tocviewlink" data-pltdoc="x">Syntactic Forms</a></td></tr><tr><td align="right">4 </td><td><a href="data.html" class="tocviewlink" data-pltdoc="x">Datatypes</a></td></tr><tr><td align="right">5 </td><td><a href="structures.html" class="tocviewlink" data-pltdoc="x">Structures</a></td></tr><tr><td align="right">6 </td><td><a href="mzlib_class.html" class="tocviewlink" data-pltdoc="x">Classes and Objects</a></td></tr><tr><td align="right">7 </td><td><a href="mzlib_unit.html" class="tocviewlink" data-pltdoc="x">Units</a></td></tr><tr><td align="right">8 </td><td><a href="contracts.html" class="tocviewlink" data-pltdoc="x">Contracts</a></td></tr><tr><td align="right">9 </td><td><a href="match.html" class="tocviewlink" data-pltdoc="x">Pattern Matching</a></td></tr><tr><td align="right">10 </td><td><a href="control.html" class="tocviewlink" data-pltdoc="x">Control Flow</a></td></tr><tr><td align="right">11 </td><td><a href="concurrency.html" class="tocviewlink" data-pltdoc="x">Concurrency and Parallelism</a></td></tr><tr><td align="right">12 </td><td><a href="Macros.html" class="tocviewlink" data-pltdoc="x">Macros</a></td></tr><tr><td align="right">13 </td><td><a href="input-and-output.html" class="tocviewlink" data-pltdoc="x">Input and Output</a></td></tr><tr><td align="right">14 </td><td><a href="security.html" class="tocviewselflink" data-pltdoc="x">Reflection and Security</a></td></tr><tr><td align="right">15 </td><td><a href="os.html" class="tocviewlink" data-pltdoc="x">Operating System</a></td></tr><tr><td align="right">16 </td><td><a href="memory.html" class="tocviewlink" data-pltdoc="x">Memory Management</a></td></tr><tr><td align="right">17 </td><td><a href="unsafe.html" class="tocviewlink" data-pltdoc="x">Unsafe Operations</a></td></tr><tr><td align="right">18 </td><td><a href="running.html" class="tocviewlink" data-pltdoc="x">Running Racket</a></td></tr><tr><td align="right"></td><td><a href="doc-bibliography.html" class="tocviewlink" data-pltdoc="x">Bibliography</a></td></tr><tr><td align="right"></td><td><a href="doc-index.html" class="tocviewlink" data-pltdoc="x">Index</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_1");">▼</a></td><td>14 </td><td><a href="security.html" class="tocviewlink" data-pltdoc="x">Reflection and Security</a></td></tr></table><div class="tocviewsublistbottom" style="display: block;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">14.1 </td><td><a href="" class="tocviewselflink" data-pltdoc="x">Namespaces</a></td></tr><tr><td align="right">14.2 </td><td><a href="eval.html" class="tocviewlink" data-pltdoc="x">Evaluation and Compilation</a></td></tr><tr><td align="right">14.3 </td><td><a href="load-lang.html" class="tocviewlink" data-pltdoc="x">The <span class="RktModLink"><span class="RktSym">racket/<span class="mywbr"> </span>load</span></span> Language</a></td></tr><tr><td align="right">14.4 </td><td><a href="Module_Names_and_Loading.html" class="tocviewlink" data-pltdoc="x">Module Names and Loading</a></td></tr><tr><td align="right">14.5 </td><td><a href="chaperones.html" class="tocviewlink" data-pltdoc="x">Impersonators and Chaperones</a></td></tr><tr><td align="right">14.6 </td><td><a href="securityguards.html" class="tocviewlink" data-pltdoc="x">Security Guards</a></td></tr><tr><td align="right">14.7 </td><td><a href="custodians.html" class="tocviewlink" data-pltdoc="x">Custodians</a></td></tr><tr><td align="right">14.8 </td><td><a href="threadgroups.html" class="tocviewlink" data-pltdoc="x">Thread Groups</a></td></tr><tr><td align="right">14.9 </td><td><a href="inspectors.html" class="tocviewlink" data-pltdoc="x">Structure Inspectors</a></td></tr><tr><td align="right">14.10 </td><td><a href="modprotect.html" class="tocviewlink" data-pltdoc="x">Code Inspectors</a></td></tr><tr><td align="right">14.11 </td><td><a href="plumbers.html" class="tocviewlink" data-pltdoc="x">Plumbers</a></td></tr><tr><td align="right">14.12 </td><td><a href="Sandboxed_Evaluation.html" class="tocviewlink" data-pltdoc="x">Sandboxed Evaluation</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._make-empty-namespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>empty-<wbr></wbr>namespace</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._make-base-empty-namespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>base-<wbr></wbr>empty-<wbr></wbr>namespace</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._make-base-namespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>base-<wbr></wbr>namespace</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define-namespace-anchor%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">define-<wbr></wbr>namespace-<wbr></wbr>anchor</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor~3f%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>anchor?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor-~3eempty-namespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>anchor-<wbr></wbr>>empty-<wbr></wbr>namespace</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor-~3enamespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>anchor-<wbr></wbr>>namespace</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">current-<wbr></wbr>namespace</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-symbol-~3eidentifier%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>symbol-<wbr></wbr>>identifier</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-base-phase%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>base-<wbr></wbr>phase</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-module-identifier%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>module-<wbr></wbr>identifier</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-variable-value%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>variable-<wbr></wbr>value</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-set-variable-value%21%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>set-<wbr></wbr>variable-<wbr></wbr>value!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-undefine-variable%21%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>undefine-<wbr></wbr>variable!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-mapped-symbols%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>mapped-<wbr></wbr>symbols</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>require</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%2Fcopy%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>require/<span class="mywbr"> </span>copy</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%2Fconstant%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>require/<span class="mywbr"> </span>constant</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%2Fexpansion-time%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>require/<span class="mywbr"> </span>expansion-<wbr></wbr>time</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-attach-module%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>attach-<wbr></wbr>module</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-attach-module-declaration%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>attach-<wbr></wbr>module-<wbr></wbr>declaration</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-unprotect-module%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>unprotect-<wbr></wbr>module</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-module-registry%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>module-<wbr></wbr>registry</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._module-~3enamespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">module-<wbr></wbr>>namespace</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-syntax-introduce%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">namespace-<wbr></wbr>syntax-<wbr></wbr>introduce</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._module-provide-protected~3f%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">module-<wbr></wbr>provide-<wbr></wbr>protected?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-constant~3f%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>constant?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3eempty-namespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>>empty-<wbr></wbr>namespace</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3enamespace%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>>namespace</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3eresolved-module-path%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>>resolved-<wbr></wbr>module-<wbr></wbr>path</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3emodule-path-index%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>>module-<wbr></wbr>path-<wbr></wbr>index</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3emodule-source%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>>module-<wbr></wbr>source</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3ephase%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>>phase</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3emodule-base-phase%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>>module-<wbr></wbr>base-<wbr></wbr>phase</span></span></a></td></tr><tr><td><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3emodule-declaration-inspector%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">variable-<wbr></wbr>reference-<wbr></wbr>>module-<wbr></wbr>declaration-<wbr></wbr>inspector</span></span></a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.1", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.1");">top</a></span><span class="navright"> <a href="security.html" title="backward to "14 Reflection and Security"" data-pltdoc="x">← prev</a> <a href="security.html" title="up to "14 Reflection and Security"" data-pltdoc="x">up</a> <a href="eval.html" title="forward to "14.2 Evaluation and Compilation"" data-pltdoc="x">next →</a></span> </div><h4 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-part-tag=""Namespaces"">14.1<tt> </tt><a name="(part._.Namespaces)"></a>Namespaces</h4><p>See <a href="syntax-model.html#%28part._namespace-model%29" data-pltdoc="x">Namespaces</a> for basic information on the
<a href="syntax-model.html#%28tech._namespace%29" class="techoutside" data-pltdoc="x"><span class="techinside">namespace</span></a> model.</p><p>A new <a href="syntax-model.html#%28tech._namespace%29" class="techoutside" data-pltdoc="x"><span class="techinside">namespace</span></a> is created with procedures like
<span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._make-empty-namespace%29%29" class="RktValLink" data-pltdoc="x">make-empty-namespace</a></span>, and <span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._make-base-namespace%29%29" class="RktValLink" data-pltdoc="x">make-base-namespace</a></span>, which
return a first-class namespace value. A namespace is used by setting
the <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span> parameter value, or by providing the
namespace to procedures such as <span class="RktSym"><a href="eval.html#%28def._%28%28quote._~23~25kernel%29._eval%29%29" class="RktValLink" data-pltdoc="x">eval</a></span> and
<span class="RktSym"><a href="eval.html#%28def._%28%28quote._~23~25kernel%29._eval-syntax%29%29" class="RktValLink" data-pltdoc="x">eval-syntax</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace?</a></span></span><span class="hspace"> </span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">v</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if <span class="RktVar">v</span> is a namespace value, <span class="RktVal">#f</span>
otherwise.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._make-empty-namespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._make-empty-namespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-empty-namespace</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Creates a new namespace that is empty, and whose <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module
registry</span></a> contains no mappings. The namespace’s <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a> is
the same as the <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a> of the <a href="syntax-model.html#%28tech._current._namespace%29" class="techoutside" data-pltdoc="x"><span class="techinside">current
namespace</span></a>. Attach modules from an existing namespace to the new one
with <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-attach-module%29%29" class="RktValLink" data-pltdoc="x">namespace-attach-module</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/private/base..rkt)._make-base-empty-namespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._make-base-empty-namespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-base-empty-namespace</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Creates a new empty namespace, but with <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/base</span></a>
attached. The namespace’s <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a> is the same as the
<a href="eval-model.html#%28tech._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase</span></a> in which the <span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._make-base-empty-namespace%29%29" class="RktValLink" data-pltdoc="x">make-base-empty-namespace</a></span>
function was created.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/private/base..rkt)._make-base-namespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._make-base-namespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-base-namespace</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Creates a new namespace with <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/base</span></a> attached and
<span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29" class="RktStxLink" data-pltdoc="x">require</a></span>d into the top-level environment. The namespace’s
<a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a> is the same as the <a href="eval-model.html#%28tech._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase</span></a> in which the
<span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._make-base-namespace%29%29" class="RktValLink" data-pltdoc="x">make-base-namespace</a></span> function was created.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._racket/private/base..rkt)._define-namespace-anchor))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define-namespace-anchor%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">define-namespace-anchor</a></span></span><span class="hspace"> </span><span class="RktVar">id</span><span class="RktPn">)</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Binds <span class="RktVar">id</span> to a namespace anchor that can be used with
<span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor-~3eempty-namespace%29%29" class="RktValLink" data-pltdoc="x">namespace-anchor->empty-namespace</a></span> and
<span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor-~3enamespace%29%29" class="RktValLink" data-pltdoc="x">namespace-anchor->namespace</a></span>.</div></p><p>This form can be used only in a <a href="syntax-model.html#%28tech._top._level._context%29" class="techoutside" data-pltdoc="x"><span class="techinside">top-level context</span></a> or in a
<a href="syntax-model.html#%28tech._module._context%29" class="techoutside" data-pltdoc="x"><span class="techinside">module-context</span></a>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/private/base..rkt)._namespace-anchor~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-anchor?</a></span></span><span class="hspace"> </span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">v</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if <span class="RktVar">v</span> is a namespace-anchor value,
<span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/private/base..rkt)._namespace-anchor-~3eempty-namespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor-~3eempty-namespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-anchor->empty-namespace</a></span></span><span class="hspace"> </span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">a</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor~3f%29%29" class="RktValLink" data-pltdoc="x">namespace-anchor?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns an empty namespace that shares a <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module registry</span></a> with
the source of the anchor, and whose <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a> is the
<a href="eval-model.html#%28tech._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase</span></a> in which the anchor was created.</div></p><p>If the anchor is from a <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define-namespace-anchor%29%29" class="RktStxLink" data-pltdoc="x">define-namespace-anchor</a></span> form in a
module context, then the source is the namespace in which the
containing module is instantiated. If the anchor is from a
<span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define-namespace-anchor%29%29" class="RktStxLink" data-pltdoc="x">define-namespace-anchor</a></span> form in a top-level content, then the
source is the namespace in which the anchor definition was evaluated.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/private/base..rkt)._namespace-anchor-~3enamespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor-~3enamespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-anchor->namespace</a></span></span><span class="hspace"> </span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">a</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._namespace-anchor~3f%29%29" class="RktValLink" data-pltdoc="x">namespace-anchor?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a namespace corresponding to the source of the anchor.</div></p><p>If the anchor is from a <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define-namespace-anchor%29%29" class="RktStxLink" data-pltdoc="x">define-namespace-anchor</a></span> form in a
module context, then the result is a namespace for the module’s body
in the anchor’s phase. The result is the same as a namespace obtained
via <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._module-~3enamespace%29%29" class="RktValLink" data-pltdoc="x">module->namespace</a></span>.</p><p>If the anchor is from a <span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define-namespace-anchor%29%29" class="RktStxLink" data-pltdoc="x">define-namespace-anchor</a></span> form in a
top-level content, then the result is the namespace in which the
anchor definition was evaluated.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>parameter</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._current-namespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">current-namespace</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">current-namespace</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">A <a href="eval-model.html#%28tech._parameter%29" class="techoutside" data-pltdoc="x"><span class="techinside">parameter</span></a> that determines the <a href="syntax-model.html#%28tech._current._namespace%29" data-pltdoc="x">current namespace</a>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-symbol-~3eidentifier))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-symbol-~3eidentifier%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-symbol->identifier</a></span></span><span class="hspace"> </span><span class="RktVar">sym</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="stxops.html#%28def._%28%28lib._racket%2Fprivate%2Fstx..rkt%29._identifier~3f%29%29" class="RktValLink" data-pltdoc="x">identifier?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">sym</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Similar to <span class="RktSym"><a href="stxops.html#%28def._%28%28quote._~23~25kernel%29._datum-~3esyntax%29%29" class="RktValLink" data-pltdoc="x">datum->syntax</a></span> restricted to symbols. The
<a href="syntax-model.html#%28tech._lexical._information%29" class="techoutside" data-pltdoc="x"><span class="techinside">lexical information</span></a> of the resulting identifier corresponds to
the top-level environment of the current namespace; the identifier has
no source location or properties.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-base-phase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-base-phase%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-base-phase</a></span></span><span class="hspace"> </span>[<span class="RktVar">namespace</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a> of <span class="RktVar">namespace</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-module-identifier))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-module-identifier%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-module-identifier</a></span></span><span class="hspace"> </span>[<span class="RktVar">where</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="stxops.html#%28def._%28%28lib._racket%2Fprivate%2Fstx..rkt%29._identifier~3f%29%29" class="RktValLink" data-pltdoc="x">identifier?</a></span></p></blockquote></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">where</span></td><td><span class="hspace"> </span></td><td>:</td><td><span class="hspace"> </span></td><td><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-integer?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td>=</td><td><span class="hspace"> </span></td><td><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Returns an identifier whose binding is <span class="RktSym"><a href="module.html#%28form._%28%28quote._~23~25kernel%29._module%29%29" class="RktStxLink" data-pltdoc="x">module</a></span> in the
<a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a> of <span class="RktVar">where</span> if it is a namespace, or in the
<span class="RktVar">where</span> <a href="syntax-model.html#%28tech._phase._level%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase level</span></a> otherwise.</div></p><p>The <a href="syntax-model.html#%28tech._lexical._information%29" class="techoutside" data-pltdoc="x"><span class="techinside">lexical information</span></a> of the identifier includes bindings (in
the same <a href="syntax-model.html#%28tech._phase._level%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase level</span></a>) for all syntactic forms that appear in
fully expanded code (see <a href="syntax-model.html#%28part._fully-expanded%29" data-pltdoc="x">Fully Expanded Programs</a>), but using the
name reported by the second element of <span class="RktSym"><a href="stxcmp.html#%28def._%28%28quote._~23~25kernel%29._identifier-binding%29%29" class="RktValLink" data-pltdoc="x">identifier-binding</a></span> for
the binding; the <a href="syntax-model.html#%28tech._lexical._information%29" class="techoutside" data-pltdoc="x"><span class="techinside">lexical information</span></a> may also include other
bindings.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-variable-value))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-variable-value%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-variable-value</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">sym</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">use-mapping?</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="RktVar">failure-thunk</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="RktVar">namespace</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="data-structure-contracts.html#%28form._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%29%29" class="RktStxLink" data-pltdoc="x">any</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">sym</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">use-mapping?</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#t</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">failure-thunk</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="function-contracts.html#%28form._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._-~3e%29%29" class="RktStxLink" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28form._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%29%29" class="RktStxLink" data-pltdoc="x">any</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a value for <span class="RktVar">sym</span> in <span class="RktVar">namespace</span>, using
<span class="RktVar">namespace</span>’s <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>. The returned value depends on
<span class="RktVar">use-mapping?</span>:</div></p><ul><li><p>If <span class="RktVar">use-mapping?</span> is true (the default), and if
<span class="RktVar">sym</span> maps to a top-level variable or an imported variable
(see <a href="syntax-model.html#%28part._namespace-model%29" data-pltdoc="x">Namespaces</a>), then the result is the same as
evaluating <span class="RktVar">sym</span> as an expression. If <span class="RktVar">sym</span> maps to
syntax or imported syntax, then <span class="RktVar">failure-thunk</span> is called or
the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3asyntax%29%29" class="RktValLink" data-pltdoc="x">exn:fail:syntax</a></span> exception is raised. If <span class="RktVar">sym</span> is mapped to an
undefined variable or an uninitialized module variable, then
<span class="RktVar">failure-thunk</span> is called or the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3avariable%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:variable</a></span> exception is raised.</p></li><li><p>If <span class="RktVar">use-mapping?</span> is <span class="RktVal">#f</span>, the namespace’s
syntax and import mappings are ignored. Instead, the value of the
top-level variable named <span class="RktVar">sym</span> in namespace is returned. If
the variable is undefined, then <span class="RktVar">failure-thunk</span> is called or
the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3avariable%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:variable</a></span> exception is raised.</p></li></ul><p>If <span class="RktVar">failure-thunk</span> is not <span class="RktVal">#f</span>,
<span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-variable-value%29%29" class="RktValLink" data-pltdoc="x">namespace-variable-value</a></span> calls <span class="RktVar">failure-thunk</span> to
produce the return value in place of raising an
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3avariable%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:variable</a></span> or <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3asyntax%29%29" class="RktValLink" data-pltdoc="x">exn:fail:syntax</a></span>
exception.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-set-variable-value!))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-set-variable-value%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-set-variable-value!</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">sym</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="RktVar">v</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">map?</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="RktVar">namespace</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">sym</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">v</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">map?</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Sets the value of <span class="RktVar">sym</span> in the top-level environment of
<span class="RktVar">namespace</span> in the <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>, defining <span class="RktVar">sym</span> if
it is not already defined.</div></p><p>If <span class="RktVar">map?</span> is supplied as true, then the namespace’s
<a href="syntax-model.html#%28tech._identifier%29" class="techoutside" data-pltdoc="x"><span class="techinside">identifier</span></a> mapping is also adjusted (see
<a href="syntax-model.html#%28part._namespace-model%29" data-pltdoc="x">Namespaces</a>) in the <a href="syntax-model.html#%28tech._phase._level%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase level</span></a> corresponding to
the <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>, so that <span class="RktVar">sym</span> maps to the variable.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-undefine-variable!))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-undefine-variable%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-undefine-variable!</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">sym</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">namespace</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">sym</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Removes the <span class="RktVar">sym</span> variable, if any, in the top-level
environment of <span class="RktVar">namespace</span> in its <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>. The
namespace’s <a href="syntax-model.html#%28tech._identifier%29" class="techoutside" data-pltdoc="x"><span class="techinside">identifier</span></a> mapping (see <a href="syntax-model.html#%28part._namespace-model%29" data-pltdoc="x">Namespaces</a>)
is unaffected.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-mapped-symbols))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-mapped-symbols%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-mapped-symbols</a></span></span><span class="hspace"> </span>[<span class="RktVar">namespace</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._listof%29%29" class="RktValLink" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a list of all symbols that are mapped to variables, syntax,
and imports in <span class="RktVar">namespace</span> for the <a href="syntax-model.html#%28tech._phase._level%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase level</span></a>
corresponding to the <a href="syntax-model.html#%28tech._namespace%29" class="techoutside" data-pltdoc="x"><span class="techinside">namespace</span></a>’s <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-require))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-require</a></span></span><span class="hspace"> </span><span class="RktVar">quoted-raw-require-spec</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">quoted-raw-require-spec</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Performs the import corresponding to <span class="RktVar">quoted-raw-require-spec</span>
in the top-level environment of the current namespace, like a
top-level <span class="RktSym"><a href="require.html#%28form._%28%28quote._~23~25kernel%29._~23~25require%29%29" class="RktStxLink" data-pltdoc="x">#%require</a></span>. The <span class="RktVar">quoted-raw-require-spec</span>
argument must be a datum that corresponds to a quoted
<span class="RktVar">raw-require-spec</span> for <span class="RktSym"><a href="require.html#%28form._%28%28quote._~23~25kernel%29._~23~25require%29%29" class="RktStxLink" data-pltdoc="x">#%require</a></span>, which includes
module paths.</div></p><p>Module paths in <span class="RktVar">quoted-raw-require-spec</span> are resolved with respect
to <span class="RktSym"><a href="eval.html#%28def._%28%28quote._~23~25kernel%29._current-load-relative-directory%29%29" class="RktValLink" data-pltdoc="x">current-load-relative-directory</a></span> or
<span class="RktSym"><a href="Filesystem.html#%28def._%28%28quote._~23~25kernel%29._current-directory%29%29" class="RktValLink" data-pltdoc="x">current-directory</a></span> (if the former is <span class="RktVal">#f</span>), even if the
current namespace corresponds to a module body.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-require/copy))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%2Fcopy%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-require/copy</a></span></span><span class="hspace"> </span><span class="RktVar">quoted-raw-require-spec</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">quoted-raw-require-spec</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%29%29" class="RktValLink" data-pltdoc="x">namespace-require</a></span> for syntax exported from the module,
but exported variables at the namespace’s <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a> are
treated differently: the export’s current value is copied to a
top-level variable in the current namespace.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-require/constant))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%2Fconstant%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-require/constant</a></span></span><span class="hspace"> </span><span class="RktVar">quoted-raw-require-spec</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">quoted-raw-require-spec</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%29%29" class="RktValLink" data-pltdoc="x">namespace-require</a></span>, but for each exported variable at the
<a href="syntax-model.html#%28tech._namespace%29" class="techoutside" data-pltdoc="x"><span class="techinside">namespace</span></a>’s <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>, the export’s value is copied to
a corresponding top-level variable that is made immutable. Despite
setting the top-level variable, the corresponding identifier is bound
as imported.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-require/expansion-time))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%2Fexpansion-time%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-require/expansion-time</a></span></span><span class="hspace"> </span><span class="RktVar">quoted-raw-require-spec</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">quoted-raw-require-spec</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-require%29%29" class="RktValLink" data-pltdoc="x">namespace-require</a></span>, but only the transformer part of the
module is executed relative to the <a href="syntax-model.html#%28tech._namespace%29" class="techoutside" data-pltdoc="x"><span class="techinside">namespace</span></a>’s <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base
phase</span></a>; that is, the module is merely <a href="syntax-model.html#%28tech._visit%29" class="techoutside" data-pltdoc="x"><span class="techinside">visit</span></a>ed, and not
<a href="eval-model.html#%28tech._instantiate%29" class="techoutside" data-pltdoc="x"><span class="techinside">instantiate</span></a>d (see <a href="syntax-model.html#%28part._mod-parse%29" data-pltdoc="x">Module Phases and Visits</a>). If the required module
has not been instantiated before, the module’s variables remain
undefined.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-attach-module))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-attach-module%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-attach-module</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">src-namespace</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="RktVar">modname</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">dest-namespace</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">src-namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">modname</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._module-path~3f%29%29" class="RktValLink" data-pltdoc="x">module-path?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">dest-namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Attaches the instantiated module named by <span class="RktVar">modname</span> in
<span class="RktVar">src-namespace</span> (at its <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>) to the <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module
registry</span></a> of <span class="RktVar">dest-namespace</span>.</div></p><p>In addition to <span class="RktVar">modname</span>, every module that it imports
(directly or indirectly) is also recorded in the current namespace’s
<a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module registry</span></a>, and instances at the same <a href="eval-model.html#%28tech._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase</span></a> or
lower are also attached to <span class="RktVar">dest-namespace</span> (while
<a href="syntax-model.html#%28tech._visit%29" class="techoutside" data-pltdoc="x"><span class="techinside">visits</span></a> at the module’s phase and instances at higher phases are
not attached, nor even made <a href="eval-model.html#%28tech._available%29" class="techoutside" data-pltdoc="x"><span class="techinside">available</span></a> for on-demand
<a href="syntax-model.html#%28tech._visit%29" class="techoutside" data-pltdoc="x"><span class="techinside">visits</span></a>). The inspector of the module invocation in
<span class="RktVar">dest-namespace</span> is the same as inspector of the invocation in
<span class="RktVar">src-namespace</span>.</p><p>If <span class="RktVar">modname</span> is not a symbol, the current module name resolver
is called to resolve the path, but no module is loaded; the resolved
form of <span class="RktVar">modname</span> is used as the module name in
<span class="RktVar">dest-namespace</span>.</p><p>If <span class="RktVar">modname</span> refers to a submodule or a module with submodules,
unless the module was loaded from bytecode (i.e., a <span class="stt">".zo"</span>
file) independently from submodules within the same top-level module,
then declarations for all submodules within the module’s top-level
module are also attached to <span class="RktVar">dest-namespace</span>.</p><p>If <span class="RktVar">modname</span> does not refer to an <a href="eval-model.html#%28tech._instantiate%29" class="techoutside" data-pltdoc="x"><span class="techinside">instantiate</span></a>d module in
<span class="RktVar">src-namespace</span>, or if the name of any module to be attached
already has a different declaration or same-<a href="eval-model.html#%28tech._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase</span></a> instance in
<span class="RktVar">dest-namespace</span>, then the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</p><p>If <span class="RktVar">src-namespace</span> and <span class="RktVar">dest-namespace</span> do not have the
same <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>, then the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-attach-module-declaration))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-attach-module-declaration%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-attach-module-declaration</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">src-namespace</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="RktVar">modname</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">dest-namespace</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">src-namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">modname</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._module-path~3f%29%29" class="RktValLink" data-pltdoc="x">module-path?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">dest-namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-attach-module%29%29" class="RktValLink" data-pltdoc="x">namespace-attach-module</a></span>, but the module
specified by <span class="RktVar">modname</span> need only be declared (and not
necessarily <a href="eval-model.html#%28tech._instantiate%29" class="techoutside" data-pltdoc="x"><span class="techinside">instantiate</span></a>d) in <span class="RktVar">src-namespace</span>, and the
module is merely declared in <span class="RktVar">dest-namespace</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-unprotect-module))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-unprotect-module%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-unprotect-module</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">inspector</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="RktVar">modname</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">namespace</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">inspector</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="inspectors.html#%28def._%28%28quote._~23~25kernel%29._inspector~3f%29%29" class="RktValLink" data-pltdoc="x">inspector?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">modname</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._module-path~3f%29%29" class="RktValLink" data-pltdoc="x">module-path?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._current-namespace%29%29" class="RktValLink" data-pltdoc="x">current-namespace</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Changes the inspector for the instance of the module referenced by
<span class="RktVar">modname</span> in <span class="RktVar">namespace</span>’s <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module registry</span></a> so
that it is controlled by the current code inspector. The given
<span class="RktVar">inspector</span> must currently control the invocation of the module
in <span class="RktVar">namespace</span>’s <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module registry</span></a>, otherwise the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised. See also <a href="modprotect.html" data-pltdoc="x">Code Inspectors</a>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-module-registry))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-module-registry%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-module-registry</a></span></span><span class="hspace"> </span><span class="RktVar">namespace</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28form._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%29%29" class="RktStxLink" data-pltdoc="x">any</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">namespace</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module registry</span></a> of the given namespace. This value
is useful only for identification via <span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._eq~3f%29%29" class="RktValLink" data-pltdoc="x">eq?</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._module-~3enamespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._module-~3enamespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">module->namespace</a></span></span><span class="hspace"> </span><span class="RktVar">mod</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">mod</span></td><td><span class="hspace"> </span></td><td>:</td><td><span class="hspace"> </span></td><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._module-path~3f%29%29" class="RktValLink" data-pltdoc="x">module-path?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._resolved-module-path~3f%29%29" class="RktValLink" data-pltdoc="x">resolved-module-path?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._module-path-index~3f%29%29" class="RktValLink" data-pltdoc="x">module-path-index?</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Returns a namespace that corresponds to the body of an instantiated
module in the current namespace’s <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module registry</span></a> and in the
current namespace’s <a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>, making the module
<a href="eval-model.html#%28tech._available%29" class="techoutside" data-pltdoc="x"><span class="techinside">available</span></a> for on-demand <a href="syntax-model.html#%28tech._visit%29" class="techoutside" data-pltdoc="x"><span class="techinside">visits</span></a> at the namespace’s
<a href="syntax-model.html#%28tech._base._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">base phase</span></a>. The returned namespace has the same <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module
registry</span></a> as the current namespace. Modifying a binding in the
namespace changes the binding seen in modules that require the
namespace’s module.</div></p><p>Module paths in a top-level <span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29" class="RktStxLink" data-pltdoc="x">require</a></span> expression are resolved
with respect to the namespace’s module. New <span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._provide%29%29" class="RktStxLink" data-pltdoc="x">provide</a></span>
declarations are not allowed.</p><p>If the current code inspector does not control the invocation of the
module in the current namespace’s <a href="syntax-model.html#%28tech._module._registry%29" class="techoutside" data-pltdoc="x"><span class="techinside">module registry</span></a>, the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised; see also <a href="modprotect.html" data-pltdoc="x">Code Inspectors</a>.</p><p>Bindings in the namespace cannot be modified if the
<span class="RktSym"><a href="eval.html#%28def._%28%28quote._~23~25kernel%29._compile-enforce-module-constants%29%29" class="RktValLink" data-pltdoc="x">compile-enforce-module-constants</a></span> parameter was true when the
module was declared, unless the module declaration itself included
assignments to the binding via <span class="RktSym"><a href="set_.html#%28form._%28%28quote._~23~25kernel%29._set%21%29%29" class="RktStxLink" data-pltdoc="x">set!</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._namespace-syntax-introduce))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace-syntax-introduce%29%29" class="RktValDef RktValLink" data-pltdoc="x">namespace-syntax-introduce</a></span></span><span class="hspace"> </span><span class="RktVar">stx</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="stxops.html#%28def._%28%28quote._~23~25kernel%29._syntax~3f%29%29" class="RktValLink" data-pltdoc="x">syntax?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">stx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="stxops.html#%28def._%28%28quote._~23~25kernel%29._syntax~3f%29%29" class="RktValLink" data-pltdoc="x">syntax?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a syntax object like <span class="RktVar">stx</span>, except that the current
namespace’s bindings are included in the <a href="syntax-model.html#%28tech._syntax._object%29" class="techoutside" data-pltdoc="x"><span class="techinside">syntax object</span></a>’s
<a href="syntax-model.html#%28tech._lexical._information%29" class="techoutside" data-pltdoc="x"><span class="techinside">lexical information</span></a> (see <a href="syntax-model.html#%28part._stxobj-model%29" data-pltdoc="x">Syntax Objects</a>). The
additional context is overridden by any existing <a href="syntax-model.html#%28tech._top._level._binding%29" class="techoutside" data-pltdoc="x"><span class="techinside">top-level
bindings</span></a> in the <a href="syntax-model.html#%28tech._syntax._object%29" class="techoutside" data-pltdoc="x"><span class="techinside">syntax object</span></a>’s <a href="syntax-model.html#%28tech._lexical._information%29" class="techoutside" data-pltdoc="x"><span class="techinside">lexical information</span></a>, or
by any existing or future <a href="syntax-model.html#%28tech._module._binding%29" class="techoutside" data-pltdoc="x"><span class="techinside">module bindings</span></a> in the <a href="syntax-model.html#%28tech._lexical._information%29" class="techoutside" data-pltdoc="x"><span class="techinside">lexical
information</span></a>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._module-provide-protected~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._module-provide-protected~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">module-provide-protected?</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">module-path-index</span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td></tr><tr><td><span class="hspace"> </span></td><td><span class="hspace"> </span></td><td><span class="RktVar">sym</span><span class="RktPn">)</span></td><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">module-path-index</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span><span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._module-path-index~3f%29%29" class="RktValLink" data-pltdoc="x">module-path-index?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">sym</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#f</span> if the module declaration for
<span class="RktVar">module-path-index</span> defines <span class="RktVar">sym</span> and exports it
unprotected, <span class="RktVal">#t</span> otherwise (which may mean that the symbol
corresponds to an unexported definition, a protected export, or an
identifier that is not defined at all within the module).</div></p><p>The <span class="RktVar">module-path-index</span> argument can be a symbol; see
<a href="Module_Names_and_Loading.html#%28part._modpathidx%29" data-pltdoc="x">Compiled Modules and References</a> for more information on module path
indices.</p><p>Typically, the arguments to <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._module-provide-protected~3f%29%29" class="RktValLink" data-pltdoc="x">module-provide-protected?</a></span>
correspond to the first two elements of a list produced by
<span class="RktSym"><a href="stxcmp.html#%28def._%28%28quote._~23~25kernel%29._identifier-binding%29%29" class="RktValLink" data-pltdoc="x">identifier-binding</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference?</a></span></span><span class="hspace"> </span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">v</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Return <span class="RktVal">#t</span> if <span class="RktVar">v</span> is a <a href="Locations____variable-reference.html#%28tech._variable._reference%29" class="techoutside" data-pltdoc="x"><span class="techinside">variable reference</span></a>
produced by <span class="RktSym"><a href="Locations____variable-reference.html#%28form._%28%28quote._~23~25kernel%29._~23~25variable-reference%29%29" class="RktStxLink" data-pltdoc="x">#%variable-reference</a></span>, <span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-constant~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-constant~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference-constant?</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if the variable represented by <span class="RktVar">varref</span>
will retain its current value (i.e., <span class="RktVar">varref</span> refers to a
variable that cannot be further modified by <span class="RktSym"><a href="set_.html#%28form._%28%28quote._~23~25kernel%29._set%21%29%29" class="RktStxLink" data-pltdoc="x">set!</a></span> or
<span class="RktSym"><a href="define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29" class="RktStxLink" data-pltdoc="x">define</a></span>), <span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-~3eempty-namespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3eempty-namespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference->empty-namespace</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns an empty namespace that shares module declarations and
instances with the namespace in which <span class="RktVar">varref</span> is instantiated,
and with the same phase as <span class="RktVar">varref</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-~3enamespace))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3enamespace%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference->namespace</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._namespace~3f%29%29" class="RktValLink" data-pltdoc="x">namespace?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">If <span class="RktVar">varref</span> refers to a <a href="eval-model.html#%28tech._module._level._variable%29" class="techoutside" data-pltdoc="x"><span class="techinside">module-level variable</span></a>, then the
result is a namespace for the module’s body in the referenced
variable’s <a href="eval-model.html#%28tech._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase</span></a>; the result is the same as a namespace
obtained via <span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._module-~3enamespace%29%29" class="RktValLink" data-pltdoc="x">module->namespace</a></span>.</div></p><p>If <span class="RktVar">varref</span> refers to a <a href="eval-model.html#%28tech._top._level._variable%29" class="techoutside" data-pltdoc="x"><span class="techinside">top-level variable</span></a>, then the
result is the namespace in which the referenced variable is defined.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-~3eresolved-module-path))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3eresolved-module-path%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference->resolved-module-path</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._resolved-module-path~3f%29%29" class="RktValLink" data-pltdoc="x">resolved-module-path?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">If <span class="RktVar">varref</span> refers to a <a href="eval-model.html#%28tech._module._level._variable%29" class="techoutside" data-pltdoc="x"><span class="techinside">module-level variable</span></a>, the
result is a <a href="Module_Names_and_Loading.html#%28tech._resolved._module._path%29" class="techoutside" data-pltdoc="x"><span class="techinside">resolved module path</span></a> naming the module.</div></p><p>If <span class="RktVar">varref</span> refers to a <a href="eval-model.html#%28tech._top._level._variable%29" class="techoutside" data-pltdoc="x"><span class="techinside">top-level variable</span></a>, then the
result is <span class="RktVal">#f</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-~3emodule-path-index))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3emodule-path-index%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference->module-path-index</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._module-path-index~3f%29%29" class="RktValLink" data-pltdoc="x">module-path-index?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">If <span class="RktVar">varref</span> refers to a <a href="eval-model.html#%28tech._module._level._variable%29" class="techoutside" data-pltdoc="x"><span class="techinside">module-level variable</span></a>, the
result is a <a href="Module_Names_and_Loading.html#%28tech._module._path._index%29" class="techoutside" data-pltdoc="x"><span class="techinside">module path index</span></a> naming the module.</div></p><p>If <span class="RktVar">varref</span> refers to a <a href="eval-model.html#%28tech._top._level._variable%29" class="techoutside" data-pltdoc="x"><span class="techinside">top-level variable</span></a>, then the
result is <span class="RktVal">#f</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-~3emodule-source))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3emodule-source%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference->module-source</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="Manipulating_Paths.html#%28def._%28%28quote._~23~25kernel%29._path~3f%29%29" class="RktValLink" data-pltdoc="x">path?</a></span><span class="hspace"> </span><span class="RktSym"><a href="Manipulating_Paths.html#%28def._%28%28quote._~23~25kernel%29._complete-path~3f%29%29" class="RktValLink" data-pltdoc="x">complete-path?</a></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">If <span class="RktVar">varref</span> refers to a <a href="eval-model.html#%28tech._module._level._variable%29" class="techoutside" data-pltdoc="x"><span class="techinside">module-level variable</span></a>, the
result is a path or symbol naming the module’s source (which is
typically, but not always, the same as in the <a href="Module_Names_and_Loading.html#%28tech._resolved._module._path%29" class="techoutside" data-pltdoc="x"><span class="techinside">resolved module
path</span></a>). If the relevant module is a <a href="eval-model.html#%28tech._submodule%29" class="techoutside" data-pltdoc="x"><span class="techinside">submodule</span></a>, the result
corresponds to the enclosing top-level module’s source.</div></p><p>If <span class="RktVar">varref</span> refers to a <a href="eval-model.html#%28tech._top._level._variable%29" class="techoutside" data-pltdoc="x"><span class="techinside">top-level variable</span></a>, then the
result is <span class="RktVal">#f</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-~3ephase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3ephase%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference->phase</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the <a href="eval-model.html#%28tech._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase</span></a> of the variable referenced by <span class="RktVar">varref</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-~3emodule-base-phase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3emodule-base-phase%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference->module-base-phase</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the <a href="eval-model.html#%28tech._phase%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase</span></a> in which the module is instantiated for the
variable referenced by <span class="RktVar">varref</span>, or <span class="RktVal">0</span> if the variable
for <span class="RktVar">varref</span> is not within a module.</div></p><p>For a variable with a module, the result is less than the result of
<span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3ephase%29%29" class="RktValLink" data-pltdoc="x">variable-reference->phase</a></span><span class="stt"> </span><span class="RktVar">varref</span><span class="RktPn">)</span> by <span style="font-style: italic">n</span> when the
variable is bound at <a href="syntax-model.html#%28tech._phase._level%29" class="techoutside" data-pltdoc="x"><span class="techinside">phase level</span></a> <span style="font-style: italic">n</span> within the module.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._variable-reference-~3emodule-declaration-inspector))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference-~3emodule-declaration-inspector%29%29" class="RktValDef RktValLink" data-pltdoc="x">variable-reference->module-declaration-inspector</a></span></span><span class="hspace"> </span><span class="RktVar">varref</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="inspectors.html#%28def._%28%28quote._~23~25kernel%29._inspector~3f%29%29" class="RktValLink" data-pltdoc="x">inspector?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">varref</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28quote._~23~25kernel%29._variable-reference~3f%29%29" class="RktValLink" data-pltdoc="x">variable-reference?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the declaration <a href="inspectors.html#%28tech._inspector%29" class="techoutside" data-pltdoc="x"><span class="techinside">inspector</span></a> (see <a href="modprotect.html" data-pltdoc="x">Code Inspectors</a>)
for the module of <span class="RktVar">varref</span>, where <span class="RktVar">varref</span> must refer to
an anonymous module variable as produced by
<span class="RktPn">(</span><span class="RktSym"><a href="Locations____variable-reference.html#%28form._%28%28quote._~23~25kernel%29._~23~25variable-reference%29%29" class="RktStxLink" data-pltdoc="x">#%variable-reference</a></span><span class="RktPn">)</span>.</div></p><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.1", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.1");">top</a></span><span class="navright"> <a href="security.html" title="backward to "14 Reflection and Security"" data-pltdoc="x">← prev</a> <a href="security.html" title="up to "14 Reflection and Security"" data-pltdoc="x">up</a> <a href="eval.html" title="forward to "14.2 Evaluation and Compilation"" data-pltdoc="x">next →</a></span> </div></div></div><div id="contextindicator"> </div></body></html>
|