: dump vector ; : see vector ; : inspect vector ; : show vector ; voc: dbg dbg : vector? c@ $e9 =if true ;then false ; : xt>name >entry :name unpack ; : xt>next-entry xt>name + cell+ ; loc: : more? dup >entry :xt @ last @ :xt @ <>if true ;then false ; :: more? if dup xt>next-entry @ swap - ;then >entry :xt @ here swap - ; ;loc alias xt>length loc: variable src : +src src @ 16 + src ! ; : .| ." | " ; : digit 15 and dup 9 >if 10 - 'A + emit ;then '0 + emit ; : read dup c@ 16 /mod digit digit space 1+ ; : .hex src @ swap for read next drop ; : max? $7f if true ;then false ; : print? dup max? swap min? and -1 ; : dochar dup print? =if emit ;then drop '. emit ; : .type .| src @ swap for dup c@ dochar 1+ next drop cr ; : .addr src @ hex . .| decimal ; : adjust 16 /mod swap dup 16 length dump ]] [[ word? ]] t/f ; is see loc: : begin ." LENGTH: " dup xt>length . ." bytes" cr ; : class-of ." CLASS: " dup >entry :class @ >entry :name unpack type cr ; : vector ." VECTOR: " dup vector? [[ ." yes" ]] [[ ." no" ]] t/f cr ; : finish dup xt>length dump ; :: x' if begin class-of vector finish ;then word? ; ;loc is inspect loc: variable class : show dup :class @ class @ =if dup :name unpack type space then ; : count swap 1+ swap ; : list 0 last repeat @ 0; show count again ; :: x' [[ class ! list drop cr ]] [[ word? ]] t/f ; ;loc is show ^