Lisp tagsType tags embedded in pointers used in Common Lisp implementations. Note: this is not yet verified to be completely correct. |
|
Allegro CL (32-bit) ...xx fixnum (64-bit) ...xxx fixnum Armed Bear Lisp No type information in pointers. CMUCL ...00 fixnum ..001 function ...10 other immediate ..011 list ..101 structure pointer ..111 other pointer Corman Lisp ......000 fixnum ......001 immediate .00000001 character ......010 forwarding tag .......11 short float ......100 cons ......101 uvector pointer ......110 uvector header CLISP (varies) ...xxxxxxx type code ECL ...00 pointer ...01 fixnum ...10 character GCL No type information in pointers. Liquid CL ...00010110 character |
Lisp500 (not a full CL implementation) 00..00000 nil ....10000 fixnum ....11000 character .......01 cons .......10 arrays etc .......11 strings etc "Arrays etc" include symbol, simple-vector, array, package, function, and instance. "Strings etc" include simple-string, double, simple-bit-vector, and file-stream. LispWorks Unknown. MCL Same as OpenMCL? Movitz ...00 fixnum ..001 cons ..010 character ..101 nil ..110 other pointer ..111 symbol MusCL ...00 immediate ..000 fixnum .0100 character ...01 cons ...10 record ...11 callable OpenMCL ...00 fixnum ..001 cons ..010 gvector header ..011 immediate ..101 nil ..110 pointer to uvector ..111 ivector header SBCL ...00 fixnum ..001 instance ...10 other immediate ..011 list ..101 function ..111 other pointer SCL Unknown. |
Last changed |