CL Unification: Class NIL-TEMPLATE
 

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.