(use-modules (ice-9 eval-string) (ice-9 common-list) (ice-9 hash-table) (srfi srfi-1) (ice-9 rdelim)) (define *obj-string-cache* (make-hash-table 500)) (define (fast-obj-string obj) (let ((entry (hashq-ref *obj-string-cache* obj #f))) (unless entry (set! entry (if (symbol? obj) (symbol->string obj) (object->string obj))) (hashq-set! *obj-string-cache* obj entry)) entry)) (define (sort-tuples tuples) (sort-list tuples (lambda (x y) (string