;;; Circular-list hackers: ;;; The functions %PRINT and %PRIN1 herein ;;; can print (or prin1) any arbitrarily involuted ;;; list structure in a moderately readable form. ;;; There is a CPRINT-like facility available for doing ;;; arbitrary formatting of things. ;;; Currently, this file contains code for the ;;; /' and /@ readmacros. ;;; Please direct comments regarding bugs/features to ;;; Rick Grossman (AI:GROSS;), 825 Tech Square, 3-5848. ;;; Note: ;;; We avoid the overhead of a hash table by actually smashing ;;; the cells to indicate that they have been traversed. ;;; Thus we lose on pure list structure. ;;; Output format: ;;; (setq x '(foo bar)) (rplacd (cdr x) x) (%print x) ;;; would print as: %:G0012 (foo bar . %-G0012) ;;; where %: