Lispオブジェクトのタイプは階層によって組織化されており、これはタイプが他のタイプを継承できることを意味しています。(タイプAから派生した)タイプBのオブジェクトは、タイプAのすべての特徴を継承します。これはタイプBのオブジェクトはすべて、同時にその派生元であるタイプAのオブジェクトであることも意味しています。
すべてのタイプはタイプt
を継承します。
defclass
やcl-defstruct
を通じて、新たなタイプをユーザーが定義できます。
プリミティブタイプにたいするLispタイプ階層は、以下のように表すことができます:
たとえばタイプlist
は、それ自体がt
を継承する(特殊な)タイプsequence
を継承しています。