128bit cell, 4bit types, 60bit indexes cons 4 type 60 car index 4 pad (u could place cdr coding bits here) 60 cdr index vector (string = same, exept all data must be chars) 4 type 12 capacity power of 2 (2^x elemnts available before must grow) 48 size (elements used) 4 pad 60 array data index (how 2 grow? posibly c++ vector style) symbol 4 type 12 pad 48 name array length 4 pad 60 name array index (points to array (simply contiguous memory cells) of chars, also used for comparing symbols) boolean 4 type 60 pad 63 pad 1 value fixint (+-/* implemented in machine, rest in lisp layer) 4 type 59 pad 1 exact 64 n fixpt (+-/* implemented in machine, rest in lisp layer) 4 type 59 pad 1 exact 32 integer 32 fraction bignum (all ops implemented in lisp layer, use car/cdr ops for accesing these lists) 4 type 60 integer list index 1 exact 3 pad 60 fraction list index char 4 type 60 pad 64 char code procedure 4 type 60 pad (imfo about # of args etc?) 4 pad 60 start of code index port 4 type 60 pad (likely put stuff here) 64 fd (or watever)