Certain AutoLISP functions are considered special forms because they evaluate arguments in a different manner than most AutoLISP function calls. A typical function evaluates all arguments passed to it before acting on those arguments. Special forms either do not evaluate all their arguments, or only evaluate some arguments under certain conditions.
The following AutoLISP functions are considered special forms:
- AND
- COMMAND
- COND
- DEFUN
- DEFUN-Q
- FOREACH
- FUNCTION
- IF
- LAMBDA
- OR
- PROGN
- QUOTE
- REPEAT
- SETQ
- TRACE
- UNTRACE
- VLAX-FOR
- WHILE
You can read about each of these functions in the AutoLISP Reference.