emacs.d/clones/lisp/www.cs.cmu.edu/Groups/AI/html/cltl/clm/node41.html

45 lines
2.3 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 0.6.5 (Tue Nov 15 1994) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE>2.14. Unreadable Data Objects</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Unreadable Data Objects">
<meta name="keywords" value="clm">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
<b>Common Lisp the Language, 2nd Edition</b>
<BR> <HR><A NAME=tex2html2011 HREF="node42.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html2009 HREF="node15.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html2003 HREF="node40.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html2013 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html2014 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html2012 HREF="node42.html"> OverlapInclusion, and </A>
<B>Up:</B> <A NAME=tex2html2010 HREF="node15.html"> Data Types</A>
<B> Previous:</B> <A NAME=tex2html2004 HREF="node40.html"> Functions</A>
<HR> <P>
<H1><A NAME=SECTION006140000000000000000>2.14. Unreadable Data Objects</A></H1>
<P>
Some objects may print in implementation-dependent ways.
Such objects cannot necessarily be reliably reconstructed from
a printed representation, and so they are usually printed in
a format informative to the user but not acceptable to the <tt>read</tt> function:
<tt>#&lt;<i>useful information</i>&gt;</tt>.
The Lisp reader will signal an error on encountering <tt>#&lt;</tt>.
<P>
As a hypothetical example, an implementation might print
<P><pre>
#&lt;stack-pointer si:rename-within-new-definition-maybe #o311037552&gt;
</pre><P>
for an implementation-specific ``internal stack pointer'' data type
whose printed representation includes the name of the type,
some information about the stack slot pointed to, and the machine address
(in octal) of the stack slot.
<P>
<img align=bottom alt="change_begin" src="gif/change_begin.gif"><br>
See <tt>print-unreadable-object</tt>, a macro that prints an object using <tt>#&lt;</tt>
syntax.
<br><img align=bottom alt="change_end" src="gif/change_end.gif">
<P>
<HR>
<P><ADDRESS>
AI.Repository@cs.cmu.edu
</ADDRESS>
</BODY>