Skip to main content

10.2 Kinds of Forms

A Lisp object that is intended to be evaluated is called a form (or an expression). 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.

• Self-Evaluating Forms  Forms that evaluate to themselves.
• Symbol Forms  Symbols evaluate as variables.
• Classifying Lists  How to distinguish various sorts of list forms.
• Function Indirection  When a symbol appears as the car of a list, we find the real function via the symbol.
• Function Forms  Forms that call functions.
• Macro Forms  Forms that call macros.
• Special Forms  Special forms are idiosyncratic primitives, most of them extremely important.
• Autoloading  Functions set up to load files containing their real definitions.