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

60 lines
3.9 KiB
HTML
Raw Normal View History

2022-08-26 19:11:35 +02:00
<!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>29.3.14. Condition Types</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Condition Types">
<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=tex2html5803 HREF="node330.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html5801 HREF="node315.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html5795 HREF="node328.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html5805 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html5806 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html5804 HREF="node330.html"> Signaling Conditions</A>
<B>Up:</B> <A NAME=tex2html5802 HREF="node315.html"> Survey of Concepts</A>
<B> Previous:</B> <A NAME=tex2html5796 HREF="node328.html"> Non-Serious Conditions</A>
<HR> <P>
<H2><A NAME=SECTION0033314000000000000000>29.3.14. Condition Types</A></H2>
<P>
<img align=bottom alt="change_begin" src="gif/change_begin.gif"><br>
Some types of conditions are predefined by the system. All types of conditions
are subtypes of <tt>condition</tt>. That is, <tt>(typep <i>x</i> 'condition)</tt> is true if
and only if the value of <i>x</i> is a condition.
<P>
Implementations supporting multiple (or non-hierarchical) type inheritance
are expressly permitted to exploit multiple inheritance in the tree of
condition types as implementation-dependent extensions, as long as such
extensions are compatible with the specifications in this chapter.
[X3J13 voted in March 1989 (ZLOS-CONDITIONS) <A NAME=36600>&#160;</A>
to integrate the Condition System and the Object System,
so multiple inheritance is always available for condition types.-GLS]
<P>
In order to avoid problems in portable code that runs both in systems with
multiple type inheritance and in systems without it, programmers are explicitly
warned that while all correct Common Lisp implementations will ensure that
<tt>(typep <i>c</i> 'condition)</tt>
is true for all conditions <i>c</i> (and all subtype relationships indicated in this
chapter will also be true), it should <i>not</i> be assumed that two condition
types specified to be subtypes of the same third type are disjoint.
(In some cases,
disjoint subtypes are identified explicitly, but such disjointness is not to be assumed by
default.) For example, it follows from the subtype descriptions contained in
this chapter that in all implementations
<tt>(typep <i>c</i> 'control-error)</tt> implies <tt>(typep <i>c</i> 'error)</tt>,
but note that
<tt>(typep <i>c</i> 'control-error)</tt> does <i>not</i>
imply <tt>(not (typep <i>c</i> 'cell-error))</tt>.
<br><img align=bottom alt="change_end" src="gif/change_end.gif">
<P>
<BR> <HR><A NAME=tex2html5803 HREF="node330.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html5801 HREF="node315.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html5795 HREF="node328.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html5805 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html5806 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html5804 HREF="node330.html"> Signaling Conditions</A>
<B>Up:</B> <A NAME=tex2html5802 HREF="node315.html"> Survey of Concepts</A>
<B> Previous:</B> <A NAME=tex2html5796 HREF="node328.html"> Non-Serious Conditions</A>
<HR> <P>
<HR>
<P><ADDRESS>
AI.Repository@cs.cmu.edu
</ADDRESS>
</BODY>