shrink-vectorGBBopen Toolssplitting-butlastsole-elementGoTo Top

sole-element   list => element or nil[Function]

Return the first element of a list containing, at most, one element.

Package   :gbbopen-tools

Module   :gbbopen-tools

Arguments and values

list     A proper list
element     An object

The sole element of list or nil.

List contains more than one element.

If list is a cons, sole-element returns the car of that cons. If list is nil, sole-element returns nil. If list is a cons and the cdr of that cons is not nil, a continuable error is signaled. If you continue from the error, the first element is returned.

This function is preferable to car when you expect a list of, at most, one element. For example, this function is often used on the results of calling find-instances or filter-instances when only a single unit instance is expected in the result list.


  > (sole-element '(a))
  > (sole-element nil)
  > (sole-element '(a b))
  Error: The list (a b) contains more than 1 element.
         If continued - Ignore the remaining elements.

This function is compiled in-line for top performance.

The GBBopen Project

shrink-vectorGBBopen Toolssplitting-butlastsole-elementGoTo Top