chibi-scheme/lib/srfi/146/hamt.sld
2020-05-26 17:05:07 +09:00

42 lines
1,012 B
Scheme

(define-library (srfi 146 hamt)
(import (scheme base)
(scheme case-lambda)
(only (srfi 1) find-tail)
(srfi 16)
(only (srfi 143) fx-width)
(srfi 151)
(srfi 146 hamt-misc)
(srfi 146 vector-edit))
(export fragment->mask
hamt->list
hamt-fetch
hamt-null
hamt-null?
hamt/count
hamt/empty?
hamt/for-each
hamt/immutable
hamt/mutable
hamt/mutable?
hamt/payload?
hamt/put
hamt/put!
hamt/replace
hamt/replace!
hash-array-mapped-trie?
make-hamt
;; These are only needed by tests:
collision?
hamt-bucket-size
hamt-hash-size
hamt/root
leaf-stride
narrow/array
narrow/leaves
narrow?
next-set-bit
wide/array
wide/children
wide?)
(include "hamt.scm"))