emacs.d/clones/www.sbcl.org/sbcl-internals/Slot_002dValue.html
2023-01-18 20:30:47 +01:00

73 lines
3.4 KiB
HTML

<html lang="en">
<head>
<title>Slot-Value - SBCL Internals</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="SBCL Internals">
<meta name="generator" content="makeinfo 4.11">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Signal-handling.html#Signal-handling" title="Signal handling">
<link rel="next" href="Specials.html#Specials" title="Specials">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This manual is part of the SBCL software system. See the `README'
file for more information.
This manual is in the public domain and is provided with
absolutely no warranty. See the `COPYING' and `CREDITS' files for
more information.
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<p>
<a name="Slot-Value"></a>
<a name="Slot_002dValue"></a>
Next:&nbsp;<a rel="next" accesskey="n" href="Specials.html#Specials">Specials</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Signal-handling.html#Signal-handling">Signal handling</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>
<!-- node-name, next, previous, up -->
<h2 class="chapter">7 Slot-Value</h2>
<p><a name="index-slot_002dvalue-4"></a><a name="index-g_t_0028setf-slot_002dvalue_0029-5"></a><a name="index-slot_002dboundp-6"></a><a name="index-slot_002dmakunbound-7"></a><a name="index-slot_002dvalue_002dusing_002dclass-8"></a><a name="index-g_t_0028setf-slot_002dvalue_002dusing_002dclass_0029-9"></a><a name="index-slot_002dboundp_002dusing_002dclass-10"></a><a name="index-slot_002dmakunbound_002dusing_002dclass-11"></a>
<ul class="menu">
<li><a accesskey="1" href="Basic-Implementation.html#Basic-Implementation">Basic Implementation</a>
<li><a accesskey="2" href="Compiler-Transformations.html#Compiler-Transformations">Compiler Transformations</a>
<li><a accesskey="3" href="MOP-Optimizations.html#MOP-Optimizations">MOP Optimizations</a>
</ul>
<p>The ANSI Common Lisp standard specifies <code>slot-value</code>, <code>(setf
slot-value)</code>, <code>slot-boundp</code> and <code>slot-makunbound</code> for
standard-objects, and furthermore suggests that these be implemented in
terms of Metaobject generic functions <code>slot-value-using-class</code>,
<code>(setf slot-value-using-class)</code>, <code>slot-boundp-using-class</code> and
<code>slot-makunbound-using-class</code>. To make performance of these
operators tolerable, a number of optimizations are performed, at both
compile-time and run-time<a rel="footnote" href="Slot_002dValue.html#fn-1" name="fnd-1"><sup>1</sup></a>.
<div class="footnote">
<hr>
<h4>Footnotes</h4><p class="footnote"><small>[<a name="fn-1" href="Slot_002dValue.html#fnd-1">1</a>]</small> Note that ,at present,
<code>slot-makunbound</code> and <code>slot-makunbound-using-class</code> are not
optimized in any of the ways mentioned below.</p>
<hr></div>
</body></html>