Next: , Previous: Built-in Objects, Up: Objects


2.1.6 Boxed-Object Hierarchy

=BOXED-OBJECT=
The ancestor of all boxed objects, it has =T= as its only parent, and many children. Each newly-boxed object traces its lineage up through this object.


=SYMBOL=
The boxed object representing native Lisp symbols, this object has =BOXED-OBJECT= as its only parent. Each newly-boxed symbol has this object as a parent.


=SEQUENCE=
The boxed object representing sequences, this object's job is primarily to be a parent for the boxed objects representing actual sequence types, and it has =BOXED-OBJECT= as its only parent.


=ARRAY=
The boxed object representing arrays of all dimensions, with =BOXED-OBJECT= as its only parent.


=NUMBER=
The boxed object representing all numerical types, similar to the native type NUMBER. This object has =BOXED-OBJECT= as its only parent.


=CHARACTER=
The boxed object representing characters and glyphs, and has =BOXED-OBJECT= as its only parent.


=FUNCTION=
The boxed object representing functions, and has no children, and =BOXED-OBJECT= as its only parent.


=HASH-TABLE=
The boxed object representing hash tables, large mappings of key–value pairs used in Common Lisp as a replacement for large alists. It has =BOXED-OBJECT= as its only parent.


=PACKAGE=
The boxed object representing Common Lisp packages. This object has only one parent – =BOXED-OBJECT=.


=PATHNAME=
The boxed object representing pathnames. It has =BOXED-OBJECT= as its only parent.


=READTABLE=
The boxed object representing tables of readmacros. While it is rare to deal with these programmatically, Sheeple still allows you to do so. This object has =BOXED-OBJECT= as its only parent.


=STREAM=
The boxed object representing any one of the many stream classes. This object has =BOXED-OBJECT= as its only parent.


=LIST=
The boxed object representing Lisp's classic data structure, the linked list, this object has =SEQUENCE= as its only parent.


=NULL=
The boxed object representing The boxed object representing the native Lisp type NULL, this object has =SYMBOL= and =LIST= as its two parents. The only native Lisp object which should box to this is the empty list itself.


=CONS=
The boxed object representing Lisp's key low-level data type, and has =LIST= as its only parent.


=VECTOR=
The boxed object representing the workhorse of efficient Common Lisp code – one-dimensional arrays, known as vectors. This object has both =ARRAY= and =SEQUENCE= as parents.


=BIT-VECTOR=
The boxed object representing bit vectors, a common subtype of vectors. This object has =VECTOR= as its only parent.


=STRING=
The boxed object representing strings of characters, also a very common data type in Common Lisp. It has =VECTOR= as its only parent.


=COMPLEX=
The boxed object representing complex numbers, one of the three main divisions of numeric types in Common Lisp. It has =NUMBER= as its only parent.


=INTEGER=
The boxed object representing integers, both fixnums and bignums. It has =NUMBER= as its only parent.


=FLOAT=
The boxed object representing floating-point numbers of all kinds, and it has =NUMBER= as its only parent.