Skip to content

Instantly share code, notes, and snippets.

Created October 16, 2010 15:04
Show Gist options
  • Save anonymous/629872 to your computer and use it in GitHub Desktop.
Save anonymous/629872 to your computer and use it in GitHub Desktop.
lisp_object {
preview (
#if (&$e == Qnil) ("nil") #else (
#if (&$e == Qunbound) ("unbound") #else (
#if (((unsigned)&$e) & 0x01) ( #(
#if (((unsigned)&$e) & 0x10) ( #(
[((unsigned)&$e) >> 0x10, hx], " ",
#switch (((unsigned)&$e) & 0xffff)
#case 0x04 ( "Tchar" )
#case 0x08 ( "Tmessage" )
#default ( #(
"(Tunknown: ",
[((unsigned)&$e) & 0xffff, hx],
")"
))
)) #else ( #(
[((int)&$e) >> 0x02, d],
" ",
"Tfixnum"
)),
"(imm)"
)) #else (
#switch ((unsigned)((ldata_rep*)(((unsigned)&$e) & ~0x3ff))->dr_type)
#case 0xc8000000 ( #(
"Tcomplex_string",
" (", [((lbase_vector*)&$e)->length, d], ") ",
[(Char*)((lbase_vector*)&$e)->contents, st]
))
#case 0xe8000000 ( #(
"Tsimple_string",
" (", [((lbase_vector*)&$e)->length, d], ") ",
[(Char*)((lbase_vector*)&$e)->contents, st]
))
#case 0x05 ( "Tcons" )
#case 0x06 ( #( "Tsymbol", " { name = ", ((lsymbol*)&$e)->name, " }" ))
#case 0x07 ( "Tclosure" )
#case 0x08 ( "Tfunction" )
#case 0x0b ( #( "Tpackage", " { name = ", ((lpackage*)&$e)->name, " }" ))
#default ( #(
"(Tunknown: ",
[((ldata_rep*)(((unsigned)&$e) & ~0x3ff))->dr_type, x],
")"
))
)
)))
children (
#if (&$e == Qnil || &$e == Qunbound) ( #array (expr: 0, size: 0) ) #else (
#switch ((unsigned)((ldata_rep*)(((unsigned)&$e) & ~0x3ff))->dr_type)
#case 0x05 ( #(
#(car: ((lcons*)&$e)->car),
#(cdr: ((lcons*)&$e)->cdr)
))
#case 0x06 ( #(
#(flags: ((lsymbol*)&$e)->flags),
#(value: ((lsymbol*)&$e)->value),
#(fn: ((lsymbol*)&$e)->fn),
#(plist: ((lsymbol*)&$e)->plist),
#(package: ((lsymbol*)&$e)->package),
#(name: ((lsymbol*)&$e)->name)
))
#case 0x0b ( #(
#(name: ((lpackage*)&$e)->name),
#(nicknames: ((lpackage*)&$e)->nicknames),
#(use_list: ((lpackage*)&$e)->use_list),
#(used_by_list: ((lpackage*)&$e)->used_by_list),
#(internal: ((lpackage*)&$e)->internal),
#(external: ((lpackage*)&$e)->external)
))
#default ( #array (expr: 0, size: 0) )
))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment