/usr/share/doc/racket/syntax/syntax-helpers.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 | <!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>2 Syntax Object Helpers</title><link rel="stylesheet" type="text/css" href="../scribble.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="../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="../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">Syntax:<span class="mywbr"> </span> Meta-<wbr></wbr>Programming Helpers</a></td></tr></table></div><div class="tocviewsublisttop" style="display: block;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1 </td><td><a href="stxparse.html" class="tocviewlink" data-pltdoc="x">Parsing and Specifying Syntax</a></td></tr><tr><td align="right">2 </td><td><a href="" class="tocviewselflink" data-pltdoc="x">Syntax Object Helpers</a></td></tr><tr><td align="right">3 </td><td><a href="Datum_Pattern_Matching.html" class="tocviewlink" data-pltdoc="x">Datum Pattern Matching</a></td></tr><tr><td align="right">4 </td><td><a href="module-helpers.html" class="tocviewlink" data-pltdoc="x">Module-<wbr></wbr>Processing Helpers</a></td></tr><tr><td align="right">5 </td><td><a href="transformer-helpers.html" class="tocviewlink" data-pltdoc="x">Macro Transformer Helpers</a></td></tr><tr><td align="right">6 </td><td><a href="reader-helpers.html" class="tocviewlink" data-pltdoc="x">Reader Helpers</a></td></tr><tr><td align="right">7 </td><td><a href="Parsing_for_Bodies.html" class="tocviewlink" data-pltdoc="x">Parsing <span class="RktSym"><span class="RktStxLink">for</span></span> Bodies</a></td></tr><tr><td align="right">8 </td><td><a href="Unsafe_for_Clause_Transforms.html" class="tocviewlink" data-pltdoc="x">Unsafe <span class="RktSym"><span class="RktStxLink">for</span></span> Clause Transforms</a></td></tr><tr><td align="right">9 </td><td><a href="Source_Locations.html" class="tocviewlink" data-pltdoc="x">Source Locations</a></td></tr><tr><td align="right">10 </td><td><a href="Preserving_Source_Locations.html" class="tocviewlink" data-pltdoc="x">Preserving Source Locations</a></td></tr><tr><td align="right">11 </td><td><a href="toplevel.html" class="tocviewlink" data-pltdoc="x">Non-<wbr></wbr>Module Compilation And Expansion</a></td></tr><tr><td align="right">12 </td><td><a href="trusted-xforms.html" class="tocviewlink" data-pltdoc="x">Trusting Standard Recertifying Transformers</a></td></tr><tr><td align="right">13 </td><td><a href="docprovide.html" class="tocviewlink" data-pltdoc="x">Attaching Documentation to Exports</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>2 </td><td><a href="" class="tocviewselflink" data-pltdoc="x">Syntax Object Helpers</a></td></tr></table><div class="tocviewsublistbottom" style="display: none;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">2.1 </td><td><a href="#%28part._stx%29" class="tocviewlink" data-pltdoc="x">Deconstructing Syntax Objects</a></td></tr><tr><td align="right">2.2 </td><td><a href="#%28part._kerncase%29" class="tocviewlink" data-pltdoc="x">Matching Fully-<wbr></wbr>Expanded Expressions</a></td></tr><tr><td align="right">2.3 </td><td><a href="#%28part._idtable%29" class="tocviewlink" data-pltdoc="x">Dictionaries with Identifier Keys</a></td></tr><tr><td align="right">2.4 </td><td><a href="#%28part._boundmap%29" class="tocviewlink" data-pltdoc="x">Hashing on <span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>identifier=?</span></span> and <span class="RktSym"><span class="RktValLink">free-<wbr></wbr>identifier=?</span></span></a></td></tr><tr><td align="right">2.5 </td><td><a href="#%28part._to-string%29" class="tocviewlink" data-pltdoc="x">Rendering Syntax Objects with Formatting</a></td></tr><tr><td align="right">2.6 </td><td><a href="#%28part._free-vars%29" class="tocviewlink" data-pltdoc="x">Computing the Free Variables of an Expression</a></td></tr><tr><td align="right">2.7 </td><td><a href="#%28part._strip-context%29" class="tocviewlink" data-pltdoc="x">Replacing Lexical Context</a></td></tr><tr><td align="right">2.8 </td><td><a href="#%28part._stxkeyword%29" class="tocviewlink" data-pltdoc="x">Helpers for Processing Keyword Syntax</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><span class="tocsublinknumber">2.1<tt> </tt></span><a href="#%28part._stx%29" class="tocsubseclink" data-pltdoc="x">Deconstructing Syntax Objects</a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-null~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">stx-<wbr></wbr>null?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-pair~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">stx-<wbr></wbr>pair?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">stx-<wbr></wbr>list?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-~3elist%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">stx-<wbr></wbr>>list</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-car%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">stx-<wbr></wbr>car</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-cdr%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">stx-<wbr></wbr>cdr</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-map%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">stx-<wbr></wbr>map</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._module-or-top-identifier~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">module-<wbr></wbr>or-<wbr></wbr>top-<wbr></wbr>identifier=?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.2<tt> </tt></span><a href="#%28part._kerncase%29" class="tocsubseclink" data-pltdoc="x">Matching Fully-<wbr></wbr>Expanded Expressions</a></td></tr><tr><td><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">kernel-<wbr></wbr>syntax-<wbr></wbr>case</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%2A%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">kernel-<wbr></wbr>syntax-<wbr></wbr>case*</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%2Fphase%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">kernel-<wbr></wbr>syntax-<wbr></wbr>case/<span class="mywbr"> </span>phase</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%2A%2Fphase%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">kernel-<wbr></wbr>syntax-<wbr></wbr>case*/<span class="mywbr"> </span>phase</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-form-identifier-list%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">kernel-<wbr></wbr>form-<wbr></wbr>identifier-<wbr></wbr>list</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3<tt> </tt></span><a href="#%28part._idtable%29" class="tocsubseclink" data-pltdoc="x">Dictionaries with Identifier Keys</a></td></tr><tr><td><span class="tocsublinknumber">2.3.1<tt> </tt></span><a href="#%28part._.Dictionaries_for_free-identifier~3d_%29" class="tocsubseclink" data-pltdoc="x">Dictionaries for <span class="RktSym"><span class="RktValLink">free-<wbr></wbr>identifier=?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-free-id-table%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>free-<wbr></wbr>id-<wbr></wbr>table</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-immutable-free-id-table%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>immutable-<wbr></wbr>free-<wbr></wbr>id-<wbr></wbr>table</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-free-id-table~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">mutable-<wbr></wbr>free-<wbr></wbr>id-<wbr></wbr>table?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-free-id-table~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">immutable-<wbr></wbr>free-<wbr></wbr>id-<wbr></wbr>table?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-ref%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>ref</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-set%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>set!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-set%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>set</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-remove%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>remove!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-remove%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>remove</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-map%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>map</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-for-each%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>for-<wbr></wbr>each</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-count%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>count</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-iterate-first%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>iterate-<wbr></wbr>first</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-iterate-next%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>iterate-<wbr></wbr>next</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-iterate-key%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>iterate-<wbr></wbr>key</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-iterate-value%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>iterate-<wbr></wbr>value</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._id-table-iter~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">id-<wbr></wbr>table-<wbr></wbr>iter?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table%2Fc%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>id-<wbr></wbr>table/<span class="mywbr"> </span>c</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.3.2<tt> </tt></span><a href="#%28part._.Dictionaries_for_bound-identifier~3d_%29" class="tocsubseclink" data-pltdoc="x">Dictionaries for <span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>identifier=?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-bound-id-table%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>bound-<wbr></wbr>id-<wbr></wbr>table</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-immutable-bound-id-table%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>immutable-<wbr></wbr>bound-<wbr></wbr>id-<wbr></wbr>table</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-bound-id-table~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">mutable-<wbr></wbr>bound-<wbr></wbr>id-<wbr></wbr>table?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-bound-id-table~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">immutable-<wbr></wbr>bound-<wbr></wbr>id-<wbr></wbr>table?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-ref%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>ref</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-set%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>set!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-set%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>set</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-remove%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>remove!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-remove%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>remove</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-map%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>map</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-for-each%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>for-<wbr></wbr>each</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-count%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>count</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-iterate-first%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>iterate-<wbr></wbr>first</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-iterate-next%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>iterate-<wbr></wbr>next</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-iterate-key%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>iterate-<wbr></wbr>key</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-iterate-value%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table-<wbr></wbr>iterate-<wbr></wbr>value</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table%2Fc%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>id-<wbr></wbr>table/<span class="mywbr"> </span>c</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.4<tt> </tt></span><a href="#%28part._boundmap%29" class="tocsubseclink" data-pltdoc="x">Hashing on <span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>identifier=?</span></span> and <span class="RktSym"><span class="RktValLink">free-<wbr></wbr>identifier=?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._make-bound-identifier-mapping%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>bound-<wbr></wbr>identifier-<wbr></wbr>mapping</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>identifier-<wbr></wbr>mapping?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping-get%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>get</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping-put%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>put!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping-for-each%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>for-<wbr></wbr>each</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping-map%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bound-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>map</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._make-free-identifier-mapping%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>free-<wbr></wbr>identifier-<wbr></wbr>mapping</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>identifier-<wbr></wbr>mapping?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping-get%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>get</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping-put%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>put!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping-for-each%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>for-<wbr></wbr>each</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping-map%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>map</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._make-module-identifier-mapping%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>module-<wbr></wbr>identifier-<wbr></wbr>mapping</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">module-<wbr></wbr>identifier-<wbr></wbr>mapping?</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping-get%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">module-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>get</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping-put%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">module-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>put!</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping-for-each%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">module-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>for-<wbr></wbr>each</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping-map%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">module-<wbr></wbr>identifier-<wbr></wbr>mapping-<wbr></wbr>map</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.5<tt> </tt></span><a href="#%28part._to-string%29" class="tocsubseclink" data-pltdoc="x">Rendering Syntax Objects with Formatting</a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fto-string..rkt%29._syntax-~3estring%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">syntax-<wbr></wbr>>string</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.6<tt> </tt></span><a href="#%28part._free-vars%29" class="tocsubseclink" data-pltdoc="x">Computing the Free Variables of an Expression</a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Ffree-vars..rkt%29._free-vars%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">free-<wbr></wbr>vars</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.7<tt> </tt></span><a href="#%28part._strip-context%29" class="tocsubseclink" data-pltdoc="x">Replacing Lexical Context</a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstrip-context..rkt%29._strip-context%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">strip-<wbr></wbr>context</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fstrip-context..rkt%29._replace-context%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">replace-<wbr></wbr>context</span></span></a></td></tr><tr><td><span class="tocsublinknumber">2.8<tt> </tt></span><a href="#%28part._stxkeyword%29" class="tocsubseclink" data-pltdoc="x">Helpers for Processing Keyword Syntax</a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">parse-<wbr></wbr>keyword-<wbr></wbr>options</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%2Feol%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">parse-<wbr></wbr>keyword-<wbr></wbr>options/<span class="mywbr"> </span>eol</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._options-select%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">options-<wbr></wbr>select</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._options-select-row%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">options-<wbr></wbr>select-<wbr></wbr>row</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._options-select-value%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">options-<wbr></wbr>select-<wbr></wbr>value</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-identifier%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">check-<wbr></wbr>identifier</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">check-<wbr></wbr>expression</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-stx-listof%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">check-<wbr></wbr>stx-<wbr></wbr>listof</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-stx-string%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">check-<wbr></wbr>stx-<wbr></wbr>string</span></span></a></td></tr><tr><td><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-stx-boolean%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">check-<wbr></wbr>stx-<wbr></wbr>boolean</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="Experimental.html" title="backward to "1.10 Experimental"" data-pltdoc="x">← prev</a> <a href="index.html" title="up to "Syntax: Meta-Programming Helpers"" data-pltdoc="x">up</a> <a href="Datum_Pattern_Matching.html" title="forward to "3 Datum Pattern Matching"" data-pltdoc="x">next →</a></span> </div><h3 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""syntax-helpers"">2<tt> </tt><a name="(part._syntax-helpers)"></a>Syntax Object Helpers</h3><h4 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""stx"">2.1<tt> </tt><a name="(part._stx)"></a><a name="(mod-path._syntax/stx)"></a>Deconstructing Syntax Objects</h4><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="#%28mod-path._syntax%2Fstx%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/stx</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">base</span></span></td></tr></table></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._syntax/stx..rkt)._stx-null~3f))"></a><span title="Provided from: syntax/stx | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-null~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">stx-null?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" 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 either the empty list or a
<a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=syntax-model.html%23%2528tech._syntax._object%2529&version=6.1" class="techoutside Sq" data-pltdoc="x"><span class="techinside">syntax object</span></a> representing the empty list (i.e.,
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-e%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax-e</a></span> on the <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=syntax-model.html%23%2528tech._syntax._object%2529&version=6.1" class="techoutside Sq" data-pltdoc="x"><span class="techinside">syntax object</span></a> returns
the empty list).</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-null~3f%29%29" class="RktValLink" data-pltdoc="x">stx-null?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._null%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">null</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-null~3f%29%29" class="RktValLink" data-pltdoc="x">stx-null?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-null~3f%29%29" class="RktValLink" data-pltdoc="x">stx-null?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></td></tr></table></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._syntax/stx..rkt)._stx-pair~3f))"></a><span title="Provided from: syntax/stx | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-pair~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">stx-pair?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" 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 either a pair or a syntax object
representing a pair (see <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528tech._syntax._pair%2529&version=6.1" class="Sq" data-pltdoc="x">syntax pair</a>).</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-pair~3f%29%29" class="RktValLink" data-pltdoc="x">stx-pair?</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._cons%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">cons</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">b</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-pair~3f%29%29" class="RktValLink" data-pltdoc="x">stx-pair?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktPn">. </span><span class="RktSym">b</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-pair~3f%29%29" class="RktValLink" data-pltdoc="x">stx-pair?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-pair~3f%29%29" class="RktValLink" data-pltdoc="x">stx-pair?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></td></tr></table></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._syntax/stx..rkt)._stx-list~3f))"></a><span title="Provided from: syntax/stx | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">stx-list?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" 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 list, or if it is a sequence of
pairs leading to a syntax object such that <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-%7E3elist%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax->list</a></span> would
produce a list.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValLink" data-pltdoc="x">stx-list?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="hspace"> </span><span class="RktSym">c</span><span class="hspace"> </span><span class="RktSym">d</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValLink" data-pltdoc="x">stx-list?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">c</span><span class="hspace"> </span><span class="RktSym">d</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValLink" data-pltdoc="x">stx-list?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">c</span><span class="hspace"> </span><span class="RktSym">d</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValLink" data-pltdoc="x">stx-list?</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">b</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValLink" data-pltdoc="x">stx-list?</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></td></tr></table></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._syntax/stx..rkt)._stx-~3elist))"></a><span title="Provided from: syntax/stx | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-~3elist%29%29" class="RktValDef RktValLink" data-pltdoc="x">stx->list</a></span></span><span class="hspace"> </span><span class="RktVar">stx-list</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">stx-list</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValLink" data-pltdoc="x">stx-list?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Produces a list by flatting out a trailing syntax object using
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-%7E3elist%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax->list</a></span>.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-~3elist%29%29" class="RktValLink" data-pltdoc="x">stx->list</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="hspace"> </span><span class="RktSym">c</span><span class="hspace"> </span><span class="RktSym">d</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#<syntax:14:0 a> #<syntax:14:0 b> #<syntax:14:0 c> #<syntax:14:0 d>)</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-~3elist%29%29" class="RktValLink" data-pltdoc="x">stx->list</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">c</span><span class="hspace"> </span><span class="RktSym">d</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#<syntax:15:0 (a b)> #<syntax:15:0 (c d)>)</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-~3elist%29%29" class="RktValLink" data-pltdoc="x">stx->list</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">c</span><span class="hspace"> </span><span class="RktSym">d</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#<syntax:16:0 a> #<syntax:16:0 b> #<syntax:16:0 (c d)>)</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-~3elist%29%29" class="RktValLink" data-pltdoc="x">stx->list</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">b</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#<syntax:17:0 a> #<syntax:17:0 b>)</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-~3elist%29%29" class="RktValLink" data-pltdoc="x">stx->list</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></td></tr></table></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._syntax/stx..rkt)._stx-car))"></a><span title="Provided from: syntax/stx | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-car%29%29" class="RktValDef RktValLink" data-pltdoc="x">stx-car</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</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="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-pair~3f%29%29" class="RktValLink" data-pltdoc="x">stx-pair?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Takes the car of a <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528tech._syntax._pair%2529&version=6.1" class="Sq" data-pltdoc="x">syntax pair</a>.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-car%29%29" class="RktValLink" data-pltdoc="x">stx-car</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#<syntax:19:0 a></span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-car%29%29" class="RktValLink" data-pltdoc="x">stx-car</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">b</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#<syntax:20:0 a></span></p></td></tr></table></blockquote></td></tr></table></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._syntax/stx..rkt)._stx-cdr))"></a><span title="Provided from: syntax/stx | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-cdr%29%29" class="RktValDef RktValLink" data-pltdoc="x">stx-cdr</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</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="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-pair~3f%29%29" class="RktValLink" data-pltdoc="x">stx-pair?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Takes the cdr of a <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528tech._syntax._pair%2529&version=6.1" class="Sq" data-pltdoc="x">syntax pair</a>.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-cdr%29%29" class="RktValLink" data-pltdoc="x">stx-cdr</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#<syntax:21:0 b>)</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-cdr%29%29" class="RktValLink" data-pltdoc="x">stx-cdr</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">b</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#<syntax:22:0 b>)</span></p></td></tr></table></blockquote></td></tr></table></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._syntax/stx..rkt)._stx-map))"></a><span title="Provided from: syntax/stx | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-map%29%29" class="RktValDef RktValLink" data-pltdoc="x">stx-map</a></span></span><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span><span class="RktVar">stxl</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=procedures.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._procedure%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">procedure?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">stxl</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValLink" data-pltdoc="x">stx-list?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fmap..rkt%2529._map%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">map</a></span><span class="stt"> </span><span class="RktVar">proc</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-~3elist%29%29" class="RktValLink" data-pltdoc="x">stx->list</a></span><span class="stt"> </span><span class="RktVar">stxl</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._......%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">...</a></span><span class="RktPn">)</span>.</div></p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-map%29%29" class="RktValLink" data-pltdoc="x">stx-map</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._%7Ece%7Ebb%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">λ</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">id</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._free-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">free-identifier=?</a></span><span class="hspace"> </span><span class="RktSym">id</span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym">a</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktSym">a</span><span class="hspace"> </span><span class="RktSym">b</span><span class="hspace"> </span><span class="RktSym">c</span><span class="hspace"> </span><span class="RktSym">d</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#t #f #f #f)</span></p></td></tr></table></blockquote></td></tr></table></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._syntax/stx..rkt)._module-or-top-identifier~3d~3f))"></a><span title="Provided from: syntax/stx | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._module-or-top-identifier~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">module-or-top-identifier=?</a></span></span><span class="hspace"> </span><span class="RktVar">a-id</span><span class="hspace"> </span><span class="RktVar">b-id</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">a-id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">b-id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if <span class="RktVar">a-id</span> and <span class="RktVar">b-id</span> are
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._free-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">free-identifier=?</a></span>, or if <span class="RktVar">a-id</span> and <span class="RktVar">b-id</span> have
the same name (as extracted by <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-e%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax-e</a></span>) and <span class="RktVar">a-id</span>
has no binding other than at the top level.</div></p><p>This procedure is useful in conjunction with <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._syntax-case%252A%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">syntax-case*</a></span> to
match procedure names that are normally bound by Racket. For
example, the <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=include.html%23%2528form._%2528%2528lib._racket%252Finclude..rkt%2529._include%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">include</a></span> macro uses this procedure to recognize
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=Manipulating_Paths.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._build-path%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">build-path</a></span>; using <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._free-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">free-identifier=?</a></span> would not work
well outside of <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=module.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._module%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">module</a></span>, since the top-level
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=Manipulating_Paths.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._build-path%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">build-path</a></span> is a distinct variable from the <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=index.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">racket/base</span></a> export
(though it’s bound to the same procedure, initially).</p><h4 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""kerncase"">2.2<tt> </tt><a name="(part._kerncase)"></a><a name="(mod-path._syntax/kerncase)"></a>Matching Fully-Expanded Expressions</h4><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="#%28mod-path._syntax%2Fkerncase%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/kerncase</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">base</span></span></td></tr></table></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._syntax/kerncase..rkt)._kernel-syntax-case))"></a><span title="Provided from: syntax/kerncase | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">kernel-syntax-case</a></span></span><span class="hspace"> </span><span class="RktVar">stx-expr</span><span class="hspace"> </span><span class="RktVar">trans?-expr</span><span class="hspace"> </span><span class="RktVar">clause</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">A syntactic form like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._syntax-case%252A%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">syntax-case*</a></span>, except that the literals
are built-in as the names of the primitive Racket forms as
exported by <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=index.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">racket/base</span></a>, including
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=let.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._letrec-syntaxes%252Bvalues%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">letrec-syntaxes+values</a></span>; see <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=syntax-model.html%23%2528part._fully-expanded%2529&version=6.1" class="Sq" data-pltdoc="x">Fully Expanded Programs</a>.</div></p><p>The <span class="RktVar">trans?-expr</span> boolean expression replaces the comparison
procedure, and instead selects simply between normal-phase comparisons
or transformer-phase comparisons. The <span class="RktVar">clause</span>s are the same as in
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._syntax-case%252A%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">syntax-case*</a></span>.</p><p>The primitive syntactic forms must have their normal bindings in the
context of the <span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%29%29" class="RktStxLink" data-pltdoc="x">kernel-syntax-case</a></span> expression. Beware that
<span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%29%29" class="RktStxLink" data-pltdoc="x">kernel-syntax-case</a></span> does not work in a module whose language
is <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=mzscheme&rel=index.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">mzscheme</span></a>, since the binding of <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=mzscheme&rel=Old_Syntactic_Forms.html%23%2528form._%2528%2528lib._mzscheme%252Fmain..rkt%2529._if%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">if</a></span> from
<a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=mzscheme&rel=index.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">mzscheme</span></a> is different than the primitive <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=if.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._if%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">if</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>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._syntax/kerncase..rkt)._kernel-syntax-case*))"></a><span title="Provided from: syntax/kerncase | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%2A%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">kernel-syntax-case*</a></span></span><span class="hspace"> </span><span class="RktVar">stx-expr</span><span class="hspace"> </span><span class="RktVar">trans?-expr</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">extra-id</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVar">clause</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">A syntactic form like <span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%29%29" class="RktStxLink" data-pltdoc="x">kernel-syntax-case</a></span>, except that it
takes an additional list of extra literals that are in addition to the
primitive Racket forms.</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._syntax/kerncase..rkt)._kernel-syntax-case/phase))"></a><span title="Provided from: syntax/kerncase | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%2Fphase%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">kernel-syntax-case/phase</a></span></span><span class="hspace"> </span><span class="RktVar">stx-expr</span><span class="hspace"> </span><span class="RktVar">phase-expr</span><span class="hspace"> </span><span class="RktVar">clause</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Generalizes <span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%29%29" class="RktStxLink" data-pltdoc="x">kernel-syntax-case</a></span> to work at an arbitrary phase
level, as indicated by <span class="RktVar">phase-expr</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>syntax</p></div></div><table cellspacing="0" cellpadding="0" class="RktBlk RForeground"><tr><td><span class="RktPn">(</span><a name="(form._((lib._syntax/kerncase..rkt)._kernel-syntax-case*/phase))"></a><span title="Provided from: syntax/kerncase | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%2A%2Fphase%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">kernel-syntax-case*/phase</a></span></span><span class="hspace"> </span><span class="RktVar">stx-expr</span><span class="hspace"> </span><span class="RktVar">phase-expr</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">extra-id</span><span class="hspace"> </span><span class="RktVar">..</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">clause</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span></td></tr></table></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Generalizes <span class="RktSym"><a href="#%28form._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-syntax-case%2A%29%29" class="RktStxLink" data-pltdoc="x">kernel-syntax-case*</a></span> to work at an arbitrary phase
level, as indicated by <span class="RktVar">phase-expr</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._syntax/kerncase..rkt)._kernel-form-identifier-list))"></a><span title="Provided from: syntax/kerncase | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkerncase..rkt%29._kernel-form-identifier-list%29%29" class="RktValDef RktValLink" data-pltdoc="x">kernel-form-identifier-list</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="RktPn">)</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Returns a list of identifiers that are bound normally,
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._for-syntax%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">for-syntax</a></span>, and <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._for-template%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">for-template</a></span> to the primitive
Racket forms for expressions, internal-definition positions, and
module-level and top-level positions. This function is useful for
generating a list of stopping points to provide to
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxtrans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._local-expand%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">local-expand</a></span>.</div></p><p>In addition to the identifiers listed in <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=syntax-model.html%23%2528part._fully-expanded%2529&version=6.1" class="Sq" data-pltdoc="x">Fully Expanded Programs</a>, the list
includes <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=let.html%23%2528form._%2528%2528quote._%7E23%7E25kernel%2529._letrec-syntaxes%252Bvalues%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">letrec-syntaxes+values</a></span>, which is the core form for
local expand-time binding and can appear in the result of
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxtrans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._local-expand%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">local-expand</a></span>.</p><h4 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""idtable"">2.3<tt> </tt><a name="(part._idtable)"></a><a name="(mod-path._syntax/id-table)"></a>Dictionaries with Identifier Keys</h4><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="#%28mod-path._syntax%2Fid-table%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/id-table</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">base</span></span></td></tr></table></p><p>This module provides two implementations of <a name="(tech._identifier._table)"></a><span style="font-style: italic">identifier tables</span>:
dictionaries with identifier keys that use identifier-specific
comparisons instead of <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._eq%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">eq?</a></span> or <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._equal%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">equal?</a></span>. Identifier
tables implement the <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">racket/dict</span></a> interface, and they
are available in both mutable and immutable variants.</p><h5 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""Dictionaries_for_free-identifier=_"">2.3.1<tt> </tt><a name="(part._.Dictionaries_for_free-identifier~3d_)"></a>Dictionaries for <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._free-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">free-identifier=?</a></span></h5><p>A free-identifier table is a dictionary whose keys are compared using
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._free-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">free-identifier=?</a></span>. Free-identifier tables implement the
dictionary interface of <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">racket/dict</span></a>, so all of the
appropriate generic functions (<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict-ref%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict-ref</a></span>, <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict-map%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict-map</a></span>,
etc) can be used on free-identifier tables.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/id-table..rkt)._make-free-id-table))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-free-id-table%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-free-id-table</a></span></span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">init-dict</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="RktPn">#:phase</span><span class="hspace"> </span><span class="RktVar">phase</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="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">mutable-free-id-table?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">init-dict</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._null%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">null</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">phase</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-integer%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">exact-integer?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxtrans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-local-phase-level%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax-local-phase-level</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/id-table..rkt)._make-immutable-free-id-table))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-immutable-free-id-table%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-immutable-free-id-table</a></span></span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">init-dict</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="RktPn">#:phase</span><span class="hspace"> </span><span class="RktVar">phase</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">init-dict</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._null%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">null</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">phase</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-integer%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">exact-integer?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxtrans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-local-phase-level%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax-local-phase-level</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Produces a mutable free-identifier table or immutable free-identifier
table, respectively. The dictionary uses <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._free-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">free-identifier=?</a></span>
to compare keys, but also uses a hash table based on symbol equality
to make the dictionary efficient in the common case.</div></p><p>The identifiers are compared at phase level <span class="RktVar">phase</span>. The
default phase, <span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxtrans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-local-phase-level%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax-local-phase-level</a></span><span class="RktPn">)</span>, is generally
appropriate for identifier tables used by macros, but code that
analyzes fully-expanded programs may need to create separate
identifier tables for each phase of the module.</p><p>The optional <span class="RktVar">init-dict</span> argument provides the initial
mappings. It must be a dictionary, and its keys must all be
identifiers. If the <span class="RktVar">init-dict</span> dictionary has multiple
distinct entries whose keys are <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._free-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">free-identifier=?</a></span>, only one
of the entries appears in the new id-table, and it is not specified
which entry is picked.</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._syntax/id-table..rkt)._free-id-table~3f))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" 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> was produced by
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-free-id-table%29%29" class="RktValLink" data-pltdoc="x">make-free-id-table</a></span> or
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-immutable-free-id-table%29%29" class="RktValLink" data-pltdoc="x">make-immutable-free-id-table</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._((lib._syntax/id-table..rkt)._mutable-free-id-table~3f))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-free-id-table~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">mutable-free-id-table?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" 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> was produced by
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-free-id-table%29%29" class="RktValLink" data-pltdoc="x">make-free-id-table</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._((lib._syntax/id-table..rkt)._immutable-free-id-table~3f))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-free-id-table~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">immutable-free-id-table?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" 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> was produced by
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-immutable-free-id-table%29%29" class="RktValLink" data-pltdoc="x">make-immutable-free-id-table</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._((lib._syntax/id-table..rkt)._free-id-table-ref))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-ref</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>[<span class="RktVar">failure</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">failure</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._raise%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">raise</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._make-exn%7E3afail%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">make-exn:fail</a></span><span class="hspace"> </span><span class="RktSym">.....</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-ref%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-ref</a></span>. In particular, if <span class="RktVar">id</span> is not found,
the <span class="RktVar">failure</span> argument is applied if it is a procedure, or
simply returned 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._syntax/id-table..rkt)._free-id-table-set!))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-set!</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">mutable-free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-set%2521%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-set!</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._syntax/id-table..rkt)._free-id-table-set))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-set%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-set</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</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="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-free-id-table?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-set%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-set</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._syntax/id-table..rkt)._free-id-table-remove!))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-remove%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-remove!</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">mutable-free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-remove%2521%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-remove!</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._syntax/id-table..rkt)._free-id-table-remove))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-remove%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-remove</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-free-id-table?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-remove%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-remove</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._syntax/id-table..rkt)._free-id-table-map))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-map%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-map</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">proc</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-map%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-map</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._syntax/id-table..rkt)._free-id-table-for-each))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-for-each%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-for-each</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">proc</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-for-each%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-for-each</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._syntax/id-table..rkt)._free-id-table-count))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-count%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-count</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-nonnegative-integer%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">exact-nonnegative-integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">free-id-table?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-count%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-count</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._free-id-table-iterate-first))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-iterate-first%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-iterate-first</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._id-table-iter~3f%29%29" class="RktValLink" data-pltdoc="x">id-table-iter?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">free-id-table?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._free-id-table-iterate-next))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-iterate-next%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-iterate-next</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">position</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._id-table-iter~3f%29%29" class="RktValLink" data-pltdoc="x">id-table-iter?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">position</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._id-table-iter~3f%29%29" class="RktValLink" data-pltdoc="x">id-table-iter?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._free-id-table-iterate-key))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-iterate-key%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-iterate-key</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">position</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">free-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">position</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._id-table-iter~3f%29%29" class="RktValLink" data-pltdoc="x">id-table-iter?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/id-table..rkt)._free-id-table-iterate-value))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-iterate-value%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table-iterate-value</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">table</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">position</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym">bound-it-table?</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">position</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._id-table-iter~3f%29%29" class="RktValLink" data-pltdoc="x">id-table-iter?</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-iterate-first%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-iterate-first</a></span>, <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-iterate-next%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-iterate-next</a></span>,
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-iterate-key%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-iterate-key</a></span>, and <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=hashtables.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._hash-iterate-value%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash-iterate-value</a></span>,
respectively.</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._syntax/id-table..rkt)._id-table-iter~3f))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._id-table-iter~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">id-table-iter?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" 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> represents a position in an
identifier table (free or bound, mutable or immutable), <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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td><span class="RktPn">(</span><a name="(def._((lib._syntax/id-table..rkt)._free-id-table/c))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table%2Fc%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-id-table/c</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">key-ctc</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">val-ctc</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="RktPn">#:immutable</span><span class="hspace"> </span><span class="RktVar">immutable?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=contract-utilities.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._contract%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">contract?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">key-ctc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=contract-utilities.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._flat-contract%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">flat-contract?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">val-ctc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=contract-utilities.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._chaperone-contract%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">chaperone-contract?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">immutable?</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktVal">#t</span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">dont-care</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">dont-care</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fhash..rkt%2529._hash%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">hash/c</a></span>, but for free-identifier tables. If
<span class="RktVar">immutable?</span> is <span class="RktVal">#t</span>, the contract accepts only
immutable identifier tables; if <span class="RktVar">immutable?</span> is <span class="RktVal">#f</span>,
the contract accepts only mutable identifier tables.</div></p><h5 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""Dictionaries_for_bound-identifier=_"">2.3.2<tt> </tt><a name="(part._.Dictionaries_for_bound-identifier~3d_)"></a>Dictionaries for <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._bound-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">bound-identifier=?</a></span></h5><p>A bound-identifier table is a dictionary whose keys are compared using
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._bound-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">bound-identifier=?</a></span>. Bound-identifier tables implement the
dictionary interface of <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">racket/dict</span></a>, so all of the
appropriate generic functions (<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict-ref%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict-ref</a></span>, <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict-map%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict-map</a></span>,
etc) can be used on bound-identifier tables.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/id-table..rkt)._make-bound-id-table))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-bound-id-table%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-bound-id-table</a></span></span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">init-dict</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="RktPn">#:phase</span><span class="hspace"> </span><span class="RktVar">phase</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="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">mutable-bound-id-table?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">init-dict</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._null%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">null</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">phase</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-integer%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">exact-integer?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxtrans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-local-phase-level%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax-local-phase-level</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/id-table..rkt)._make-immutable-bound-id-table))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-immutable-bound-id-table%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-immutable-bound-id-table</a></span></span></td><td><span class="hspace"> </span>[</td><td><span class="RktVar">init-dict</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="RktPn">#:phase</span><span class="hspace"> </span><span class="RktVar">phase</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">init-dict</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._null%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">null</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">phase</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-integer%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">exact-integer?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxtrans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-local-phase-level%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax-local-phase-level</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table~3f))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._mutable-bound-id-table~3f))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-bound-id-table~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">mutable-bound-id-table?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._immutable-bound-id-table~3f))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-bound-id-table~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">immutable-bound-id-table?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-ref))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-ref</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>[<span class="RktVar">failure</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">failure</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._raise%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">raise</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._make-exn%7E3afail%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">make-exn:fail</a></span><span class="hspace"> </span><span class="RktSym">.....</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-set!))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-set!</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">mutable-bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-set))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-set%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-set</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</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="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-bound-id-table?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-remove!))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-remove%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-remove!</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._mutable-bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">mutable-bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-remove))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-remove%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-remove</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">id</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-bound-id-table?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._immutable-bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">immutable-bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-map))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-map%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-map</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">proc</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-for-each))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-for-each%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-for-each</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">proc</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-count))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-count%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-count</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-nonnegative-integer%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">exact-nonnegative-integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-iterate-first))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-iterate-first%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-iterate-first</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym">id-table-position?</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/id-table..rkt)._bound-id-table-iterate-next))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-iterate-next%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-iterate-next</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">table</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">position</span><span class="RktPn">)</span></td><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><span class="RktSym">id-table-position?</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">position</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym">id-table-position?</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/id-table..rkt)._bound-id-table-iterate-key))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-iterate-key%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-iterate-key</a></span></span><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span><span class="RktVar">position</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">position</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym">id-table-position?</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/id-table..rkt)._bound-id-table-iterate-value))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-iterate-value%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table-iterate-value</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">table</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">position</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">position</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym">id-table-position?</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/id-table..rkt)._bound-id-table/c))"></a><span title="Provided from: syntax/id-table | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table%2Fc%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-id-table/c</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">key-ctc</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">val-ctc</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="RktPn">#:immutable</span><span class="hspace"> </span><span class="RktVar">immutable</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=contract-utilities.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._contract%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">contract?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">key-ctc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=contract-utilities.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._flat-contract%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">flat-contract?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">val-ctc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=contract-utilities.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._chaperone-contract%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">chaperone-contract?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">immutable</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktVal">#t</span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">dont-care</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">dont-care</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like the procedures for free-identifier tables
(<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-free-id-table%29%29" class="RktValLink" data-pltdoc="x">make-free-id-table</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-ref%29%29" class="RktValLink" data-pltdoc="x">free-id-table-ref</a></span>, etc), but
for bound-identifier tables, which use <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._bound-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">bound-identifier=?</a></span> to
compare keys.</div></p><h4 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""boundmap"">2.4<tt> </tt><a name="(part._boundmap)"></a><a name="(mod-path._syntax/boundmap)"></a>Hashing on <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._bound-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">bound-identifier=?</a></span> and <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxcmp.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._free-identifier%7E3d%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">free-identifier=?</a></span></h4><p>This library is for backwards-compatibility. Do not use it for new
libraries; use <a href="#%28mod-path._syntax%2Fid-table%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/id-table</span></a> instead.</p><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="#%28mod-path._syntax%2Fboundmap%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/boundmap</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">base</span></span></td></tr></table></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/boundmap..rkt)._make-bound-identifier-mapping))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._make-bound-identifier-mapping%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-bound-identifier-mapping</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%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">bound-identifier-mapping?</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/boundmap..rkt)._bound-identifier-mapping~3f))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-identifier-mapping?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._bound-identifier-mapping-get))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping-get%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-identifier-mapping-get</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">bound-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">id</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>]<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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">bound-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">bound-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">failure-thunk</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._raise%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">raise</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._make-exn%7E3afail%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">make-exn:fail</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._bound-identifier-mapping-put!))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping-put%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-identifier-mapping-put!</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">bound-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">id</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><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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">bound-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">bound-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._bound-identifier-mapping-for-each))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping-for-each%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-identifier-mapping-for-each</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">bound-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">proc</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">bound-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym">boud-identifier-mapping?</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktPn">. </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="RktPn"> .</span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._bound-identifier-mapping-map))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping-map%29%29" class="RktValDef RktValLink" data-pltdoc="x">bound-identifier-mapping-map</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">bound-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">proc</span><span class="RktPn">)</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym">any?</span><span class="RktPn">)</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">bound-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._bound-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">bound-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktPn">. </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="RktPn"> .</span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Similar to <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-bound-id-table%29%29" class="RktValLink" data-pltdoc="x">make-bound-id-table</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">bound-id-table?</a></span>,
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-ref%29%29" class="RktValLink" data-pltdoc="x">bound-id-table-ref</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-set%21%29%29" class="RktValLink" data-pltdoc="x">bound-id-table-set!</a></span>,
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-for-each%29%29" class="RktValLink" data-pltdoc="x">bound-id-table-for-each</a></span>, and <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._bound-id-table-map%29%29" class="RktValLink" data-pltdoc="x">bound-id-table-map</a></span>,
respectively.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/boundmap..rkt)._make-free-identifier-mapping))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._make-free-identifier-mapping%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-free-identifier-mapping</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%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">free-identifier-mapping?</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/boundmap..rkt)._free-identifier-mapping~3f))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-identifier-mapping?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._free-identifier-mapping-get))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping-get%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-identifier-mapping-get</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">free-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">id</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>]<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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">free-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">free-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">failure-thunk</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._raise%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">raise</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._make-exn%7E3afail%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">make-exn:fail</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/boundmap..rkt)._free-identifier-mapping-put!))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping-put%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-identifier-mapping-put!</a></span></span><span class="hspace"> </span><span class="RktVar">free-map</span><span class="hspace"> </span><span class="RktVar">id</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">free-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">free-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._free-identifier-mapping-for-each))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping-for-each%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-identifier-mapping-for-each</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">free-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">proc</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">free-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">free-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktPn">. </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="RktPn"> .</span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/boundmap..rkt)._free-identifier-mapping-map))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping-map%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-identifier-mapping-map</a></span></span><span class="hspace"> </span><span class="RktVar">free-map</span><span class="hspace"> </span><span class="RktVar">proc</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym">any?</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">free-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._free-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">free-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktPn">. </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="RktPn"> .</span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Similar to <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._make-free-id-table%29%29" class="RktValLink" data-pltdoc="x">make-free-id-table</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table~3f%29%29" class="RktValLink" data-pltdoc="x">free-id-table?</a></span>,
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-ref%29%29" class="RktValLink" data-pltdoc="x">free-id-table-ref</a></span>, <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-set%21%29%29" class="RktValLink" data-pltdoc="x">free-id-table-set!</a></span>,
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-for-each%29%29" class="RktValLink" data-pltdoc="x">free-id-table-for-each</a></span>, and <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fid-table..rkt%29._free-id-table-map%29%29" class="RktValLink" data-pltdoc="x">free-id-table-map</a></span>,
respectively.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/boundmap..rkt)._make-module-identifier-mapping))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._make-module-identifier-mapping%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-module-identifier-mapping</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%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">module-identifier-mapping?</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._syntax/boundmap..rkt)._module-identifier-mapping~3f))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">module-identifier-mapping?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._module-identifier-mapping-get))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping-get%29%29" class="RktValDef RktValLink" data-pltdoc="x">module-identifier-mapping-get</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">module-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">id</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>]<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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">module-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">module-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">failure-thunk</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._raise%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">raise</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._make-exn%7E3afail%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">make-exn:fail</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._module-identifier-mapping-put!))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping-put%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">module-identifier-mapping-put!</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">module-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">id</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><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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">module-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">module-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">id</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._module-identifier-mapping-for-each))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping-for-each%29%29" class="RktValDef RktValLink" data-pltdoc="x">module-identifier-mapping-for-each</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">module-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">proc</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=void.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._void%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">module-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">module-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktPn">. </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="RktPn"> .</span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><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._((lib._syntax/boundmap..rkt)._module-identifier-mapping-map))"></a><span title="Provided from: syntax/boundmap | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping-map%29%29" class="RktValDef RktValLink" data-pltdoc="x">module-identifier-mapping-map</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">module-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">proc</span><span class="RktPn">)</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym">any?</span><span class="RktPn">)</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">module-map</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._module-identifier-mapping~3f%29%29" class="RktValLink" data-pltdoc="x">module-identifier-mapping?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">proc</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="hspace"> </span><span class="RktPn">. </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="RktPn"> .</span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">The same as <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fboundmap..rkt%29._make-free-identifier-mapping%29%29" class="RktValLink" data-pltdoc="x">make-free-identifier-mapping</a></span>, etc.</div></p><h4 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""to-string"">2.5<tt> </tt><a name="(part._to-string)"></a><a name="(mod-path._syntax/to-string)"></a>Rendering Syntax Objects with Formatting</h4><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="#%28mod-path._syntax%2Fto-string%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/to-string</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">base</span></span></td></tr></table></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._syntax/to-string..rkt)._syntax-~3estring))"></a><span title="Provided from: syntax/to-string | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fto-string..rkt%29._syntax-~3estring%29%29" class="RktValDef RktValLink" data-pltdoc="x">syntax->string</a></span></span><span class="hspace"> </span><span class="RktVar">stx-list</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=strings.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._string%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">stx-list</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstx..rkt%29._stx-list~3f%29%29" class="RktValLink" data-pltdoc="x">stx-list?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Builds a string with newlines and indenting according to the source
locations in <span class="RktVar">stx-list</span>; the outer pair of parens are not
rendered from <span class="RktVar">stx-list</span>.</div></p><h4 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""free-vars"">2.6<tt> </tt><a name="(part._free-vars)"></a><a name="(mod-path._syntax/free-vars)"></a>Computing the Free Variables of an Expression</h4><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="#%28mod-path._syntax%2Ffree-vars%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/free-vars</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">base</span></span></td></tr></table></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._syntax/free-vars..rkt)._free-vars))"></a><span title="Provided from: syntax/free-vars | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Ffree-vars..rkt%29._free-vars%29%29" class="RktValDef RktValLink" data-pltdoc="x">free-vars</a></span></span><span class="hspace"> </span><span class="RktVar">expr-stx</span><span class="hspace"> </span>[<span class="RktVar">insp</span>]<span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">expr-stx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">insp</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=inspectors.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._inspector%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">inspector?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVar">mod-decl-insp</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a list of free <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span>- and <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=let.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._let%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">let</a></span>-bound
identifiers in <span class="RktVar">expr-stx</span> in the order in which each
identifier first appears within <span class="RktVar">expr-stx</span>. The expression must be fully
expanded (see <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=syntax-model.html%23%2528part._fully-expanded%2529&version=6.1" class="Sq" data-pltdoc="x">Fully Expanded Programs</a> and
<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=Expanding_Top-Level_Forms.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._expand%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">expand</a></span>).</div></p><p>The inspector <span class="RktVar">insp</span> is used to disarm <span class="RktVar">expr-stx</span> and
sub-expressions before extracting idenrifiers. The default
<span class="RktVar">insp</span> is the declaration-time inspector of the
<a href="#%28mod-path._syntax%2Ffree-vars%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/free-vars</span></a> module.</p><h4 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""strip-context"">2.7<tt> </tt><a name="(part._strip-context)"></a><a name="(mod-path._syntax/strip-context)"></a>Replacing Lexical Context</h4><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="#%28mod-path._syntax%2Fstrip-context%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/strip-context</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">base</span></span></td></tr></table></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._syntax/strip-context..rkt)._strip-context))"></a><span title="Provided from: syntax/strip-context | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstrip-context..rkt%29._strip-context%29%29" class="RktValDef RktValLink" data-pltdoc="x">strip-context</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Removes all lexical context from <span class="RktVar">stx</span>, preserving
source-location information and 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._((lib._syntax/strip-context..rkt)._replace-context))"></a><span title="Provided from: syntax/strip-context | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fstrip-context..rkt%29._replace-context%29%29" class="RktValDef RktValLink" data-pltdoc="x">replace-context</a></span></span><span class="hspace"> </span><span class="RktVar">ctx-stx</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ctx-stx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</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">stx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Uses the lexical context of <span class="RktVar">ctx-stx</span> to replace the lexical
context of all parts of <span class="RktVar">stx</span>, preserving source-location
information and properties of <span class="RktVar">stx</span>.</div></p><h4 x-source-module="(lib "syntax/scribblings/syntax.scrbl")" x-part-tag=""stxkeyword"">2.8<tt> </tt><a name="(part._stxkeyword)"></a><a name="(mod-path._syntax/keyword)"></a>Helpers for Processing Keyword Syntax</h4><p>The <a href="#%28mod-path._syntax%2Fkeyword%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/keyword</span></a> module contains procedures for
parsing keyword options in macros.</p><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=require.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._require%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="#%28mod-path._syntax%2Fkeyword%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">syntax/keyword</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <span class="stt">base</span></span></td></tr></table></p><p><table cellspacing="0" cellpadding="0"><tr><td align="right" valign="baseline"><span class="hspace"> </span><a name="(tech._keyword._table)"></a><span style="font-style: italic">keyword-table</span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="RktPn">(</span><span class="RktVar">dict-of</span><span class="hspace"> </span><span class="RktVar">keyword</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">listof</span><span class="hspace"> </span><span class="RktVar">check-procedure</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></p><p>A keyword-table is a dictionary (<span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=dicts.html%23%2528def._%2528%2528lib._racket%252Fdict..rkt%2529._dict%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">dict?</a></span>) mapping keywords to
lists of <a href="#%28tech._check._procedure%29" data-pltdoc="x">check-procedures</a>. (Note that an association list is a
suitable dictionary.) The keyword’s arity is the length of the list of
procedures.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktSym">my-keyword-table</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:a</span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-identifier%29%29" class="RktValLink" data-pltdoc="x">check-identifier</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:b</span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValLink" data-pltdoc="x">check-expression</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValLink" data-pltdoc="x">check-expression</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td></td></tr></table></td></tr></table></blockquote></td></tr></table></p><p><table cellspacing="0" cellpadding="0"><tr><td align="right" valign="baseline"><span class="hspace"> </span><a name="(tech._check._procedure)"></a><span style="font-style: italic">check-procedure</span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="RktPn">(</span><span class="RktVar">syntax</span><span class="hspace"> </span><span class="RktVar">syntax</span><span class="hspace"> </span><span class="RktVar">-></span><span class="hspace"> </span><span class="RktVar">any</span><span class="RktPn">)</span></td></tr></table></p><p>A check procedure consumes the syntax to check and a context syntax
object for error reporting and either raises an error to reject the
syntax or returns a value as its parsed representation.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Example:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-stx-string%29%29" class="RktValLink" data-pltdoc="x">check-stx-string</a></span><span class="hspace"> </span><span class="RktSym">stx</span><span class="hspace"> </span><span class="RktSym">context-stx</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=when_unless.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._unless%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">unless</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=strings.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._string%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">string?</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax-e%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax-e</a></span><span class="hspace"> </span><span class="RktSym">stx</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._raise-syntax-error%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">raise-syntax-error</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktVal">"expected string"</span><span class="hspace"> </span><span class="RktSym">context-stx</span><span class="hspace"> </span><span class="RktSym">stx</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktSym">stx</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td></td></tr></table></td></tr></table></blockquote></td></tr></table></p><p><table cellspacing="0" cellpadding="0"><tr><td align="right" valign="baseline"><span class="hspace"> </span><a name="(tech._option)"></a><span style="font-style: italic">options</span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="RktPn">(</span><span class="RktVar">listof</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktVar">list</span><span class="hspace"> </span><span class="RktVar">keyword</span><span class="hspace"> </span><span class="RktVar">syntax-keyword</span><span class="hspace"> </span><span class="RktVar">any</span><span class="hspace"> </span><span class="RktSym">...</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></p><p>Parsed options are represented as an list of option entries. Each
entry contains the keyword, the syntax of the keyword (for error
reporting), and the list of parsed values returned by the keyword’s
list of check procedures. The list contains the parsed options in the
order they appeared in the input, and a keyword that occurs multiple
times in the input occurs multiple times in the options list.</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._((lib._syntax/keyword..rkt)._parse-keyword-options))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%29%29" class="RktValDef RktValLink" data-pltdoc="x">parse-keyword-options</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">stx</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">table</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="RktPn">#:context</span><span class="hspace"> </span><span class="RktVar">ctx</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="RktPn">#:no-duplicates?</span><span class="hspace"> </span><span class="RktVar">no-duplicates?</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="RktPn">#:incompatible</span><span class="hspace"> </span><span class="RktVar">incompatible</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="RktPn">#:on-incompatible</span><span class="hspace"> </span><span class="RktVar">incompatible-handler</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="RktPn">#:on-too-short</span><span class="hspace"> </span><span class="RktVar">too-short-handler</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="RktPn">#:on-not-in-table</span><span class="hspace"> </span><span class="RktVar">not-in-table-handler</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td></tr></table></blockquote></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td><span class="hspace"> </span></td><td>→</td><td><span class="hspace"> </span></td><td><table cellspacing="0" cellpadding="0"><tr><td><a href="#%28tech._option%29" data-pltdoc="x">options</a></td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr></table></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><a href="#%28tech._keyword._table%29" data-pltdoc="x">keyword-table</a></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ctx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._false%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">false/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></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">no-duplicates?</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">boolean?</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">incompatible</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">incompatible-handler</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span></td></tr><tr><td><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">....</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._error%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">error</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">too-short-handler</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">....</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._error%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">error</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">not-in-table-handler</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">....</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._error%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">error</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Parses the keyword options in the syntax <span class="RktVar">stx</span> (<span class="RktVar">stx</span>
may be an improper syntax list). The keyword options are described in
the <span class="RktVar">table</span> association list. Each entry in <span class="RktVar">table</span>
should be a list whose first element is a keyword and whose subsequent
elements are procedures for checking the arguments following the
keyword. The keyword’s arity (number of arguments) is determined by
the number of procedures in the entry. Only fixed-arity keywords are
supported.</div></p><p>Parsing stops normally when the syntax list does not have a keyword at
its head (it may be empty, start with a non-keyword term, or it may be
a non-list syntax object). Two values are returned: the parsed
<a href="#%28tech._option%29" data-pltdoc="x">options</a> and the rest of the syntax (generally either a
syntax object or a list of syntax objects).</p><p>A variety of errors and exceptional conditions can occur during the
parsing process. The following keyword arguments determine the
behavior in those situations.</p><p>The <span class="RktPn">#:context</span><span class="stt"> </span><span class="RktVar">ctx</span> argument is used to report all errors in
parsing syntax. In addition, <span class="RktVar">ctx</span> is passed as the final
argument to all provided handler procedures. Macros using
<span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%29%29" class="RktValLink" data-pltdoc="x">parse-keyword-options</a></span> should generally pass the syntax object
for the whole macro use as <span class="RktVar">ctx</span>.</p><p>If <span class="RktVar">no-duplicates?</span> is a non-false value, then duplicate
keyword options are not allowed. If a duplicate is seen, the keyword’s
associated check procedures are not called and an <a href="#%28tech._incompatibility%29" class="techoutside" data-pltdoc="x"><span class="techinside">incompatibility</span></a> is
reported.</p><p>The <span class="RktVar">incompatible</span> argument is a list of incompatibility
entries, where each entry is a list of <span style="font-style: italic">at least two</span>
keywords. If any keyword in the entry occurs after any other keyword
in the entry, an <a href="#%28tech._incompatibility%29" class="techoutside" data-pltdoc="x"><span class="techinside">incompatibility</span></a> is reported.</p><p>Note that including a keyword in an incompatibility entry does not
prevent it from occurring multiple times. To disallow duplicates of
some keywords (as opposed to all keywords), include those keywords in
the <span class="RktVar">incompatible</span> list as being incompatible with
themselves. That is, include them twice:</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktCmt">;</span><span class="RktCmt"> </span><span class="RktCmt">Disallow duplicates of only the #:foo keyword</span></td></tr><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%29%29" class="RktValLink" data-pltdoc="x">parse-keyword-options</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="hspace"> </span><span class="RktPn">#:incompatible</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">(</span><span class="RktVal">#:foo</span><span class="hspace"> </span><span class="RktVal">#:foo</span><span class="RktVal">)</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr></table></blockquote><p>When an <a name="(tech._incompatibility)"></a><span style="font-style: italic">incompatibility</span> occurs, the
<span class="RktVar">incompatible-handler</span> is tail-called with the two keywords
causing the incompatibility (in the order that they occurred in the
syntax list, so the keyword triggering the incompatibility occurs
second), the syntax list starting with the occurrence of the second
keyword, and the context (<span class="RktVar">ctx</span>). If the incompatibility is due
to a duplicate, the two keywords are the same.</p><p>When a keyword is not followed by enough arguments according to its
arity in <span class="RktVar">table</span>, the <span class="RktVar">too-short-handler</span> is tail-called
with the keyword, the <a href="#%28tech._option%29" data-pltdoc="x">options</a> parsed thus far, the syntax list
starting with the occurrence of the keyword, and <span class="RktVar">ctx</span>.</p><p>When a keyword occurs in the syntax list that is not in
<span class="RktVar">table</span>, the <span class="RktVar">not-in-table-handler</span> is tail-called with
the keyword, the <a href="#%28tech._option%29" data-pltdoc="x">options</a> parsed thus far, the syntax list
starting with the occurrence of the keyword, and <span class="RktVar">ctx</span>.</p><p>Handlers typically escape—<wbr></wbr>all of the default handlers raise
errors—<wbr></wbr>but if they return, they should return two values: the parsed
<a href="#%28tech._option%29" data-pltdoc="x">options</a> and a syntax object; these are returned as the results
of <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%29%29" class="RktValLink" data-pltdoc="x">parse-keyword-options</a></span>.</p><p><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><p>Examples:</p></td></tr><tr><td><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%29%29" class="RktValLink" data-pltdoc="x">parse-keyword-options</a></span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktPn">#:transparent</span><span class="hspace"> </span><span class="RktPn">#:property</span><span class="hspace"> </span><span class="RktSym">p</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">f</span><span class="hspace"> </span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:transparent</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:inspector</span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValLink" data-pltdoc="x">check-expression</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:property</span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValLink" data-pltdoc="x">check-expression</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValLink" data-pltdoc="x">check-expression</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td><p><span class="RktRes">'((#:transparent #<syntax:4:0 #:transparent>)</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">(#:property</span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">#<syntax:4:0 #:property></span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">#<syntax:4:0 p></span></p></td></tr><tr><td><p><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes"></span><span class="hspace"> </span><span class="RktRes">#<syntax:4:0 (lambda (x) (f x))>))</span></p></td></tr><tr><td><p><span class="RktRes">'()</span></p></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%29%29" class="RktValLink" data-pltdoc="x">parse-keyword-options</a></span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktPn">(</span><span class="RktPn">#:transparent</span><span class="hspace"> </span><span class="RktPn">#:inspector</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=inspectors.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._make-inspector%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">make-inspector</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:transparent</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:inspector</span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValLink" data-pltdoc="x">check-expression</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:property</span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValLink" data-pltdoc="x">check-expression</a></span><span class="hspace"> </span><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValLink" data-pltdoc="x">check-expression</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:context</span><span class="hspace"> </span><span class="RktRdr">#'</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=define-struct.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define-struct%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">define-struct</a></span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktPn">#:incompatible</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">(</span><span class="RktVal">#:transparent</span><span class="hspace"> </span><span class="RktVal">#:inspector</span><span class="RktVal">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktVal">(</span><span class="RktVal">#:inspector</span><span class="hspace"> </span><span class="RktVal">#:inspector</span><span class="RktVal">)</span></td></tr><tr><td><span class="hspace"> </span><span class="hspace"> </span><span class="RktVal">(</span><span class="RktVal">#:inspector</span><span class="hspace"> </span><span class="RktVal">#:inspector</span><span class="RktVal">)</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktErr">define-struct: #:inspector option not allowed after</span></p></td></tr><tr><td><p><span class="RktErr">#:transparent option</span></p></td></tr></table></blockquote></td></tr></table></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 colspan="3"><span class="RktPn">(</span><a name="(def._((lib._syntax/keyword..rkt)._parse-keyword-options/eol))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%2Feol%29%29" class="RktValDef RktValLink" data-pltdoc="x">parse-keyword-options/eol</a></span></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">stx</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">table</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="RktPn">#:context</span><span class="hspace"> </span><span class="RktVar">ctx</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="RktPn">#:no-duplicates?</span><span class="hspace"> </span><span class="RktVar">no-duplicates?</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="RktPn">#:incompatible</span><span class="hspace"> </span><span class="RktVar">incompatible</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="RktPn">#:on-incompatible</span><span class="hspace"> </span><span class="RktVar">incompatible-handler</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="RktPn">#:on-too-short</span><span class="hspace"> </span><span class="RktVar">too-short-handler</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="RktPn">#:on-not-in-table</span><span class="hspace"> </span><span class="RktVar">not-in-table-handler</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="RktPn">#:on-not-eol</span><span class="hspace"> </span><span class="RktVar">not-eol-handler</span>]<span class="RktPn">)</span></td><td><span class="hspace"> </span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">table</span><span class="hspace"> </span>:<span class="hspace"> </span><a href="#%28tech._keyword._table%29" data-pltdoc="x">keyword-table</a></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ctx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._false%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">false/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></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">no-duplicates?</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=booleans.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._boolean%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">boolean?</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">incompatible</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">incompatible-handler</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span></td></tr><tr><td><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">....</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._error%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">error</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">too-short-handler</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">....</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._error%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">error</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">not-in-table-handler</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=values.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._values%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">values</a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">....</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._error%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">error</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td><span class="hspace"> </span></td><td><span class="RktVar">not-eol-handler</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=function-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._-%7E3e%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x"><span class="nobreak">-></span></a></span><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a><span class="RktPn">)</span></td></tr></table></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=lambda.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._lambda%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">lambda</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">....</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=exns.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._error%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">error</a></span><span class="hspace"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._parse-keyword-options%29%29" class="RktValLink" data-pltdoc="x">parse-keyword-options</a></span>, but checks that there are no
terms left over after parsing all of the keyword options. If there
are, <span class="RktVar">not-eol-handler</span> is tail-called with the <a href="#%28tech._option%29" data-pltdoc="x">options</a>
parsed thus far, the leftover syntax, and <span class="RktVar">ctx</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._syntax/keyword..rkt)._options-select))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._options-select%29%29" class="RktValDef RktValLink" data-pltdoc="x">options-select</a></span></span><span class="hspace"> </span><span class="RktVar">options</span><span class="hspace"> </span><span class="RktVar">keyword</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">options</span><span class="hspace"> </span>:<span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">keyword</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Selects the values associated with one keyword from the parsed
<a href="#%28tech._option%29" data-pltdoc="x">options</a>. The resulting list has as many items as there were
occurrences of the keyword, and each element is a list whose length is
the arity of the keyword.</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._((lib._syntax/keyword..rkt)._options-select-row))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._options-select-row%29%29" class="RktValDef RktValLink" data-pltdoc="x">options-select-row</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">options</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">keyword</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="RktPn">#:default</span><span class="hspace"> </span><span class="RktVar">default</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">options</span><span class="hspace"> </span>:<span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">keyword</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">default</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._options-select%29%29" class="RktValLink" data-pltdoc="x">options-select</a></span>, except that the given keyword must occur
either zero or one times in <span class="RktVar">options</span>. If the keyword occurs,
the associated list of parsed argument values is returned. Otherwise,
the <span class="RktVar">default</span> list is returned.</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._((lib._syntax/keyword..rkt)._options-select-value))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._options-select-value%29%29" class="RktValDef RktValLink" data-pltdoc="x">options-select-value</a></span></span></td><td><span class="hspace"> </span></td><td><span class="RktVar">options</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">keyword</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="RktPn">#:default</span><span class="hspace"> </span><span class="RktVar">default</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528form._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">any</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">options</span><span class="hspace"> </span>:<span class="hspace"> </span><a href="#%28tech._option%29" data-pltdoc="x">options</a></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">keyword</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=keywords.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._keyword%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">keyword?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">default</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._options-select%29%29" class="RktValLink" data-pltdoc="x">options-select</a></span>, except that the given keyword must occur
either zero or one times in <span class="RktVar">options</span>. If the keyword occurs,
the associated list of parsed argument values must have exactly one
element, and that element is returned. If the keyword does not occur
in <span class="RktVar">options</span>, the <span class="RktVar">default</span> value is returned.</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._syntax/keyword..rkt)._check-identifier))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-identifier%29%29" class="RktValDef RktValLink" data-pltdoc="x">check-identifier</a></span></span><span class="hspace"> </span><span class="RktVar">stx</span><span class="hspace"> </span><span class="RktVar">ctx</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528lib._racket%252Fprivate%252Fstx..rkt%2529._identifier%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">identifier?</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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ctx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._false%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">false/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">A <a href="#%28tech._check._procedure%29" data-pltdoc="x">check-procedure</a> that accepts only identifiers.</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._syntax/keyword..rkt)._check-expression))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-expression%29%29" class="RktValDef RktValLink" data-pltdoc="x">check-expression</a></span></span><span class="hspace"> </span><span class="RktVar">stx</span><span class="hspace"> </span><span class="RktVar">ctx</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ctx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._false%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">false/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">A <a href="#%28tech._check._procedure%29" data-pltdoc="x">check-procedure</a> that accepts any non-keyword term. It does
not actually check that the term is a valid expression.</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._syntax/keyword..rkt)._check-stx-listof))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-stx-listof%29%29" class="RktValDef RktValLink" data-pltdoc="x">check-stx-listof</a></span></span><span class="hspace"> </span><span class="RktVar">check</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVar">stx</span><span class="hspace"> </span><span class="RktVar">ctx</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._listof%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">listof</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._any%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">any/c</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">check</span><span class="hspace"> </span>:<span class="hspace"> </span><a href="#%28tech._check._procedure%29" data-pltdoc="x">check-procedure</a></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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ctx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._false%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">false/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Lifts a <a href="#%28tech._check._procedure%29" data-pltdoc="x">check-procedure</a> to accept syntax lists of whatever the
original procedure accepted.</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._syntax/keyword..rkt)._check-stx-string))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-stx-string%29%29" class="RktValDef RktValLink" data-pltdoc="x">check-stx-string</a></span></span><span class="hspace"> </span><span class="RktVar">stx</span><span class="hspace"> </span><span class="RktVar">ctx</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ctx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._false%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">false/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">A <a href="#%28tech._check._procedure%29" data-pltdoc="x">check-procedure</a> that accepts syntax strings.</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._syntax/keyword..rkt)._check-stx-boolean))"></a><span title="Provided from: syntax/keyword | Package: base"><span class="RktSym"><a href="#%28def._%28%28lib._syntax%2Fkeyword..rkt%29._check-stx-boolean%29%29" class="RktValDef RktValLink" data-pltdoc="x">check-stx-boolean</a></span></span><span class="hspace"> </span><span class="RktVar">stx</span><span class="hspace"> </span><span class="RktVar">ctx</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" 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="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">ctx</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fbase..rkt%2529._or%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">or/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=data-structure-contracts.html%23%2528def._%2528%2528lib._racket%252Fcontract%252Fprivate%252Fmisc..rkt%2529._false%252Fc%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">false/c</a></span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stxops.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._syntax%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">syntax?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">A <a href="#%28tech._check._procedure%29" data-pltdoc="x">check-procedure</a> that accepts syntax booleans.</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="Experimental.html" title="backward to "1.10 Experimental"" data-pltdoc="x">← prev</a> <a href="index.html" title="up to "Syntax: Meta-Programming Helpers"" data-pltdoc="x">up</a> <a href="Datum_Pattern_Matching.html" title="forward to "3 Datum Pattern Matching"" data-pltdoc="x">next →</a></span> </div></div></div><div id="contextindicator"> </div></body></html>
|