mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 22:31:12 +02:00
Add printers for <intmap> and <transient-intmap>
* module/language/cps/intmap.scm (intmap->alist, print-intmap) (print-transient-intmap): New functions. Install the new functions as printers for <intmap> and <transient-intmap>.
This commit is contained in:
parent
eb9d442840
commit
6ffb6e69ed
1 changed files with 12 additions and 0 deletions
|
@ -32,6 +32,7 @@
|
|||
|
||||
(define-module (language cps intmap)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-9 gnu)
|
||||
#:use-module (srfi srfi-18)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (empty-intmap
|
||||
|
@ -590,3 +591,14 @@
|
|||
((eq? root a-root) a)
|
||||
((eq? root b-root) b)
|
||||
(else (make-intmap/prune a-min a-shift root)))))))))
|
||||
|
||||
(define (intmap->alist intmap)
|
||||
(reverse (intmap-fold acons intmap '())))
|
||||
|
||||
(define (print-intmap intmap port)
|
||||
(format port "#<intmap ~a>" (intmap->alist intmap)))
|
||||
(define (print-transient-intmap intmap port)
|
||||
(format port "#<transient-intmap ~a>" (intmap->alist intmap)))
|
||||
|
||||
(set-record-type-printer! <intmap> print-intmap)
|
||||
(set-record-type-printer! <transient-intmap> print-transient-intmap)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue