This file is indexed.

/usr/share/doc/racket/reference/splicing.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
<!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>12.6&nbsp;Local Binding with Splicing Body</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="extras.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_0&quot;);">&#9658;</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x"><span style="font-weight: bold">The Racket Reference</span></a></td></tr></table></div><div class="tocviewsublisttop" style="display: none;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1&nbsp;</td><td><a href="model.html" class="tocviewlink" data-pltdoc="x">Language Model</a></td></tr><tr><td align="right">2&nbsp;</td><td><a href="notation.html" class="tocviewlink" data-pltdoc="x">Notation for Documentation</a></td></tr><tr><td align="right">3&nbsp;</td><td><a href="syntax.html" class="tocviewlink" data-pltdoc="x">Syntactic Forms</a></td></tr><tr><td align="right">4&nbsp;</td><td><a href="data.html" class="tocviewlink" data-pltdoc="x">Datatypes</a></td></tr><tr><td align="right">5&nbsp;</td><td><a href="structures.html" class="tocviewlink" data-pltdoc="x">Structures</a></td></tr><tr><td align="right">6&nbsp;</td><td><a href="mzlib_class.html" class="tocviewlink" data-pltdoc="x">Classes and Objects</a></td></tr><tr><td align="right">7&nbsp;</td><td><a href="mzlib_unit.html" class="tocviewlink" data-pltdoc="x">Units</a></td></tr><tr><td align="right">8&nbsp;</td><td><a href="contracts.html" class="tocviewlink" data-pltdoc="x">Contracts</a></td></tr><tr><td align="right">9&nbsp;</td><td><a href="match.html" class="tocviewlink" data-pltdoc="x">Pattern Matching</a></td></tr><tr><td align="right">10&nbsp;</td><td><a href="control.html" class="tocviewlink" data-pltdoc="x">Control Flow</a></td></tr><tr><td align="right">11&nbsp;</td><td><a href="concurrency.html" class="tocviewlink" data-pltdoc="x">Concurrency and Parallelism</a></td></tr><tr><td align="right">12&nbsp;</td><td><a href="Macros.html" class="tocviewselflink" data-pltdoc="x">Macros</a></td></tr><tr><td align="right">13&nbsp;</td><td><a href="input-and-output.html" class="tocviewlink" data-pltdoc="x">Input and Output</a></td></tr><tr><td align="right">14&nbsp;</td><td><a href="security.html" class="tocviewlink" data-pltdoc="x">Reflection and Security</a></td></tr><tr><td align="right">15&nbsp;</td><td><a href="os.html" class="tocviewlink" data-pltdoc="x">Operating System</a></td></tr><tr><td align="right">16&nbsp;</td><td><a href="memory.html" class="tocviewlink" data-pltdoc="x">Memory Management</a></td></tr><tr><td align="right">17&nbsp;</td><td><a href="unsafe.html" class="tocviewlink" data-pltdoc="x">Unsafe Operations</a></td></tr><tr><td align="right">18&nbsp;</td><td><a href="running.html" class="tocviewlink" data-pltdoc="x">Running Racket</a></td></tr><tr><td align="right"></td><td><a href="doc-bibliography.html" class="tocviewlink" data-pltdoc="x">Bibliography</a></td></tr><tr><td align="right"></td><td><a href="doc-index.html" class="tocviewlink" data-pltdoc="x">Index</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_1&quot;);">&#9660;</a></td><td>12&nbsp;</td><td><a href="Macros.html" class="tocviewlink" data-pltdoc="x">Macros</a></td></tr></table><div class="tocviewsublistbottom" style="display: block;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">12.1&nbsp;</td><td><a href="stx-patterns.html" class="tocviewlink" data-pltdoc="x">Pattern-<wbr></wbr>Based Syntax Matching</a></td></tr><tr><td align="right">12.2&nbsp;</td><td><a href="stxops.html" class="tocviewlink" data-pltdoc="x">Syntax Object Content</a></td></tr><tr><td align="right">12.3&nbsp;</td><td><a href="stxcmp.html" class="tocviewlink" data-pltdoc="x">Syntax Object Bindings</a></td></tr><tr><td align="right">12.4&nbsp;</td><td><a href="stxtrans.html" class="tocviewlink" data-pltdoc="x">Syntax Transformers</a></td></tr><tr><td align="right">12.5&nbsp;</td><td><a href="stxparam.html" class="tocviewlink" data-pltdoc="x">Syntax Parameters</a></td></tr><tr><td align="right">12.6&nbsp;</td><td><a href="" class="tocviewselflink" data-pltdoc="x">Local Binding with Splicing Body</a></td></tr><tr><td align="right">12.7&nbsp;</td><td><a href="stxprops.html" class="tocviewlink" data-pltdoc="x">Syntax Object Properties</a></td></tr><tr><td align="right">12.8&nbsp;</td><td><a href="stxcerts.html" class="tocviewlink" data-pltdoc="x">Syntax Taints</a></td></tr><tr><td align="right">12.9&nbsp;</td><td><a href="Expanding_Top-Level_Forms.html" class="tocviewlink" data-pltdoc="x">Expanding Top-<wbr></wbr>Level Forms</a></td></tr><tr><td align="right">12.10&nbsp;</td><td><a href="include.html" class="tocviewlink" data-pltdoc="x">File Inclusion</a></td></tr><tr><td align="right">12.11&nbsp;</td><td><a href="syntax-util.html" class="tocviewlink" data-pltdoc="x">Syntax Utilities</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>let</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>letrec</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let-values%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>let-<wbr></wbr>values</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec-values%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>letrec-<wbr></wbr>values</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let-syntax%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>let-<wbr></wbr>syntax</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec-syntax%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>letrec-<wbr></wbr>syntax</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let-syntaxes%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>let-<wbr></wbr>syntaxes</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec-syntaxes%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>letrec-<wbr></wbr>syntaxes</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec-syntaxes%2Bvalues%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>letrec-<wbr></wbr>syntaxes+<span class="mywbr"> &nbsp;</span>values</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-local%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>local</span></span></a></td></tr><tr><td><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-syntax-parameterize%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktStxLink">splicing-<wbr></wbr>syntax-<wbr></wbr>parameterize</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, &quot;6.1&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.1&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="stxparam.html" title="backward to &quot;12.5 Syntax Parameters&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="Macros.html" title="up to &quot;12 Macros&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="stxprops.html" title="forward to &quot;12.7 Syntax Object Properties&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div><h4 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-part-tag="&quot;splicing&quot;">12.6<tt>&nbsp;</tt><a name="(part._splicing)"></a><a name="(mod-path._racket/splicing)"></a>Local Binding with Splicing Body</h4><p><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29" class="RktStxLink" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/splicing</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller">&nbsp;package:</span> <span class="stt">base</span></span></td></tr></table></div><div class="SIntrapara">The bindings documented in this section are provided by the <a href="" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/splicing</span></a> library, not <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/base</span></a> or <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket</span></a>.</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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-let))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-let</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-letrec))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-letrec</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-let-values))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let-values%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-let-values</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-letrec-values))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec-values%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-letrec-values</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-let-syntax))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let-syntax%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-let-syntax</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-letrec-syntax))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec-syntax%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-letrec-syntax</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-let-syntaxes))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let-syntaxes%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-let-syntaxes</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-letrec-syntaxes))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec-syntaxes%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-letrec-syntaxes</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-letrec-syntaxes+values))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec-syntaxes%2Bvalues%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-letrec-syntaxes+values</a></span></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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-local))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-local%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-local</a></span></span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%29%29" class="RktStxLink" data-pltdoc="x">let</a></span>, <span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._letrec%29%29" class="RktStxLink" data-pltdoc="x">letrec</a></span>, <span class="RktSym"><a href="let.html#%28form._%28%28quote._~23~25kernel%29._let-values%29%29" class="RktStxLink" data-pltdoc="x">let-values</a></span>,
<span class="RktSym"><a href="let.html#%28form._%28%28quote._~23~25kernel%29._letrec-values%29%29" class="RktStxLink" data-pltdoc="x">letrec-values</a></span>, <span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let-syntax%29%29" class="RktStxLink" data-pltdoc="x">let-syntax</a></span>, <span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._letrec-syntax%29%29" class="RktStxLink" data-pltdoc="x">letrec-syntax</a></span>,
<span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let-syntaxes%29%29" class="RktStxLink" data-pltdoc="x">let-syntaxes</a></span>, <span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._letrec-syntaxes%29%29" class="RktStxLink" data-pltdoc="x">letrec-syntaxes</a></span>,
<span class="RktSym"><a href="let.html#%28form._%28%28quote._~23~25kernel%29._letrec-syntaxes%2Bvalues%29%29" class="RktStxLink" data-pltdoc="x">letrec-syntaxes+values</a></span>, and <span class="RktSym"><a href="local.html#%28form._%28%28lib._racket%2Flocal..rkt%29._local%29%29" class="RktStxLink" data-pltdoc="x">local</a></span>, except that in a
definition context, the body forms are spliced into the enclosing
definition context (in the same way as for <span class="RktSym"><a href="begin.html#%28form._%28%28quote._~23~25kernel%29._begin%29%29" class="RktStxLink" data-pltdoc="x">begin</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><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-let-syntax%29%29" class="RktStxLink" data-pltdoc="x">splicing-let-syntax</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">one</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">stx</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktRdr">#'</span><span class="RktVal">1</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29" class="RktStxLink" data-pltdoc="x">define</a></span><span class="hspace">&nbsp;</span><span class="RktSym">o</span><span class="hspace">&nbsp;</span><span class="RktSym">one</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><tr><td><span class="stt">&gt; </span><span class="RktSym">o</span></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktSym">one</span></td></tr><tr><td><p><span class="RktErr">one: undefined;</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace">&nbsp;</span><span class="RktErr">cannot reference undefined identifier</span></p></td></tr></table></blockquote></td></tr></table></p><p>When a splicing binding form occurs in a <a href="syntax-model.html#%28tech._top._level._context%29" class="techoutside" data-pltdoc="x"><span class="techinside">top-level context</span></a> or
<a href="syntax-model.html#%28tech._module._context%29" class="techoutside" data-pltdoc="x"><span class="techinside">module context</span></a>, its local bindings are treated similarly to
definitions. In particular, if a reference to one of the splicing
form&rsquo;s bound variables is evaluated before the variable is
initialized, an unbound variable error is raised, instead of the
variable evaluating to the undefined value.  Also, syntax bindings are
evaluated every time the module is <a href="syntax-model.html#%28tech._visit%29" class="techoutside" data-pltdoc="x"><span class="techinside">visit</span></a>ed, instead of only
once during compilation as in <span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let-syntax%29%29" class="RktStxLink" data-pltdoc="x">let-syntax</a></span>, etc.</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">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-letrec%29%29" class="RktStxLink" data-pltdoc="x">splicing-letrec</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">x</span><span class="hspace">&nbsp;</span><span class="RktSym">bad</span><span class="RktPn">]</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">[</span><span class="RktSym">bad</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktErr">bad.3: undefined;</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace">&nbsp;</span><span class="RktErr">cannot reference undefined identifier</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>syntax</p></div></div><p class="RForeground"><a name="(form._((lib._racket/splicing..rkt)._splicing-syntax-parameterize))"></a><span title="Provided from: racket/splicing | Package: base"><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-syntax-parameterize%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">splicing-syntax-parameterize</a></span></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="stxparam.html#%28form._%28%28lib._racket%2Fstxparam..rkt%29._syntax-parameterize%29%29" class="RktStxLink" data-pltdoc="x">syntax-parameterize</a></span>, except that in a definition context, the body
forms are spliced into the enclosing definition context (in the same way as for
<span class="RktSym"><a href="begin.html#%28form._%28%28quote._~23~25kernel%29._begin%29%29" class="RktStxLink" data-pltdoc="x">begin</a></span>). In a definition context, the body of
<span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-syntax-parameterize%29%29" class="RktStxLink" data-pltdoc="x">splicing-syntax-parameterize</a></span> can be empty.</div></p><p>Note that <a href="stxtrans.html#%28tech._require._transformer%29" class="techoutside" data-pltdoc="x"><span class="techinside">require transformers</span></a> and <a href="stxtrans.html#%28tech._provide._transformer%29" class="techoutside" data-pltdoc="x"><span class="techinside">provide transformers</span></a> are not
affected by syntax parameterization.  While all uses of <span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29" class="RktStxLink" data-pltdoc="x">require</a></span> and
<span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._provide%29%29" class="RktStxLink" data-pltdoc="x">provide</a></span> will be spliced into the enclosing context, derived import or
export specifications will expand as if they had not been inside of the
<span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-syntax-parameterize%29%29" class="RktStxLink" data-pltdoc="x">splicing-syntax-parameterize</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><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="stxparam.html#%28form._%28%28lib._racket%2Fstxparam..rkt%29._define-syntax-parameter%29%29" class="RktStxLink" data-pltdoc="x">define-syntax-parameter</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="places.html#%28form._%28%28lib._racket%2Fplace..rkt%29._place%29%29" class="RktStxLink" data-pltdoc="x">place</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">stx</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktRdr">#'</span><span class="RktVal">"Kansas"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td></td></tr></table></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="stx-patterns.html#%28form._%28%28lib._racket%2Fprivate%2Fmisc..rkt%29._define-syntax-rule%29%29" class="RktStxLink" data-pltdoc="x">define-syntax-rule</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">where</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">`</span><span class="RktVal">(</span><span class="RktVal">at</span><span class="hspace">&nbsp;</span><span class="RktRdr">,</span><span class="RktPn">(</span><span class="RktSym"><a href="places.html#%28form._%28%28lib._racket%2Fplace..rkt%29._place%29%29" class="RktStxLink" data-pltdoc="x">place</a></span><span class="RktPn">)</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td></td></tr></table></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym">where</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(at "Kansas")</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="#%28form._%28%28lib._racket%2Fsplicing..rkt%29._splicing-syntax-parameterize%29%29" class="RktStxLink" data-pltdoc="x">splicing-syntax-parameterize</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym"><a href="places.html#%28form._%28%28lib._racket%2Fplace..rkt%29._place%29%29" class="RktStxLink" data-pltdoc="x">place</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">stx</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktRdr">#'</span><span class="RktVal">"Oz"</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29" class="RktStxLink" data-pltdoc="x">define</a></span><span class="hspace">&nbsp;</span><span class="RktSym">here</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">where</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><tr><td><span class="stt">&gt; </span><span class="RktSym">here</span></td></tr><tr><td><p><span class="RktRes">'(at "Oz")</span></p></td></tr></table></blockquote></td></tr></table></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, &quot;6.1&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.1&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="stxparam.html" title="backward to &quot;12.5 Syntax Parameters&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="Macros.html" title="up to &quot;12 Macros&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="stxprops.html" title="forward to &quot;12.7 Syntax Object Properties&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>