summaryrefslogtreecommitdiff
path: root/devdocs/elisp/forms.html
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
committerCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
commit754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch)
treef1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/elisp/forms.html
new repository
Diffstat (limited to 'devdocs/elisp/forms.html')
-rw-r--r--devdocs/elisp/forms.html46
1 files changed, 46 insertions, 0 deletions
diff --git a/devdocs/elisp/forms.html b/devdocs/elisp/forms.html
new file mode 100644
index 00000000..c665280b
--- /dev/null
+++ b/devdocs/elisp/forms.html
@@ -0,0 +1,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>