summaryrefslogtreecommitdiff
path: root/devdocs/elisp/forms.html
blob: c665280b81b75f3580990af99c544118ca408b3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 <h3 class="section">Kinds of Forms</h3> <p>A Lisp object that is intended to be evaluated is called a <em>form</em> (or an <em>expression</em>). How Emacs evaluates a form depends on its data type. Emacs has three different kinds of form that are evaluated differently: symbols, lists, and all other types. This section describes all three kinds, one by one, starting with the other types, which are self-evaluating forms. </p> <table class="menu" border="0" cellspacing="0"> <tr>
<td align="left" valign="top">• <a href="self_002devaluating-forms" accesskey="1">Self-Evaluating Forms</a>
</td>
<td> </td>
<td align="left" valign="top">Forms that evaluate to themselves. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="symbol-forms" accesskey="2">Symbol Forms</a>
</td>
<td> </td>
<td align="left" valign="top">Symbols evaluate as variables. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="classifying-lists" accesskey="3">Classifying Lists</a>
</td>
<td> </td>
<td align="left" valign="top">How to distinguish various sorts of list forms. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="function-indirection" accesskey="4">Function Indirection</a>
</td>
<td> </td>
<td align="left" valign="top">When a symbol appears as the car of a list, we find the real function via the symbol. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="function-forms" accesskey="5">Function Forms</a>
</td>
<td> </td>
<td align="left" valign="top">Forms that call functions. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="macro-forms" accesskey="6">Macro Forms</a>
</td>
<td> </td>
<td align="left" valign="top">Forms that call macros. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="special-forms" accesskey="7">Special Forms</a>
</td>
<td> </td>
<td align="left" valign="top">Special forms are idiosyncratic primitives, most of them extremely important. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="autoloading" accesskey="8">Autoloading</a>
</td>
<td> </td>
<td align="left" valign="top">Functions set up to load files containing their real definitions. </td>
</tr> </table><div class="_attribution">
  <p class="_attribution-p">
    Copyright &copy; 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br>
    <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Forms.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Forms.html</a>
  </p>
</div>