summaryrefslogtreecommitdiffstats
path: root/srfi/srfi-146-hash-impl.scm
diff options
context:
space:
mode:
authorGravatar Arvydas Silanskas 2021-08-19 00:51:49 +0300
committerGravatar Arvydas Silanskas 2021-08-19 00:51:49 +0300
commitfc1b8c9e34f7b6094dfec60237735b588a82e6e6 (patch)
tree2c00d2f8cea0532a005a659af6c7bdad25dfc4fa /srfi/srfi-146-hash-impl.scm
parentsrfi 126 impl (diff)
mapping implementation
Diffstat (limited to 'srfi/srfi-146-hash-impl.scm')
-rw-r--r--srfi/srfi-146-hash-impl.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/srfi/srfi-146-hash-impl.scm b/srfi/srfi-146-hash-impl.scm
new file mode 100644
index 0000000..8f064dd
--- /dev/null
+++ b/srfi/srfi-146-hash-impl.scm
@@ -0,0 +1,49 @@
+(define hash-mapping-dtd
+ (let ()
+
+ (define (prep-dtd-arg proc)
+ (lambda (dtd . args)
+ (apply proc args)))
+
+ (make-dtd
+ make-dictionary-index (prep-dtd-arg hashmap)
+ dictionary?-index (prep-dtd-arg hashmap?)
+ dict-empty?-index (prep-dtd-arg hashmap-empty?)
+ dict-contains?-index (prep-dtd-arg hashmap-contains?)
+ dict-ref-index (prep-dtd-arg hashmap-ref)
+ dict-ref/default-index (prep-dtd-arg hashmap-ref/default)
+ dict-set-index (prep-dtd-arg hashmap-set)
+ dict-set!-index (prep-dtd-arg hashmap-set!)
+ dict-adjoin-index (prep-dtd-arg hashmap-adjoin)
+ dict-adjoin!-index (prep-dtd-arg hashmap-adjoin!)
+ dict-delete-index (prep-dtd-arg hashmap-delete)
+ dict-delete!-index (prep-dtd-arg hashmap-delete!)
+ dict-delete-all-index (prep-dtd-arg hashmap-delete-all)
+ dict-delete-all!-index (prep-dtd-arg hashmap-delete-all!)
+ dict-replace-index (prep-dtd-arg hashmap-replace)
+ dict-replace!-index (prep-dtd-arg hashmap-replace!)
+ dict-intern-index (prep-dtd-arg hashmap-intern)
+ dict-intern!-index (prep-dtd-arg hashmap-intern!)
+ dict-update-index (prep-dtd-arg hashmap-update)
+ dict-update!-index (prep-dtd-arg hashmap-update!)
+ dict-update/default-index (prep-dtd-arg hashmap-update/default)
+ dict-update/default!-index (prep-dtd-arg hashmap-update!/default)
+ dict-pop-index (prep-dtd-arg hashmap-pop)
+ dict-pop!-index (prep-dtd-arg hashmap-pop!)
+ dict-filter-index (prep-dtd-arg hashmap-filter)
+ dict-filter!-index (prep-dtd-arg hashmap-filter!)
+ dict-remove-index (prep-dtd-arg hashmap-remove)
+ dict-remove!-index (prep-dtd-arg hashmap-remove!)
+ dict-search-index (prep-dtd-arg hashmap-search)
+ dict-search!-index (prep-dtd-arg hashmap-search!)
+ dict-copy-index (prep-dtd-arg hashmap-copy)
+ dict-size-index (prep-dtd-arg hashmap-size)
+ dict-for-each-index (prep-dtd-arg hashmap-for-each)
+ dict-count-index (prep-dtd-arg hashmap-count)
+ dict-keys-index (prep-dtd-arg hashmap-keys)
+ dict-values-index (prep-dtd-arg hashmap-values)
+ dict-entries-index (prep-dtd-arg hashmap-entries)
+ dict-fold-index (prep-dtd-arg hashmap-fold)
+ dict-map->list-index (prep-dtd-arg hashmap-map->list)
+ dict->alist-index (prep-dtd-arg hashmap->alist)
+ dict-comparator-index (prep-dtd-arg hashmap-key-comparator))))