/ docs / html /
/docs/html/nthcdr-template-class.html
  1 <html>
  2  <head>
  3      <title>CL Unification: Class NTHCDR-TEMPLATE</title>
  4      <link rel="stylesheet" href="main.css">
  5  </head>
  6 	
  7  <body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" bgcolor="#ffffff">
  8 
  9  <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" vspace="0" hspace="0">
 10   <tr>
 11   <td colspan="3">
 12    <div class="header"
 13         style="font-family:=Verdana,Arial,Helvetica; font-size: 18px; color: #41286f;">
 14     <strong><i>CL Unification: Class NTHCDR-TEMPLATE</title></i></strong>
 15     <div class="navigation">
 16      <a href="index.html" class="navigation-link">Home</a>
 17       | <a href="unification-package.html" class="navigation-link">Previous</a>
 18       | <a href="index.html" class="navigation-link">Next</a>
 19       | <a href="downloads.html" class="navigation-link">Downloads</a>
 20       |  <a href="links.html" class="navigation-link">Links</a>
 21     </div>
 22    </div>
 23    <div class="black-line"><img src="images/shim.gif" height="1" width="1"></div>
 24    <div class="middle-bar"><img src="images/shim.gif" height="5" width="1"></div>
 25    <div class="black-line"><img src="images/shim.gif" height="1" width="1"></div>
 26   </td>
 27  </tr>
 28 
 29  <tr height="100%">
 30   <td height="100%">&nbsp;</td>
 31   <td valign="top" width="80%" height="100%">
 32 
 33   <div class="content">
 34   <div class="text" style="padding-top: 10px;">
 35 	
 36   <h1><i>Class</i> <strong>NTHCDR-TEMPLATE</strong></h1>
 37 
 38   <h2>Package:</h2>
 39 
 40   <p><code>COMMON-LISP.EXTENSIONS.DATA-AND-CONTROL-FLOW.UNIFICATION</code></p>
 41 
 42 
 43   <h2>Class Precedence List:</h2>
 44 
 45   <p>
 46   NTHCDR-TEMPLATE, ELEMENT-TEMPLATE, EXPRESSION-TEMPLATE, TEMPLATE, STANDARD-OBJECT, T.
 47   </p>
 48 
 49   <h2>Known Subclasses:</h2>
 50 
 51   <p>
 52   None.
 53   </p>
 54 
 55 
 56   <h2>Slots:</h2>
 57 
 58   <p>None.</p>
 59 
 60 
 61   <h2>Description:</h2>
 62 
 63   <p>The NTHCDR-TEMPLATE class denotes those object  that are used
 64   to unify against a particular CONS of a LIST.</p>
 65 
 66   <h3>Template Syntax:</h3>
 67 
 68   <p>
 69   <pre>
 70   #T(<b>nthcdr</b> <i>index</i> <i>item</i>)
 71   </pre>
 72   </p>
 73 
 74   <p>The NTHCDR-TEMPLATE syntax denotes the CONS <i>item</i> at <i>index</i>
 75   a LIST.  A NTHCDR-TEMPLATE must
 76   be unified against a LIST object.  <i>item</i> is <em>unified</em>
 77   against the element extracted from the LIST object at
 78   <i>index</i> by the standard function NTHCDR.</p>
 79 
 80 
 81   <h2>Examples:</h2>
 82 
 83   <p>
 84   <pre>
 85   cl-prompt> (setf e (unify '(0 1 42 3 4 5) #T(<b>nthcdr</b> 2 ?x)))
 86   #&lt;ENVIRONMENT xxx&gt;
 87   
 88   cl-prompt> (find-variable-value '?x e)
 89   (42 3 4 5)
 90 
 91   cl-prompt> (setq e (unify '(0 1 42 3 4 5) #T(<b>nthcdr</b> 42 ?x)))
 92   --> Error: index 42 out of bounds.  <STRONG>FIX THIS</STRONG>
 93 
 94 
 95   cl-prompt> (setq e (unify #(a s d) #T(<b>nthcdr</b> 1 ?x)))
 96   --> Error: UNIFICATION-FAILURE
 97   </pre>
 98   </p>
 99 
100 
101   <h2>Affected By:</h2>
102 
103   <p>None.</p>
104 
105 
106   <h2>Exceptional Situations:</h2>
107 
108   <p>Unifying an NTHCDR-TEMPLATE against a non-LIST object results in
109   an UNIFICATION-FAILURE error being signaled.</p>
110 
111 
112   <h2>See Also:</h2>
113 
114   <p>UNIFY</p>
115 
116   <h2>Notes:</h2>
117 
118   <p>None.</p>
119 
120  </td>
121  
122  <!--  <td height="100%">&nbsp;</td> -->
123  </tr>
124 
125  <tr height="100%">
126   <td height="100%">&nbsp;</td>
127   <td valign="top" width="80%" height="100%">
128 
129   <div class="content">
130   <div class="text" style="padding-top: 10px;">
131 
132   <h1>News</h1>
133 
134   <p>News in chronological order, most recent on top.
135   </p>
136 
137   <ul>
138   <li><strong>2004-06-11</strong><br>
139       Completed description.
140   </li>
141 
142   </ul>
143 
144   </div>
145   </div>
146 						
147  </td>
148  
149  <td height="100%">&nbsp;</td>
150  </tr>
151 
152 
153 
154  
155  <tr>
156   <td colspan="3" valign="bottom" align="right">
157   <div class="copyright">
158   &copy; 2003-2004, Marco Antoniotti, all rights reserved.
159   </div>
160   </td>
161  </tr>
162  
163  </table>
164  </body>
165 </html>
166 
167 <!-- end of file -- expression-template-class.html -->