mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
38 lines
1.6 KiB
Scheme
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"))
|