Next: , Previous: , Up: List Forms   [Contents][Index]


5.7.2.3 Special Forms

Special forms are built-in subroutines which the evaluator knows must be handled specially. The main difference between a special form and a function is that the arguments applied to a special form are not automatically evaluated—if necessary the special form will evaluate arguments itself. This will be noted in the documentation of the special form.

Special forms are generally used to provide control structures, for example, the primitive conditional constructs are special forms (if all of their arguments, including the forms to be conditionally evaluated, were evaluated automatically this would defeat the object of being conditional!).

The special forms supported by Librep are: cond, defvar, progn, quote, setq.

Function: special-form-p arg

Returns true if arg is a special form.

(special-form-p quote)
    ⇒ t