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.