Class NIL-TEMPLATE
Package:
COMMON-LISP.EXTENSIONS.DATA-AND-CONTROL-FLOW.UNIFICATION
Class Precedence List:
NIL-TEMPLATE, TYPE-TEMPLATE, TEMPLATE, STANDARD-OBJECT, T.
Known Subclasses:
None.
Slots:
None.
Description:
The NIL-TEMPLATE class denotes those object that are used to unify against NIL.
Template Syntax:
#Tnil
#T()
The NIL-TEMPLATE syntax denotes NIL. NIL-TEMPLATE can only unified against NIL.
The NIL-TEMPLATE is used for symmetry reasons, given that the template hierarchy (almost) mirrors the regular CL type hierarchy.
Examples:
cl-prompt> (setf e (unify nil #Tnil)) #<ENVIRONMENT xxx> cl-prompt> (setq e (unify 42 #T())) --> Error: UNIFICATION-FAILURE
Affected By:
None.
Exceptional Situations:
Unifying an NIL-TEMPLATE against a non-NIL object results in an UNIFICATION-FAILURE error being signaled.
See Also:
UNIFY
Notes:
None.