Elisp: Special Form

By Xah Lee. Date: . Last updated: .

Standard Evaluation Strategy

Normally, arguments passed to a function are evaluated, in order. In elisp, this is called standard evaluation strategy.

Non-Standard Evaluation Strategy

However, for some function, evaluating arguments in order does not make sense. For example, conditional construct if, or local variable construct let. These functions, are said to have non-standard evaluation strategy.

Macro and Special Form

Of functions that are non-standard evaluation, they are either macro or special form.

Example of Special Forms

  1. and
  2. or
  3. catch
  4. if
  5. while
  6. cond
  7. condition-case
  8. defconst
  9. defvar
  10. let
  11. let*
  12. prog1
  13. prog2
  14. progn
  15. setq
  16. setq-default
  17. interactive
  18. lambda
  19. quote
  20. function
  21. save-current-buffer
  22. save-excursion
  23. save-restriction
  24. track-mouse
  25. unwind-protect

Elisp, symbol