emacs.d/clones/lisp/docs.racket-lang.org/reference/unsafe.html

211 lines
566 KiB
HTML
Raw Normal View History

2022-08-24 19:36:32 +02:00
<!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"/><meta name="viewport" content="width=device-width, initial-scale=0.8"/><title>17&nbsp;Unsafe Operations</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;);">&#9660;</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x">The Racket Reference</a></td></tr></table></div><div class="tocviewsublisttop" style="display: block;" 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="tocviewlink" 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="tocviewselflink" data-pltdoc="x">Unsafe Operations</a></td></tr><tr><td align="right">18&nbsp;</td><td><a href="running.html" class="
<a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket</span></a> check their arguments to ensure that the
arguments conform to contracts and other constraints. For example,
<span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector-ref%29%29" class="RktValLink" data-pltdoc="x">vector-ref</a></span> checks its arguments to ensure that the first
argument is a vector, that the second argument is an exact integer,
and that the second argument is between <span class="RktVal">0</span> and one less than
the vector&rsquo;s length, inclusive.</p><p>Functions provided by <a href="unsafe.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/unsafe/ops</span></a> are
<a name="(tech._unsafe)"></a><span style="font-style: italic">unsafe</span>. They have certain constraints, but the constraints
are not checked, which allows the system to generate and execute
faster code. If arguments violate an unsafe function&rsquo;s constraints,
the function&rsquo;s behavior and result is unpredictable, and the entire
system can crash or become corrupted.</p><p>All of the exported bindings of <a href="unsafe.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/unsafe/ops</span></a> are
protected in the sense of <span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._protect-out%29%29" class="RktStxLink" data-pltdoc="x">protect-out</a></span>, so access to unsafe
operations can be prevented by adjusting the code inspector (see
<a href="modprotect.html" data-pltdoc="x">Code Inspectors</a>).</p><h4 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;Unsafe_Numeric_Operations&quot;">17.1<tt>&nbsp;</tt><a name="(part._.Unsafe_.Numeric_.Operations)"></a>Unsafe Numeric Operations</h4><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._racket/unsafe/ops..rkt)._unsafe-fx+))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx+</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fx-))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx-%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx-</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fx*))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx*</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2A%29%29" class="RktValLink" data-pltdoc="x">fx*</a></span>, <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxquotient%29%29" class="RktValLink" data-pltdoc="x">fxquotient</a></span>,
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxremainder%29%29" class="RktValLink" data-pltdoc="x">fxremainder</a></span>, <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxmodulo%29%29" class="RktValLink" data-pltdoc="x">fxmodulo</a></span>, and
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxabs%29%29" class="RktValLink" data-pltdoc="x">fxabs</a></span>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow zero or more arguments for <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx%2B%29%29" class="RktValLink" data-pltdoc="x">unsafe-fx+</a></span> and <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx%2A%29%29" class="RktValLink" data-pltdoc="x">unsafe-fx*</a></span>
and allow one or more arguments for <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx-%29%29" class="RktValLink" data-pltdoc="x">unsafe-fx-</a></span>.</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._racket/unsafe/ops..rkt)._unsafe-fxand))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxand%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fxand</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fxior))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxior%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fxior</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fxxor))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxxor%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fxxor</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span cl
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxnot%29%29" class="RktValLink" data-pltdoc="x">fxnot</a></span>, <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxlshift%29%29" class="RktValLink" data-pltdoc="x">fxlshift</a></span>, and <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxrshift%29%29" class="RktValLink" data-pltdoc="x">fxrshift</a></span>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow zero or more arguments for
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxand%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxand</a></span>, <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxior%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxior</a></span>,
and <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxxor%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxxor</a></span>.</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._racket/unsafe/ops..rkt)._unsafe-fxpopcount))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxpopcount%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fxpopcount</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._negative~3f%29%29" class="RktValLink" data-pltdoc="x">negative?</a></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._racket/unsafe/ops..rkt)._unsafe-fxpopcount32))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxpopcount32%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fxpopcount32</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._integer-in%29%29" class="RktValLink" data-pltdoc="x">integer-in</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</s
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxpopcount32%29%29" class="RktValLink" data-pltdoc="x">fxpopcount32</a></span>, and <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxpopcount16%29%29" class="RktValLink" data-pltdoc="x">fxpopcount16</a></span>.</div></p><p class="SHistory">Added in version 8.5.0.6 of package <span class="stt">base</span>.</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._racket/unsafe/ops..rkt)._unsafe-fx+/wraparound))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx%2B%2Fwraparound%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx+/wraparound</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fx-/wraparound))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx-%2Fwraparound%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx-/wraparound</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx-%2Fwraparound%29%29" class="RktValLink" data-pltdoc="x">fx-/wraparound</a></span>, <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2A%2Fwraparound%29%29" class="RktValLink" data-pltdoc="x">fx*/wraparound</a></span>, and
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxlshift%2Fwraparound%29%29" class="RktValLink" data-pltdoc="x">fxlshift/wraparound</a></span>.</div></p><p class="SHistory">Added in version 7.9.0.6 of package <span class="stt">base</span>.</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._racket/unsafe/ops..rkt)._unsafe-fx~3d))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx=</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fx~3c))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx~3c%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx&lt;</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fx~3e))"></
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx~3e%29%29" class="RktValLink" data-pltdoc="x">fx&gt;</a></span>, <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx~3c~3d%29%29" class="RktValLink" data-pltdoc="x">fx&lt;=</a></span>, <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx~3e~3d%29%29" class="RktValLink" data-pltdoc="x">fx&gt;=</a></span>,
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxmin%29%29" class="RktValLink" data-pltdoc="x">fxmin</a></span>, and <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxmax%29%29" class="RktValLink" data-pltdoc="x">fxmax</a></span>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one or more argument,
instead of allowing just two.</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._racket/unsafe/ops..rkt)._unsafe-fl+))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fl+</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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._racket/unsafe/ops..rkt)._unsafe-fl-))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl-%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fl-</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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._racket/unsafe/ops..rkt)._unsafe-fl*))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fl*</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a><
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fl%2A%29%29" class="RktValLink" data-pltdoc="x">fl*</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fl%2F%29%29" class="RktValLink" data-pltdoc="x">fl/</a></span>, and <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flabs%29%29" class="RktValLink" data-pltdoc="x">flabs</a></span>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow zero or more arguments for <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl%2B%29%29" class="RktValLink" data-pltdoc="x">unsafe-fl+</a></span> and <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl%2A%29%29" class="RktValLink" data-pltdoc="x">unsafe-fl*</a></span>
and one or more arguments for <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl-%29%29" class="RktValLink" data-pltdoc="x">unsafe-fl-</a></span> and <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl%2F%29%29" class="RktValLink" data-pltdoc="x">unsafe-fl/</a></span>.</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._racket/unsafe/ops..rkt)._unsafe-fl~3d))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fl=</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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._racket/unsafe/ops..rkt)._unsafe-fl~3c))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl~3c%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fl&lt;</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fl~3e%29%29" class="RktValLink" data-pltdoc="x">fl&gt;</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fl~3c~3d%29%29" class="RktValLink" data-pltdoc="x">fl&lt;=</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fl~3e~3d%29%29" class="RktValLink" data-pltdoc="x">fl&gt;=</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flmin%29%29" class="RktValLink" data-pltdoc="x">flmin</a></span>, and
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flmax%29%29" class="RktValLink" data-pltdoc="x">flmax</a></span>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one or more argument,
instead of allowing just two.</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._racket/unsafe/ops..rkt)._unsafe-flround))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flround%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flround</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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._racket/unsafe/ops..rkt)._unsafe-flfloor))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flfloor%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flfloor</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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._racket/unsafe/ops..rkt)._unsafe-flceiling))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flceiling%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flceiling</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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="RBackgroundLabelInne
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flround%29%29" class="RktValLink" data-pltdoc="x">flround</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flfloor%29%29" class="RktValLink" data-pltdoc="x">flfloor</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flceiling%29%29" class="RktValLink" data-pltdoc="x">flceiling</a></span>, and
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fltruncate%29%29" class="RktValLink" data-pltdoc="x">fltruncate</a></span>. Currently, these bindings are simply aliases for
the corresponding safe bindings.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-flsingle))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flsingle%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flsingle</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">For <a href="numbers.html#%28tech._flonum%29" class="techoutside" data-pltdoc="x"><span class="techinside">flonums</span></a>: Unchecked (potentially) version of
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flsingle%29%29" class="RktValLink" data-pltdoc="x">flsingle</a></span>.</div></p><p class="SHistory">Added in version 7.8.0.7 of package <span class="stt">base</span>.</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._racket/unsafe/ops..rkt)._unsafe-flsin))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flsin%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flsin</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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._racket/unsafe/ops..rkt)._unsafe-flcos))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flcos%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flcos</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</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._racket/unsafe/ops..rkt)._unsafe-fltan))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fltan%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fltan</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flsin%29%29" class="RktValLink" data-pltdoc="x">flsin</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flcos%29%29" class="RktValLink" data-pltdoc="x">flcos</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fltan%29%29" class="RktValLink" data-pltdoc="x">fltan</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flasin%29%29" class="RktValLink" data-pltdoc="x">flasin</a></span>,
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flacos%29%29" class="RktValLink" data-pltdoc="x">flacos</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flatan%29%29" class="RktValLink" data-pltdoc="x">flatan</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fllog%29%29" class="RktValLink" data-pltdoc="x">fllog</a></span>, <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flexp%29%29" class="RktValLink" data-pltdoc="x">flexp</a></span>,
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flsqrt%29%29" class="RktValLink" data-pltdoc="x">flsqrt</a></span>, and <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flexpt%29%29" class="RktValLink" data-pltdoc="x">flexpt</a></span>. Currently, some of these
bindings are simply aliases for the corresponding safe bindings.</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._racket/unsafe/ops..rkt)._unsafe-make-flrectangular))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-make-flrectangular%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-make-flrectangular</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="prototype"><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._complex~3f%29%29" class="RktValLink" data-pltdoc="x">complex?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._real-part%29%29" class="RktValLink" data-pltdoc="x">real-part</a></span><span class="hspace">&nbsp;</span><span class="RktSym">c</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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">c</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._imag-part%29%29" class="RktValLink" data-pltdoc="x">imag-part</a></span><span class="hspace">&nbsp;</span><span class="RktSym">c</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flreal-part%29%29" class="RktValLink" data-pltdoc="x">flreal-part</a></span>, and <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flimag-part%29%29" class="RktValLink" data-pltdoc="x">flimag-part</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._racket/unsafe/ops..rkt)._unsafe-fx-~3efl))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx-~3efl%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx-&gt;fl</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fl-~3efx))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl-~3efx%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fl-&gt;fx</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Unchecked versions of <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx-~3efl%29%29" class="RktValLink" data-pltdoc="x">fx-&gt;fl</a></span> and <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fl-~3efx%29%29" class="RktValLink" data-pltdoc="x">fl-&gt;fx</a></span>.</div></p><p class="SHistory">Changed in version 7.7.0.8 of package <span class="stt">base</span>: Changed <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl-~3efx%29%29" class="RktValLink" data-pltdoc="x">unsafe-fl-&gt;fx</a></span> to truncate.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-flrandom))"></a><span title="Provided from: racket/unsaf
<span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3c~3d~3f%29%29" class="RktValLink" data-pltdoc="x">char&lt;=?</a></span>, <span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3e~3d~3f%29%29" class="RktValLink" data-pltdoc="x">char&gt;=?</a></span>, and <span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char-~3einteger%29%29" class="RktValLink" data-pltdoc="x">char-&gt;integer</a></span>.</div></p><p class="SHistory">Added in version 7.0.0.14 of package <span class="stt">base</span>.</p><h4 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;Unsafe Data Extraction&quot;">17.3<tt>&nbsp;</tt><a name="(part._.Unsafe._.Data._.Extraction)"></a>Unsafe Compound-Data Operations</h4><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._racket/unsafe/ops..rkt)._unsafe-car))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-car%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-car</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">p</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">p</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._pair~3f%29%29" class="RktValLink" data-pltdoc="x">pair?</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._racket/unsafe/ops..rkt)._unsafe-cdr))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-cdr%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-cdr</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">p</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">p</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._pair~3f%29%29" class="RktValLink" data-pltdoc="x">pair?</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._racket/unsafe/ops..rkt)._unsafe-mcar))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-mcar%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-mcar</a></span></span><span class="hspace"
<span class="RktSym"><a href="mpairs.html#%28def._%28%28quote._~23~25kernel%29._mcdr%29%29" class="RktValLink" data-pltdoc="x">mcdr</a></span>, <span class="RktSym"><a href="mpairs.html#%28def._%28%28quote._~23~25kernel%29._set-mcar%21%29%29" class="RktValLink" data-pltdoc="x">set-mcar!</a></span>, and <span class="RktSym"><a href="mpairs.html#%28def._%28%28quote._~23~25kernel%29._set-mcdr%21%29%29" class="RktValLink" data-pltdoc="x">set-mcdr!</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-cons-list))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-cons-list%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-cons-list</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">rest</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._pair~3f%29%29" class="RktValLink" data-pltdoc="x">pair?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list~3f%29%29" class="RktValLink" data-pltdoc="x">list?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">rest</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list~3f%29%29" class="RktValLink" data-pltdoc="x">list?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Unsafe variant of <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._cons%29%29" class="RktValLink" data-pltdoc="x">cons</a></span> that produces a pair that claims to be
a list&#8212;<wbr></wbr>without checking whether <span class="RktVar">rest</span> is a list.</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._racket/unsafe/ops..rkt)._unsafe-list-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-list-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-list-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">lst</span><span class="hspace">&nbsp;</span><span class="RktVar">pos</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">lst</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._pair~3f%29%29" class="RktValLink" data-pltdoc="x">pair?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pos</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-list-tail))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-list-tail%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-list-tail</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">lst</span><span class="hspace">&nbsp;</span><span class="RktVar">pos</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">lst</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pos</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="
<span class="RktVar">pos</span> must be a <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a>, and <span class="RktVar">lst</span> must start with
at least <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._add1%29%29" class="RktValLink" data-pltdoc="x">add1</a></span><span class="stt"> </span><span class="RktVar">pos</span><span class="RktPn">)</span> (for <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-list-ref%29%29" class="RktValLink" data-pltdoc="x">unsafe-list-ref</a></span>) or
<span class="RktVar">pos</span> (for <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-list-tail%29%29" class="RktValLink" data-pltdoc="x">unsafe-list-tail</a></span>) pairs.</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._racket/unsafe/ops..rkt)._unsafe-set-immutable-car!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-set-immutable-car%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-set-immutable-car!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">p</span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">p</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._pair~3f%29%29" class="RktValLink" data-pltdoc="x">pair?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></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._racket/unsafe/ops..rkt)._unsafe-set-immutable-cdr!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-set-immutable-cdr%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-set-immutable-cdr!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">p</span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">p</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._pair~3f%29%29" class="RktValLink" data-pltdoc="x">pair?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">As their oxymoronic names should suggest, there is <span class="emph">no generally
correct way</span> to use these functions. They may be useful nevertheless,
as a last resort, in settings where pairs are used in a constrained
way and when making correct assumptions about Racket&rsquo;s implementation
(including limits on the compiler&rsquo;s optimizations).</div></p><p>Some pitfalls of using <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-set-immutable-car%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-set-immutable-car!</a></span> and
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-set-immutable-cdr%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-set-immutable-cdr!</a></span>:</p><ul><li><p>Functions that consume a pair may take advantage of
immutability, such as computing a list&rsquo;s length once and
expecting the list to retain that length, or checking a list
against a contract and expecting the contract to hold
thereafter.</p></li><li><p>The result of <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list~3f%29%29" class="RktValLink" data-pltdoc="x">list?</a></span> for a pair may be cached
internally, so that changing the <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._cdr%29%29" class="RktValLink" data-pltdoc="x">cdr</a></span> of a pair from a
list to a non-list or vice versa may cause <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list~3f%29%29" class="RktValLink" data-pltdoc="x">list?</a></span> to
produce the wrong value&#8212;<wbr></wbr>for the mutated pair or for another
pair that reaches the mutated pair.</p></li><li><p>The compiler may reorder or even optimize away a call to
<span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._car%29%29" class="RktValLink" data-pltdoc="x">car</a></span> or <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._cdr%29%29" class="RktValLink" data-pltdoc="x">cdr</a></span> on the grounds that pairs are
immutable, in which case a <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-set-immutable-car%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-set-immutable-car!</a></span>
or <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-set-immutable-cdr%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-set-immutable-cdr!</a></span> may not have an effect on
the use of <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._car%29%29" class="RktValLink" data-pltdoc="x">car</a></span> or <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._cdr%29%29" class="RktValLink" data-pltdoc="x">cdr</a></span>.</p></li></ul><p class="SHistory">Added in version 7.9.0.18 of package <span class="stt">base</span>.</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._racket/unsafe/ops..rkt)._unsafe-unbox))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-unbox%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-unbox</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="boxes.html#%28def._%28%28quote._~23~25kernel%29._box~3f%29%29" class="RktValLink" data-pltdoc="x">box?</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._racket/unsafe/ops..rkt)._unsafe-set-box!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-set-box%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-set-box!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="boxes.html#%28def._%28%28quote._~23~25kernel%29._box~3f%29%29" class="RktValLink" data-pltdoc="x">box?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-unbox*))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-unbox%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-unbox*</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nb
<span class="RktSym">box*</span> variants can be faster but do not work on
<a href="chaperones.html#%28tech._impersonator%29" class="techoutside" data-pltdoc="x"><span class="techinside">impersonators</span></a>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-box*-cas!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-box%2A-cas%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-box*-cas!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">loc</span><span class="hspace">&nbsp;</span><span class="RktVar">old</span><span class="hspace">&nbsp;</span><span class="RktVar">new</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">loc</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="boxes.html#%28def._%28%28quote._~23~25kernel%29._box~3f%29%29" class="RktValLink" data-pltdoc="x">box?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">old</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">new</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Unsafe version of <span class="RktSym"><a href="boxes.html#%28def._%28%28quote._~23~25kernel%29._box-cas%21%29%29" class="RktValLink" data-pltdoc="x">box-cas!</a></span>. Like <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-set-box%2A%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-set-box*!</a></span>, it does
not work on <a href="chaperones.html#%28tech._impersonator%29" class="techoutside" data-pltdoc="x"><span class="techinside">impersonators</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>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-vector-length))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-vector-length%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-vector-length</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</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._racket/unsafe/ops..rkt)._unsafe-vector-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-vector-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-vector-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-vector-set!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-vector-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-vector-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span><span class="RktVar">val</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</spa
<span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector-set%21%29%29" class="RktValLink" data-pltdoc="x">vector-set!</a></span>, and <span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector-cas%21%29%29" class="RktValLink" data-pltdoc="x">vector-cas!</a></span>, where the <span class="RktSym">vector*</span> variants can be
faster but do not work on <a href="chaperones.html#%28tech._impersonator%29" class="techoutside" data-pltdoc="x"><span class="techinside">impersonators</span></a>.</div></p><p>A vector&rsquo;s size can never be larger than a <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a>, so even
<span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector-length%29%29" class="RktValLink" data-pltdoc="x">vector-length</a></span> always returns a fixnum.</p><p class="SHistory">Changed in version 6.11.0.2 of package <span class="stt">base</span>: Added <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-vector%2A-cas%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-vector*-cas!</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-vector*-~3eimmutable-vector!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-vector%2A-~3eimmutable-vector%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-vector*-&gt;immutable-vector!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator~3f%29%29" class="RktValLink" data-pltdoc="x">impersonator?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Similar to <span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector-~3eimmutable-vector%29%29" class="RktValLink" data-pltdoc="x">vector-&gt;immutable-vector</a></span>, but potentially destroys
<span class="RktVar">v</span> and reuses it space, so <span class="RktVar">v</span> must not be used after
calling <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-vector%2A-~3eimmutable-vector%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-vector*-&gt;immutable-vector!</a></span>.</div></p><p class="SHistory">Added in version 7.7.0.6 of package <span class="stt">base</span>.</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._racket/unsafe/ops..rkt)._unsafe-string-length))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-string-length%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-string-length</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</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._racket/unsafe/ops..rkt)._unsafe-string-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-string-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-string-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</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="RktVar">ch</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c~3d%29%29" class="RktValLink" data-pltdoc="x">&lt;=</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char-~3einteger%29%29" class="RktValLink" data-pltdoc="x">char-&gt;integer</a></span><span class="hspace">&nbsp;</span><span class="RktVar">ch</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">255</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-set%21%29%29" class="RktValLink" data-pltdoc="x">string-set!</a></span>. The <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-string-ref%29%29" class="RktValLink" data-pltdoc="x">unsafe-string-ref</a></span> procedure can be used
only when the result will be a Latin-1 character. A string&rsquo;s size can
never be larger than a <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a> (so even <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-length%29%29" class="RktValLink" data-pltdoc="x">string-length</a></span>
always returns a fixnum).</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-string-~3eimmutable-string!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-string-~3eimmutable-string%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-string-&gt;immutable-string!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Similar to <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-~3eimmutable-string%29%29" class="RktValLink" data-pltdoc="x">string-&gt;immutable-string</a></span>, but potentially destroys
<span class="RktVar">str</span> and reuses it space, so <span class="RktVar">str</span> must not be used
after calling <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-string-~3eimmutable-string%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-string-&gt;immutable-string!</a></span>.</div></p><p class="SHistory">Added in version 7.7.0.6 of package <span class="stt">base</span>.</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._racket/unsafe/ops..rkt)._unsafe-bytes-length))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-bytes-length%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-bytes-length</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">bstr</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">bstr</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</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._racket/unsafe/ops..rkt)._unsafe-bytes-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-bytes-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-bytes-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">bstr</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._byte~3f%29%29" class="RktValLink" data-pltdoc="x">byte?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">bstr</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-bytes-set!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-bytes-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-bytes-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">bstr</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace"
<span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes-set%21%29%29" class="RktValLink" data-pltdoc="x">bytes-set!</a></span>, and <span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes-copy%21%29%29" class="RktValLink" data-pltdoc="x">bytes-copy!</a></span>.
A bytes&rsquo;s size can never be larger than a
<a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a> (so even <span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes-length%29%29" class="RktValLink" data-pltdoc="x">bytes-length</a></span> always returns a
fixnum).</div></p><p class="SHistory">Changed in version 7.5.0.15 of package <span class="stt">base</span>: Added <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-bytes-copy%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-bytes-copy!</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-bytes-~3eimmutable-bytes!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-bytes-~3eimmutable-bytes%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-bytes-&gt;immutable-bytes!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">bstr</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">bstr</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Similar to <span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes-~3eimmutable-bytes%29%29" class="RktValLink" data-pltdoc="x">bytes-&gt;immutable-bytes</a></span>, but potentially destroys
<span class="RktVar">bstr</span> and reuses it space, so <span class="RktVar">bstr</span> must not be used
after calling <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-bytes-~3eimmutable-bytes%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-bytes-&gt;immutable-bytes!</a></span>.</div></p><p class="SHistory">Added in version 7.7.0.6 of package <span class="stt">base</span>.</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._racket/unsafe/ops..rkt)._unsafe-fxvector-length))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxvector-length%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fxvector-length</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</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._racket/unsafe/ops..rkt)._unsafe-fxvector-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxvector-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fxvector-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-fxvector-set!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxvector-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fxvector-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar"
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector-set%21%29%29" class="RktValLink" data-pltdoc="x">fxvector-set!</a></span>. A <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a>&rsquo;s size can never be larger than a
<a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a> (so even <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector-length%29%29" class="RktValLink" data-pltdoc="x">fxvector-length</a></span> always returns a
fixnum).</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._racket/unsafe/ops..rkt)._unsafe-flvector-length))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flvector-length%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flvector-length</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flvector~3f%29%29" class="RktValLink" data-pltdoc="x">flvector?</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._racket/unsafe/ops..rkt)._unsafe-flvector-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flvector-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flvector-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flvector~3f%29%29" class="RktValLink" data-pltdoc="x">flvector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-flvector-set!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-flvector-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-flvector-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flvector-set%21%29%29" class="RktValLink" data-pltdoc="x">flvector-set!</a></span>. A <a href="flonums.html#%28tech._flvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">flvector</span></a>&rsquo;s size can never be larger than a
<a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a> (so even <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flvector-length%29%29" class="RktValLink" data-pltdoc="x">flvector-length</a></span> always returns a
fixnum).</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._racket/unsafe/ops..rkt)._unsafe-f64vector-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-f64vector-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-f64vector-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._f64vector%7E3f%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">f64vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-f64vector-set!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-f64vector-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-f64vector-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._f64vector%7E3f%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">f64vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">n</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></td></tr></tabl
<span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._f64vector-set%2521%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">f64vector-set!</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._racket/unsafe/ops..rkt)._unsafe-s16vector-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-s16vector-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-s16vector-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._integer-in%29%29" class="RktValLink" data-pltdoc="x">integer-in</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-3</span>2768</span><span class="hspace">&nbsp;</span><span class="RktVal">32767</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._s16vector%7E3f%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">s16vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-s16vector-set!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-s16vector-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-s16vector-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._s16vector%7E3f%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">s16vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</s
<span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._s16vector-set%2521%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">s16vector-set!</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._racket/unsafe/ops..rkt)._unsafe-u16vector-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-u16vector-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-u16vector-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._integer-in%29%29" class="RktValLink" data-pltdoc="x">integer-in</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">65535</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._u16vector%7E3f%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">u16vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-u16vector-set!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-u16vector-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-u16vector-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._u16vector%7E3f%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">u16vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</s
<span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=foreign&amp;rel=homogeneous-vectors.html%23%2528def._%2528%2528lib._ffi%252Fvector..rkt%2529._u16vector-set%2521%2529%2529&amp;version=8.6" class="RktValLink Sq" data-pltdoc="x">u16vector-set!</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._racket/unsafe/ops..rkt)._unsafe-stencil-vector))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-stencil-vector%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-stencil-vector</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">mask</span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="stencil_vectors.html#%28def._%28%28quote._~23~25kernel%29._stencil-vector~3f%29%29" class="RktValLink" data-pltdoc="x">stencil-vector?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">mask</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._integer-in%29%29" class="RktValLink" data-pltdoc="x">integer-in</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sub1%29%29" class="RktValLink" data-pltdoc="x">sub1</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="stencil_vectors.html#%28def._%28%28quote._~23~25kernel%29._stencil-vector-mask-width%29%29" class="RktValLink" data-pltdoc="x">stencil-vector-mask-width</a></span><span class="RktPn">)</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="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></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._racket/unsafe/ops..rkt)._unsafe-stencil-vector-mask))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-stencil-vector-mask%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-stencil-vector-mask</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.h
<span class="RktSym"><a href="stencil_vectors.html#%28def._%28%28quote._~23~25kernel%29._stencil-vector-ref%29%29" class="RktValLink" data-pltdoc="x">stencil-vector-ref</a></span>, <span class="RktSym"><a href="stencil_vectors.html#%28def._%28%28quote._~23~25kernel%29._stencil-vector-set%21%29%29" class="RktValLink" data-pltdoc="x">stencil-vector-set!</a></span>,
and <span class="RktSym"><a href="stencil_vectors.html#%28def._%28%28quote._~23~25kernel%29._stencil-vector-update%29%29" class="RktValLink" data-pltdoc="x">stencil-vector-update</a></span>.</div></p><p class="SHistory">Added in version 8.5.0.7 of package <span class="stt">base</span>.</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._racket/unsafe/ops..rkt)._unsafe-struct-ref))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-struct-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-struct-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-struct-set!))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-struct-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-struct-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span><span class="RktVar">val</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">val</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29
type, where the <span class="RktSym">struct*</span> variants can be
faster but do not work on <a href="chaperones.html#%28tech._impersonator%29" class="techoutside" data-pltdoc="x"><span class="techinside">impersonators</span></a>.
The index <span class="RktVar">k</span> must be between <span class="RktVal">0</span> (inclusive) and
the number of fields in the structure (exclusive). In the case of
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-struct-set%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-struct-set!</a></span>, <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-struct%2A-set%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-struct*-set!</a></span>, and <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-struct%2A-cas%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-struct*-cas!</a></span>, the
field must be mutable. The <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-struct%2A-cas%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-struct*-cas!</a></span> operation
is analogous to <span class="RktSym"><a href="boxes.html#%28def._%28%28quote._~23~25kernel%29._box-cas%21%29%29" class="RktValLink" data-pltdoc="x">box-cas!</a></span> to perform an atomic compare-and-set.</div></p><p class="SHistory">Changed in version 6.11.0.2 of package <span class="stt">base</span>: Added <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-struct%2A-cas%21%29%29" class="RktValLink" data-pltdoc="x">unsafe-struct*-cas!</a></span>.</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._racket/unsafe/ops..rkt)._unsafe-mutable-hash-iterate-first))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-mutable-hash-iterate-first%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-mutable-hash-iterate-first</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">hash</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">hash</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="hashtables.html#%28def._%28%28quote._~23~25kernel%29._hash~3f%29%29" class="RktValLink" data-pltdoc="x">hash?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="hashtables.html#%28def._%28%28quote._~23~25kernel%29._hash-strong~3f%29%29" class="RktValLink" data-pltdoc="x">hash-strong?</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._racket/unsafe/ops..rkt)._unsafe-mutable-hash-iterate-next))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-mutable-hash-iterate-next%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-mutable-hash-iterate-next</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">hash</span><span class="hspace">&nbsp;</span><span class="RktVar">pos</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;<
These operations support <a href="chaperones.html#%28tech._chaperone%29" class="techoutside" data-pltdoc="x"><span class="techinside">chaperones</span></a> and <a href="chaperones.html#%28tech._impersonator%29" class="techoutside" data-pltdoc="x"><span class="techinside">impersonators</span></a>.</div></p><p>Each unsafe ...<span class="RktSym"><span class="nobreak">-f</span>irst</span><span class="RktMeta"></span> and ...<span class="RktSym"><span class="nobreak">-n</span>ext</span><span class="RktMeta"></span> procedure may return,
instead of a number index, an internal representation of a view into
the hash structure, enabling faster iteration. The result of these
...<span class="RktSym"><span class="nobreak">-f</span>irst</span><span class="RktMeta"></span> and ...<span class="RktSym"><span class="nobreak">-n</span>ext</span><span class="RktMeta"></span> functions should be given as
<span class="RktVar">pos</span> to the corresponding unsafe accessor functions.</p><p>If the <span class="RktVar">pos</span> provided to an accessor function for a mutable
<span class="RktVar">hash</span> was formerly a <a href="hashtables.html#%28tech._valid._hash._index%29" class="techoutside" data-pltdoc="x"><span class="techinside">valid hash index</span></a> but is no longer
a <a href="hashtables.html#%28tech._valid._hash._index%29" class="techoutside" data-pltdoc="x"><span class="techinside">valid hash index</span></a> for <span class="RktVar">hash</span>, and if
<span class="RktVar">bad-index-v</span> is not provided, then the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised. No behavior is specified for a
<span class="RktVar">pos</span> that was never a <a href="hashtables.html#%28tech._valid._hash._index%29" class="techoutside" data-pltdoc="x"><span class="techinside">valid hash index</span></a> for
<span class="RktVar">hash</span>. Note that <span class="RktVar">bad-index-v</span> argument is technically
not useful for the <span class="RktSym">unsafe-immutable-hash-iterate-</span><span class="RktMeta"></span> functions,
since an index cannot become invalid for an immutable <span class="RktVar">hash</span>.</p><p class="SHistory">Added in version 6.4.0.6 of package <span class="stt">base</span>.<br/>Changed in version 7.0.0.10: Added the optional <span class="RktVar">bad-index-v</span> argument.<br/>Changed in version 8.0.0.10: Added <span class="RktSym">ephemeron</span> variants.</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 valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-make-srcloc))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-make-srcloc%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-make-srcloc</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">source</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">line</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">column</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">position</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">span</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="exns.html#%28def._%28%28quote._~23~25kernel%29._srcloc~3f%29%29" class="RktValLink" data-pltdoc="x">srcloc?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">source</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">line</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-positive-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-positive-integer?</a></
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfl%2A%29%29" class="RktValLink" data-pltdoc="x">extfl*</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfl%2F%29%29" class="RktValLink" data-pltdoc="x">extfl/</a></span>, and <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflabs%29%29" class="RktValLink" data-pltdoc="x">extflabs</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._racket/unsafe/ops..rkt)._unsafe-extfl~3d))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extfl~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extfl=</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</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._racket/unsafe/ops..rkt)._unsafe-extfl~3c))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extfl~3c%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extfl&lt;</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</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="RBackgr
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfl~3e%29%29" class="RktValLink" data-pltdoc="x">extfl&gt;</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfl~3c~3d%29%29" class="RktValLink" data-pltdoc="x">extfl&lt;=</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfl~3e~3d%29%29" class="RktValLink" data-pltdoc="x">extfl&gt;=</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflmin%29%29" class="RktValLink" data-pltdoc="x">extflmin</a></span>, and
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflmax%29%29" class="RktValLink" data-pltdoc="x">extflmax</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._racket/unsafe/ops..rkt)._unsafe-extflround))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extflround%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extflround</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</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._racket/unsafe/ops..rkt)._unsafe-extflfloor))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extflfloor%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extflfloor</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</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._racket/unsafe/ops..rkt)._unsafe-extflceiling))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extflceiling%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extflceiling</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="Rkt
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflfloor%29%29" class="RktValLink" data-pltdoc="x">extflfloor</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflceiling%29%29" class="RktValLink" data-pltdoc="x">extflceiling</a></span>, and
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfltruncate%29%29" class="RktValLink" data-pltdoc="x">extfltruncate</a></span>. Currently, these bindings are simply aliases
for the corresponding safe bindings.</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._racket/unsafe/ops..rkt)._unsafe-extflsin))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extflsin%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extflsin</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</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._racket/unsafe/ops..rkt)._unsafe-extflcos))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extflcos%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extflcos</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</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._racket/unsafe/ops..rkt)._unsafe-extfltan))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extfltan%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extfltan</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><block
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflcos%29%29" class="RktValLink" data-pltdoc="x">extflcos</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfltan%29%29" class="RktValLink" data-pltdoc="x">extfltan</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflasin%29%29" class="RktValLink" data-pltdoc="x">extflasin</a></span>,
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflacos%29%29" class="RktValLink" data-pltdoc="x">extflacos</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflatan%29%29" class="RktValLink" data-pltdoc="x">extflatan</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfllog%29%29" class="RktValLink" data-pltdoc="x">extfllog</a></span>,
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflexp%29%29" class="RktValLink" data-pltdoc="x">extflexp</a></span>, <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflsqrt%29%29" class="RktValLink" data-pltdoc="x">extflsqrt</a></span>, and
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflexpt%29%29" class="RktValLink" data-pltdoc="x">extflexpt</a></span>. Currently, some of these bindings are simply
aliases for the corresponding safe bindings.</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._racket/unsafe/ops..rkt)._unsafe-fx-~3eextfl))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx-~3eextfl%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-fx-&gt;extfl</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</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._racket/unsafe/ops..rkt)._unsafe-extfl-~3efx))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extfl-~3efx%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-extfl-&gt;fx</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflonum~3f%29%29" class="RktValLink" data-pltdoc="x">extflonum?</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Unchecked (potentially) versions of <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._fx-~3eextfl%29%29" class="RktValLink" data-pltdoc="x">fx-&gt;extfl</a></span> and <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extfl-~3efx%29%29" class="RktValLink" data-pltdoc="x">extfl-&gt;fx</a></span>.</div></p><p class="SHistory">Changed in version 7.7.0.8 of package <span class="stt">base</span>: Changed <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fl-~3efx%29%29" class="RktValLink" data-pltdoc="x">unsafe-fl-&gt;fx</a></span> to truncate.</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._racket/unsafe/ops..rkt)._unsafe-extflvector-length))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-extflvector
<span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflvector-set%21%29%29" class="RktValLink" data-pltdoc="x">extflvector-set!</a></span>. A <a href="extflonums.html#%28tech._extflvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">extflvector</span></a>&rsquo;s size can never be larger than a
<a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a> (so even <span class="RktSym"><a href="extflonums.html#%28def._%28%28lib._racket%2Fextflonum..rkt%29._extflvector-length%29%29" class="RktValLink" data-pltdoc="x">extflvector-length</a></span> always returns a
fixnum).</div></p><h4 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;Unsafe_Impersonators_and_Chaperones&quot;">17.5<tt>&nbsp;</tt><a name="(part._.Unsafe_.Impersonators_and_.Chaperones)"></a>Unsafe Impersonators and Chaperones</h4><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 valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-impersonate-procedure))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">proc</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">replacement-proc</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">prop</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">prop-val</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="procedures.html#%28def._%28%28quote._~23~25kernel%29._procedure~3f%29%29" class="RktValLink" data-pltdoc="x">procedure?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator~3f%29%29" class="RktValLink" data-pltdoc="x">impersonator?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">proc</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="procedures.html#%28def._%28%28quote._~23~25kernel%29._procedure~3f%29%29" class="RktValLink" data-pltdoc="x">procedure?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">replacement-proc</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="procedures.html#%28def._%28%28quote._~23~25kernel%29._procedure~3f%29%29" class="RktValLink" data-pltdoc="x">procedure?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">prop</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator-property~3f%29%29" class="RktValLink" data-pltdoc="x">impersonator-property?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">prop-val</span><span class=
<span class="RktVar">replacement-proc</span> calls <span class="RktVar">proc</span> itself. When the result
of <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span> is applied to arguments, the
arguments are passed on to <span class="RktVar">replacement-proc</span> directly,
ignoring <span class="RktVar">proc</span>. At the same time, <span class="RktSym"><a href="chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator-of~3f%29%29" class="RktValLink" data-pltdoc="x">impersonator-of?</a></span>
reports <span class="RktVal">#t</span> when given the result of
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span> and <span class="RktVar">proc</span>.</div></p><p>If <span class="RktVar">proc</span> is itself an impersonator that is derived from
<span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%2A%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure*</a></span> or <span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._chaperone-procedure%2A%29%29" class="RktValLink" data-pltdoc="x">chaperone-procedure*</a></span>,
beware that <span class="RktVar">replacement-proc</span> will not be able to call it
correctly. Specifically, the impersonator produced by
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span> will not get passed to a
wrapper procedure that was supplied to
<span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%2A%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure*</a></span> or <span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._chaperone-procedure%2A%29%29" class="RktValLink" data-pltdoc="x">chaperone-procedure*</a></span> to
generate <span class="RktVar">proc</span>.</p><p>Finally, unlike <span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure</a></span>,
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span> does not specially handle
<span class="RktSym"><a href="chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator-prop~3aapplication-mark%29%29" class="RktValLink" data-pltdoc="x">impersonator-prop:application-mark</a></span> as a <span class="RktVar">prop</span>.</p><p>The unsafety of <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span> is limited to
the above differences from <span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure</a></span>. The
contracts on the arguments of <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span> are
checked when the arguments are supplied.</p><p><div class="SIntrapara">As an example, assuming that <span class="RktSym">f</span> accepts a single argument and
is not derived from <span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%2A%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure*</a></span> or
<span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._chaperone-procedure%2A%29%29" class="RktValLink" data-pltdoc="x">chaperone-procedure*</a></span>, then
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="RktStxLink" data-pltdoc="x">&#955;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktSym">f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="RktStxLink" data-pltdoc="x">&#955;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28quote._~23~25kernel%29._if%29%29" class="RktStxLink" data-pltdoc="x">if</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="exns.html#%28def._%28%28quote._~23~25kernel%29._error%29%29" class="RktValLink" data-pltdoc="x">error</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">no-numbers!</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">is equivalent to
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="RktStxLink" data-pltdoc="x">&#955;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktSym">f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="RktStxLink" data-pltdoc="x">&#955;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28quote._~23~25kernel%29._if%29%29" class="RktStxLink" data-pltdoc="x">if</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="exns.html#%28def._%28%28quote._~23~25kernel%29._error%29%29" class="RktValLink" data-pltdoc="x">error</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">no-numbers!</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div></p><p><div class="SIntrapara">Similarly, with the same assumptions about <span class="RktSym">f</span>, the following
two procedures <span class="RktVar">wrap-f1</span> and
<span class="RktVar">wrap-f2</span> are almost equivalent; they differ only
in the error message produced when their arguments are
functions that return multiple values (and that they update
different global variables). The version using <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-procedure</a></span>
will signal an error in the <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> expression about multiple
return values, whereas the one using <span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure</a></span> signals
an error from <span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure</a></span> about multiple return values.
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><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">log1-args</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><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">log1-results</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><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">wrap-f1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="RktStxLink" data-pltdoc="x">&#955;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">f</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="chaperones.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._impersonate-procedure%29%29" class="RktValLink" data-pltdoc="x">impersonate-procedure</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktSym">f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="RktStxLink" data-pltdoc="x">&#955;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">arg</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="set_.html#%28form._%28%28quote._~23~25kernel%29._set%21%29%29" class="RktStxLink" data-pltdoc="x">set!</a></span><span class="hspace">&nbsp;</span><span class="RktSym">log1-args</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._cons%29%29" class="RktValLink" data-pltdoc="x">cons</a></span><span class="hspace">&nbsp;</span><span class="RktSym">arg</span><span class="hspace">&nbsp;</span><span class="RktSym">log1-args</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="values.html#%28def._%28%28quote._~23~25kernel%29._values%29%29" class="RktValLink" data-pltdoc="x">values</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._~ce~bb%29%29" class="RktStxLink" data-pltdoc="x">&#955;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">res</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&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"><a href="set_.html#%28form._%28%28quote._~23~25kernel%29._set%21%29%29" class="RktStxLink" data-pltdoc="x">set!</a></span><span class="hspace">&nbsp;</span><span class="RktSym">log1
Since <span class="RktVar">wrapper-proc</span> will be called in lieu of <span class="RktVar">proc</span>,
<span class="RktVar">wrapper-proc</span> is assumed to return a chaperone of the value that
<span class="RktVar">proc</span> would return.</div></p><p class="SHistory">Added in version 6.4.0.4 of package <span class="stt">base</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-impersonate-vector))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-vector%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-impersonate-vector</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">vec</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">replacement-vec</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">prop</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">prop-val</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator~3f%29%29" class="RktValLink" data-pltdoc="x">impersonator?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">replacement-vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator~3f%29%29" class="RktVal
accesses to the impersonator are dispatched to <span class="RktVar">replacement-vec</span>.</div></p><p>The result of <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-impersonate-vector%29%29" class="RktValLink" data-pltdoc="x">unsafe-impersonate-vector</a></span> is an impersonator of <span class="RktVar">vec</span>.</p><p><div class="SIntrapara"><p class="SHistory">Added in version 6.9.0.2 of package <span class="stt">base</span>.</p></div><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 valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-chaperone-vector))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-chaperone-vector%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-chaperone-vector</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">vec</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">replacement-vec</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">prop</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">prop-val</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="chaperones.html#%28def._%28%28quote._~23~25kernel%29._chaperone~3f%29%29" class="RktValLink" data-pltdoc="x">chaperone?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">replacement-vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector~3f%29%29" class="RktValLink" data-pltdoc="x">vector?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span cl
chaperone of <span class="RktVar">vec</span>.</div></p><p class="SHistory">Added in version 6.9.0.2 of package <span class="stt">base</span>.</p><h4 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;unsafeassert&quot;">17.6<tt>&nbsp;</tt><a name="(part._unsafeassert)"></a>Unsafe Assertions</h4><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/ops..rkt)._unsafe-assert-unreachable))"></a><span title="Provided from: racket/unsafe/ops | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-assert-unreachable%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-assert-unreachable</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._none%2Fc%29%29" class="RktValLink" data-pltdoc="x">none/c</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="unreachable.html#%28def._%28%28quote._~23~25kernel%29._assert-unreachable%29%29" class="RktValLink" data-pltdoc="x">assert-unreachable</a></span>, but the contract of
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-assert-unreachable%29%29" class="RktValLink" data-pltdoc="x">unsafe-assert-unreachable</a></span> is never satisfied, and the
&ldquo;unsafe&rdquo; implication is that anything at all can happen if a call to
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-assert-unreachable%29%29" class="RktValLink" data-pltdoc="x">unsafe-assert-unreachable</a></span> is reached.</div></p><p>The compiler may take advantage of its liberty to pick convenient or
efficient behavior in place of a call to
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-assert-unreachable%29%29" class="RktValLink" data-pltdoc="x">unsafe-assert-unreachable</a></span>. For example, the expression</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><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">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28quote._~23~25kernel%29._if%29%29" class="RktStxLink" data-pltdoc="x">if</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._pair~3f%29%29" class="RktValLink" data-pltdoc="x">pair?</a></span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._car%29%29" class="RktValLink" data-pltdoc="x">car</a></span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-assert-unreachable%29%29" class="RktValLink" data-pltdoc="x">unsafe-assert-unreachable</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote><p>may be compiled to code equivalent to</p><blockquote class="SCodeFlow"><p><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">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-car%29%29" class="RktValLink" data-pltdoc="x">unsafe-car</a></span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span></p></blockquote><p>because choosing to make <span class="RktPn">(</span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-assert-unreachable%29%29" class="RktValLink" data-pltdoc="x">unsafe-assert-unreachable</a></span><span class="RktPn">)</span> behave
the same as <span class="RktPn">(</span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-car%29%29" class="RktValLink" data-pltdoc="x">unsafe-car</a></span><span class="stt"> </span><span class="RktSym">x</span><span class="RktPn">)</span> makes both branches of the
<span class="RktSym"><a href="if.html#%28form._%28%28quote._~23~25kernel%29._if%29%29" class="RktStxLink" data-pltdoc="x">if</a></span> the same, and then <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._pair~3f%29%29" class="RktValLink" data-pltdoc="x">pair?</a></span> test can be eliminated.</p><p class="SHistory">Added in version 8.0.0.11 of package <span class="stt">base</span>.</p><h4 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;unsafe-undefined&quot;">17.7<tt>&nbsp;</tt><a name="(part._unsafe-undefined)"></a><a name="(mod-path._racket/unsafe/undefined)"></a>Unsafe Undefined</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="unsafe.html#%28mod-path._racket%2Funsafe%2Fundefined%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/unsafe/undefined</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller">&nbsp;package:</span> <a href="https://pkgs.racket-lang.org/package/base" title="Install this package using `raco pkg install base`"><span class="stt">base</span></a></span></td></tr></table></div><div class="SIntrapara">The bindings documented in this section are provided by the <a href="unsafe.html#%28mod-path._racket%2Funsafe%2Fundefined%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/unsafe/undefined</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>The constant <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span> is used internally as a
placeholder value. For example, it is used by <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> as a
value for a variable that has not yet been assigned a value. Unlike
the <span class="RktSym">undefined</span> value exported by <a href="undefined.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/undefined</span></a>,
however, the <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span> value should not leak as the
result of a safe expression, and it should not be passed as an optional
argument to a procedure (because it may count as &ldquo;no value provided&rdquo;).
Expression results that potentially
produce <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span> can be guarded by
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._check-not-unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">check-not-unsafe-undefined</a></span>, so that an exception can be
raised instead of producing an <span class="RktSym">undefined</span> value.</p><p>The <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span> value is always <span class="RktSym"><a href="Equality.html#%28def._%28%28quote._~23~25kernel%29._eq~3f%29%29" class="RktValLink" data-pltdoc="x">eq?</a></span> to itself.</p><p class="SHistory">Added in version 6.0.1.2 of package <span class="stt">base</span>.<br/>Changed in version 6.90.0.29: Procedures with optional arguments
sometimes use the <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>
value internally to mean &ldquo;no argument supplied.&rdquo;</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>value</p></div></div><p class="RForeground"><a name="(def._((lib._racket/unsafe/undefined..rkt)._unsafe-undefined))"></a><span title="Provided from: racket/unsafe/undefined | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValDef RktValLink" data-pltdoc="x">unsafe-undefined</a></span></span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">The unsafe &ldquo;undefined&rdquo; constant.</div></p><p>See above for important constraints on the use of <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/undefined..rkt)._check-not-unsafe-undefined))"></a><span title="Provided from: racket/unsafe/undefined | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._check-not-unsafe-undefined%29%29" class="RktValDef RktValLink" data-pltdoc="x">check-not-unsafe-undefined</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">sym</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._one-of%2Fc%29%29" class="RktValLink" data-pltdoc="x">one-of/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></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="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">sym</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3avariable%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:variable</a></span> in that case with an error message
along the lines of &ldquo;<span class="RktVar">sym</span>: undefined; use before
initialization.&rdquo; If <span class="RktVar">v</span> is not <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>,
then <span class="RktVar">v</span> 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._racket/unsafe/undefined..rkt)._check-not-unsafe-undefined/assign))"></a><span title="Provided from: racket/unsafe/undefined | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._check-not-unsafe-undefined%2Fassign%29%29" class="RktValDef RktValLink" data-pltdoc="x">check-not-unsafe-undefined/assign</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span><span class="RktVar">sym</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._one-of%2Fc%29%29" class="RktValLink" data-pltdoc="x">one-of/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></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="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">sym</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol~3f%29%29" class="RktValLink" data-pltdoc="x">symbol?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">The same as <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._check-not-unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">check-not-unsafe-undefined</a></span>, except that the error
message (if any) is along the lines of &ldquo;<span class="RktVar">sym</span>: undefined;
assignment before initialization.&rdquo;</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/unsafe/undefined..rkt)._chaperone-struct-unsafe-undefined))"></a><span title="Provided from: racket/unsafe/undefined | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._chaperone-struct-unsafe-undefined%29%29" class="RktValDef RktValLink" data-pltdoc="x">chaperone-struct-unsafe-undefined</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Chaperones <span class="RktVar">v</span> if it is a structure (as viewed through some
<a href="inspectors.html#%28tech._inspector%29" class="techoutside" data-pltdoc="x"><span class="techinside">inspector</span></a>). Every access of a field in the structure is checked
to prevent returning <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>. Similarly, every
assignment to a field in the structure is checked (unless the check
disabled as described below) to prevent assignment of a field whose
current value is <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>.</div></p><p>When a field access would otherwise produce <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>
or when a field assignment would replace <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>, the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</p><p>The chaperone&rsquo;s field-assignment check is disabled whenever
<span class="RktPn">(</span><span class="RktSym"><a href="contmarks.html#%28def._%28%28quote._~23~25kernel%29._continuation-mark-set-first%29%29" class="RktValLink" data-pltdoc="x">continuation-mark-set-first</a></span><span class="stt"> </span><span class="RktVal">#f</span><span class="stt"> </span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._prop~3achaperone-unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">prop:chaperone-unsafe-undefined</a></span><span class="RktPn">)</span> returns <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>.
Thus, a field-initializing assignment&#8212;<wbr></wbr>one that is intended to replace the
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span> value of a field&#8212;<wbr></wbr>should be wrapped with
<span class="RktPn">(</span><span class="RktSym"><a href="wcm.html#%28form._%28%28quote._~23~25kernel%29._with-continuation-mark%29%29" class="RktStxLink" data-pltdoc="x">with-continuation-mark</a></span><span class="stt"> </span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._prop~3achaperone-unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">prop:chaperone-unsafe-undefined</a></span><span class="stt"> </span><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span><span class="stt"> </span><span class="RktSym">....</span><span class="RktPn">)</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>value</p></div></div><p class="RForeground"><a name="(def._((lib._racket/unsafe/undefined..rkt)._prop~3achaperone-unsafe-undefined))"></a><span title="Provided from: racket/unsafe/undefined | Package: base"><span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._prop~3achaperone-unsafe-undefined%29%29" class="RktValDef RktValLink" data-pltdoc="x">prop:chaperone-unsafe-undefined</a></span></span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="structprops.html#%28def._%28%28quote._~23~25kernel%29._struct-type-property~3f%29%29" class="RktValLink" data-pltdoc="x">struct-type-property?</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">A <a href="structprops.html#%28tech._structure._type._property%29" class="techoutside" data-pltdoc="x"><span class="techinside">structure type property</span></a> that causes a structure type&rsquo;s
constructor to produce a <a href="chaperones.html#%28tech._chaperone%29" class="techoutside" data-pltdoc="x"><span class="techinside">chaperone</span></a> of an instance
in the same way as <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._chaperone-struct-unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">chaperone-struct-unsafe-undefined</a></span>.</div></p><p>The property value should be a list of symbols used as field names,
but the list should be in reverse order of the structure&rsquo;s fields.
When a field access or assignment would produce or replace
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fundefined..rkt%29._unsafe-undefined%29%29" class="RktValLink" data-pltdoc="x">unsafe-undefined</a></span>, the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3avariable%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:variable</a></span>
exception is raised if a field name is provided by the structure
property&rsquo;s value, otherwise the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception
is raised.</p><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" id="searchbox" type="text" tabindex="1" placeholder="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;8.6&quot;, &quot;../&quot;);"/></form>&nbsp;&nbsp;<a href="https://docs.racket-lang.org/index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;8.6&quot;);">top</a><span class="tocsettoggle">&nbsp;&nbsp;<a href="javascript:void(0);" title="show/hide table of contents" onclick="TocsetToggle();">contents</a></span></span><span class="navright">&nbsp;&nbsp;<a href="phantom-bytes.html" title="backward to &quot;16.5 Phantom Byte Strings&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="index.html" title="up to &quot;The Racket Reference&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="running.html" title="forward to &quot;18 Running Racket&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>