chibi-scheme/lib/srfi/125.sld
2017-04-18 23:24:56 +09:00

38 lines
1.6 KiB
Scheme

(define-library (srfi 125)
(import (scheme base)
(srfi 128)
(rename (srfi 69)
(make-hash-table %make-hash-table)
(alist->hash-table %alist->hash-table)
(hash-table-copy %hash-table-copy)
(hash-table-set! %hash-table-set!)
(hash-table-delete! %hash-table-delete!)
(hash-table-fold %hash-table-fold))
(only (chibi ast) immutable? make-immutable!))
(export
;; Constructors:
make-hash-table hash-table hash-table-unfold alist->hash-table
;; Predicates:
hash-table? hash-table-contains? hash-table-exists?
hash-table-empty? hash-table=? hash-table-mutable?
;; Accessors:
hash-table-ref hash-table-ref/default
;; Mutators:
hash-table-set! hash-table-delete! hash-table-intern!
hash-table-update! hash-table-update!/default hash-table-pop!
hash-table-clear!
;; The whole hash table:
hash-table-size hash-table-keys hash-table-values
hash-table-entries hash-table-find hash-table-count
;; Mapping and folding:
hash-table-map hash-table-for-each hash-table-walk
hash-table-map! hash-table-map->list hash-table-fold hash-table-prune!
;; Copying and conversion:
hash-table-copy hash-table-empty-copy hash-table->alist
;; Hash tables as sets:
hash-table-union! hash-table-merge!
hash-table-intersection! hash-table-difference! hash-table-xor!
;; Hash functions and reflectivity:
hash string-hash string-ci-hash hash-by-identity
hash-table-equivalence-function hash-table-hash-function)
(include "125/hash.scm"))