summaryrefslogtreecommitdiffstats
path: root/srfi
diff options
context:
space:
mode:
authorGravatar Arvydas Silanskas 2021-08-22 20:54:14 +0300
committerGravatar Arvydas Silanskas 2021-08-22 20:54:14 +0300
commite943ef133b857839bd5d9cdc2197fe7f03a09349 (patch)
treead0cc4ddd3ddd9d237f25f6e9f68bcbbd9049dd1 /srfi
parentclean up (diff)
parenttypo, -comparator can return #f (diff)
merge, add unfold
Diffstat (limited to 'srfi')
l---------srfi/225.scm1
-rw-r--r--srfi/225.sld92
-rw-r--r--srfi/alist-impl.scm31
-rw-r--r--srfi/default-impl.scm113
-rw-r--r--srfi/externals.scm99
-rw-r--r--srfi/indexes.scm101
-rw-r--r--srfi/plist-impl.scm29
-rw-r--r--srfi/srfi-125-impl.scm58
-rw-r--r--srfi/srfi-126-impl.scm54
-rw-r--r--srfi/srfi-146-hash-impl.scm82
-rw-r--r--srfi/srfi-146-impl.scm82
-rw-r--r--srfi/srfi-69-impl.scm42
12 files changed, 394 insertions, 390 deletions
diff --git a/srfi/225.scm b/srfi/225.scm
deleted file mode 120000
index 74d5e72..0000000
--- a/srfi/225.scm
+++ /dev/null
@@ -1 +0,0 @@
-225.sld \ No newline at end of file
diff --git a/srfi/225.sld b/srfi/225.sld
index 53bc68f..f44f3ab 100644
--- a/srfi/225.sld
+++ b/srfi/225.sld
@@ -15,6 +15,7 @@
;; constructor
make-dictionary
+ dict-unfold
;; predicates
dictionary?
@@ -82,51 +83,52 @@
dictionary-irritants
;; proc indeces
- make-dictionary-index
- dictionary?-index
- dict-empty?-index
- dict-contains?-index
- dict-ref-index
- dict-ref/default-index
- dict-set-index
- dict-set!-index
- dict-adjoin-index
- dict-adjoin!-index
- dict-delete-index
- dict-delete!-index
- dict-delete-all-index
- dict-delete-all!-index
- dict-replace-index
- dict-replace!-index
- dict-intern-index
- dict-intern!-index
- dict-update-index
- dict-update!-index
- dict-update/default-index
- dict-update/default!-index
- dict-pop-index
- dict-pop!-index
- dict-map-index
- dict-map!-index
- dict-filter-index
- dict-filter!-index
- dict-remove-index
- dict-remove!-index
- dict-search-index
- dict-search!-index
- dict-copy-index
- dict-size-index
- dict-for-each-index
- dict-count-index
- dict-any-index
- dict-every-index
- dict-keys-index
- dict-values-index
- dict-entries-index
- dict-fold-index
- dict-map->list-index
- dict->alist-index
- dict-comparator-index
+ make-dictionary-id
+ dict-unfold-id
+ dictionary?-id
+ dict-empty?-id
+ dict-contains?-id
+ dict-ref-id
+ dict-ref/default-id
+ dict-set-id
+ dict-set!-id
+ dict-adjoin-id
+ dict-adjoin!-id
+ dict-delete-id
+ dict-delete!-id
+ dict-delete-all-id
+ dict-delete-all!-id
+ dict-replace-id
+ dict-replace!-id
+ dict-intern-id
+ dict-intern!-id
+ dict-update-id
+ dict-update!-id
+ dict-update/default-id
+ dict-update/default!-id
+ dict-pop-id
+ dict-pop!-id
+ dict-map-id
+ dict-map!-id
+ dict-filter-id
+ dict-filter!-id
+ dict-remove-id
+ dict-remove!-id
+ dict-search-id
+ dict-search!-id
+ dict-copy-id
+ dict-size-id
+ dict-for-each-id
+ dict-count-id
+ dict-any-id
+ dict-every-id
+ dict-keys-id
+ dict-values-id
+ dict-entries-id
+ dict-fold-id
+ dict-map->list-id
+ dict->alist-id
+ dict-comparator-id
;; basic DTDs
plist-dtd
diff --git a/srfi/alist-impl.scm b/srfi/alist-impl.scm
index e64dc97..59fac7b 100644
--- a/srfi/alist-impl.scm
+++ b/srfi/alist-impl.scm
@@ -106,25 +106,22 @@
(alist-copy dtd alist))
(define (alist-comparator dtd dictionary)
- (make-comparator (lambda args #t)
- key=
- #f
- #f))
+ #f)
(make-dtd
- make-dictionary-index make-alist
- dictionary?-index alist?
- dict-map-index alist-map
- dict-map!-index alist-map!
- dict-filter-index alist-filter
- dict-filter!-index alist-filter!
- dict-search-index alist-search
- dict-search!-index alist-search!
- dict-size-index alist-size
- dict-for-each-index alist-foreach
- dict->alist-index alist->alist
- dict-comparator-index alist-comparator
- dict-copy-index alist-copy))
+ make-dictionary-id make-alist
+ dictionary?-id alist?
+ dict-map-id alist-map
+ dict-map!-id alist-map!
+ dict-filter-id alist-filter
+ dict-filter!-id alist-filter!
+ dict-search-id alist-search
+ dict-search!-id alist-search!
+ dict-size-id alist-size
+ dict-for-each-id alist-foreach
+ dict->alist-id alist->alist
+ dict-comparator-id alist-comparator
+ dict-copy-id alist-copy))
(define alist-eqv-dtd (make-alist-dtd eqv?))
(define alist-equal-dtd (make-alist-dtd equal?))
diff --git a/srfi/default-impl.scm b/srfi/default-impl.scm
index dfd3f58..2be8c98 100644
--- a/srfi/default-impl.scm
+++ b/srfi/default-impl.scm
@@ -15,6 +15,17 @@
(define default-dict-search! (not-implemented "dict-search!"))
(define default-dict-for-each (not-implemented "dict-for-each"))
+ (define (default-dict-unfold dtd comparator stop? mapper successor seed)
+ (let loop ((dict (make-dictionary dtd comparator))
+ (seed seed))
+ (if (stop? seed)
+ dict
+ (let ()
+ (define-values (key value) (mapper seed))
+ (define new-seed (successor seed))
+ (loop (dict-set! dtd dict key value)
+ new-seed)))))
+
(define (default-dict-empty? dtd dictionary)
(= 0 (dict-size dtd dictionary)))
@@ -218,17 +229,8 @@
(define (default-dict-remove! dtd pred dictionary)
(default-dict-remove* dtd dict-filter! pred dictionary))
- (define (create-fresh-dict-from-existing dtd dictionary)
- (call/cc
- (lambda (k)
- (with-exception-handler
- (lambda (err)
- (k (make-dictionary dtd #f)))
- (lambda ()
- (make-dictionary dtd (dict-comparator dictionary)))))))
-
(define (default-dict-copy dtd dictionary)
- (define dict (create-fresh-dict-from-existing dtd dictionary))
+ (define dict (make-dictionary dtd (dict-comparator dtd dictionary)))
(dict-for-each dtd
(lambda (key value)
(set! dict (dict-set! dtd dict key value)))
@@ -324,51 +326,52 @@
(define default-dtd
(make-modified-dtd
null-dtd
- make-dictionary-index default-make-dictionary
- dictionary?-index default-dictionary?
- dict-empty?-index default-dict-empty?
- dict-contains?-index default-dict-contains?
- dict-ref-index default-dict-ref
- dict-ref/default-index default-dict-ref/default
- dict-set-index default-dict-set
- dict-set!-index default-dict-set!
- dict-adjoin-index default-dict-adjoin
- dict-adjoin!-index default-dict-adjoin!
- dict-delete-index default-dict-delete
- dict-delete!-index default-dict-delete!
- dict-delete-all-index default-dict-delete-all
- dict-delete-all!-index default-dict-delete-all!
- dict-replace-index default-dict-replace
- dict-replace!-index default-dict-replace!
- dict-intern-index default-dict-intern
- dict-intern!-index default-dict-intern!
- dict-update-index default-dict-update
- dict-update!-index default-dict-update!
- dict-update/default-index default-dict-update/default
- dict-update/default!-index default-dict-update/default!
- dict-pop-index default-dict-pop
- dict-pop!-index default-dict-pop!
- dict-map-index default-dict-map
- dict-map!-index default-dict-map!
- dict-filter-index default-dict-filter
- dict-filter!-index default-dict-filter!
- dict-remove-index default-dict-remove
- dict-remove!-index default-dict-remove!
- dict-search-index default-dict-search
- dict-search!-index default-dict-search!
- dict-copy-index default-dict-copy
- dict-size-index default-dict-size
- dict-for-each-index default-dict-for-each
- dict-count-index default-dict-count
- dict-any-index default-dict-any
- dict-every-index default-dict-every
- dict-keys-index default-dict-keys
- dict-values-index default-dict-values
- dict-entries-index default-dict-entries
- dict-fold-index default-dict-fold
- dict-map->list-index default-dict-map->list
- dict->alist-index default-dict->alist
- dict-comparator-index default-dict-comparator))
+ make-dictionary-id default-make-dictionary
+ dict-unfold-id default-dict-unfold
+ dictionary?-id default-dictionary?
+ dict-empty?-id default-dict-empty?
+ dict-contains?-id default-dict-contains?
+ dict-ref-id default-dict-ref
+ dict-ref/default-id default-dict-ref/default
+ dict-set-id default-dict-set
+ dict-set!-id default-dict-set!
+ dict-adjoin-id default-dict-adjoin
+ dict-adjoin!-id default-dict-adjoin!
+ dict-delete-id default-dict-delete
+ dict-delete!-id default-dict-delete!
+ dict-delete-all-id default-dict-delete-all
+ dict-delete-all!-id default-dict-delete-all!
+ dict-replace-id default-dict-replace
+ dict-replace!-id default-dict-replace!
+ dict-intern-id default-dict-intern
+ dict-intern!-id default-dict-intern!
+ dict-update-id default-dict-update
+ dict-update!-id default-dict-update!
+ dict-update/default-id default-dict-update/default
+ dict-update/default!-id default-dict-update/default!
+ dict-pop-id default-dict-pop
+ dict-pop!-id default-dict-pop!
+ dict-map-id default-dict-map
+ dict-map!-id default-dict-map!
+ dict-filter-id default-dict-filter
+ dict-filter!-id default-dict-filter!
+ dict-remove-id default-dict-remove
+ dict-remove!-id default-dict-remove!
+ dict-search-id default-dict-search
+ dict-search!-id default-dict-search!
+ dict-copy-id default-dict-copy
+ dict-size-id default-dict-size
+ dict-for-each-id default-dict-for-each
+ dict-count-id default-dict-count
+ dict-any-id default-dict-any
+ dict-every-id default-dict-every
+ dict-keys-id default-dict-keys
+ dict-values-id default-dict-values
+ dict-entries-id default-dict-entries
+ dict-fold-id default-dict-fold
+ dict-map->list-id default-dict-map->list
+ dict->alist-id default-dict->alist
+ dict-comparator-id default-dict-comparator))
;; sanity check
(vector-for-each
diff --git a/srfi/externals.scm b/srfi/externals.scm
index 34c8450..14c5a4d 100644
--- a/srfi/externals.scm
+++ b/srfi/externals.scm
@@ -24,10 +24,11 @@
(assume (dtd? dtd))
(apply (dtd-ref-stx dtd index) dtd args)))))
-(define/dict-proc make-dictionary make-dictionary-index)
-(define/dict-proc dictionary? dictionary?-index)
-(define/dict-proc dict-empty? dict-empty?-index)
-(define/dict-proc dict-contains? dict-contains?-index)
+(define/dict-proc make-dictionary make-dictionary-id)
+(define/dict-proc dict-unfold dict-unfold-id)
+(define/dict-proc dictionary? dictionary?-id)
+(define/dict-proc dict-empty? dict-empty?-id)
+(define/dict-proc dict-contains? dict-contains?-id)
(define dict-ref
(case-lambda
@@ -41,21 +42,21 @@
((dtd dict key failure success)
(assume (dtd? dtd))
- ((dtd-ref-stx dtd dict-ref-index) dtd dict key failure success))))
-
-(define/dict-proc dict-ref/default dict-ref/default-index)
-(define/dict-proc dict-set dict-set-index)
-(define/dict-proc dict-set! dict-set!-index)
-(define/dict-proc dict-adjoin dict-adjoin-index)
-(define/dict-proc dict-adjoin! dict-adjoin!-index)
-(define/dict-proc dict-delete dict-delete-index)
-(define/dict-proc dict-delete! dict-delete!-index)
-(define/dict-proc dict-delete-all dict-delete-all-index)
-(define/dict-proc dict-delete-all! dict-delete-all!-index)
-(define/dict-proc dict-replace dict-replace-index)
-(define/dict-proc dict-replace! dict-replace!-index)
-(define/dict-proc dict-intern dict-intern-index)
-(define/dict-proc dict-intern! dict-intern!-index)
+ ((dtd-ref-stx dtd dict-ref-id) dtd dict key failure success))))
+
+(define/dict-proc dict-ref/default dict-ref/default-id)
+(define/dict-proc dict-set dict-set-id)
+(define/dict-proc dict-set! dict-set!-id)
+(define/dict-proc dict-adjoin dict-adjoin-id)
+(define/dict-proc dict-adjoin! dict-adjoin!-id)
+(define/dict-proc dict-delete dict-delete-id)
+(define/dict-proc dict-delete! dict-delete!-id)
+(define/dict-proc dict-delete-all dict-delete-all-id)
+(define/dict-proc dict-delete-all! dict-delete-all!-id)
+(define/dict-proc dict-replace dict-replace-id)
+(define/dict-proc dict-replace! dict-replace!-id)
+(define/dict-proc dict-intern dict-intern-id)
+(define/dict-proc dict-intern! dict-intern!-id)
(define dict-update
(case-lambda
@@ -69,7 +70,7 @@
((dtd dict key updater failure success)
(assume (dtd? dtd))
- ((dtd-ref-stx dtd dict-update-index) dtd dict key updater failure success))))
+ ((dtd-ref-stx dtd dict-update-id) dtd dict key updater failure success))))
(define dict-update!
(case-lambda
@@ -83,33 +84,33 @@
((dtd dict key updater failure success)
(assume (dtd? dtd))
- ((dtd-ref-stx dtd dict-update!-index) dtd dict key updater failure success))))
-
-(define/dict-proc dict-update/default dict-update/default-index)
-(define/dict-proc dict-update/default! dict-update/default!-index)
-(define/dict-proc dict-pop dict-pop-index)
-(define/dict-proc dict-pop! dict-pop!-index)
-(define/dict-proc dict-map dict-map-index)
-(define/dict-proc dict-map! dict-map!-index)
-(define/dict-proc dict-filter dict-filter-index)
-(define/dict-proc dict-filter! dict-filter!-index)
-(define/dict-proc dict-remove dict-remove-index)
-(define/dict-proc dict-remove! dict-remove!-index)
-(define/dict-proc dict-search dict-search-index)
-(define/dict-proc dict-search! dict-search!-index)
-(define/dict-proc dict-copy dict-copy-index)
-(define/dict-proc dict-size dict-size-index)
-(define/dict-proc dict-for-each dict-for-each-index)
-(define/dict-proc dict-count dict-count-index)
-(define/dict-proc dict-any dict-any-index)
-(define/dict-proc dict-every dict-every-index)
-(define/dict-proc dict-keys dict-keys-index)
-(define/dict-proc dict-values dict-values-index)
-(define/dict-proc dict-entries dict-entries-index)
-(define/dict-proc dict-fold dict-fold-index)
-(define/dict-proc dict-map->list dict-map->list-index)
-(define/dict-proc dict->alist dict->alist-index)
-(define/dict-proc dict-comparator dict-comparator-index)
+ ((dtd-ref-stx dtd dict-update!-id) dtd dict key updater failure success))))
+
+(define/dict-proc dict-update/default dict-update/default-id)
+(define/dict-proc dict-update/default! dict-update/default!-id)
+(define/dict-proc dict-pop dict-pop-id)
+(define/dict-proc dict-pop! dict-pop!-id)
+(define/dict-proc dict-map dict-map-id)
+(define/dict-proc dict-map! dict-map!-id)
+(define/dict-proc dict-filter dict-filter-id)
+(define/dict-proc dict-filter! dict-filter!-id)
+(define/dict-proc dict-remove dict-remove-id)
+(define/dict-proc dict-remove! dict-remove!-id)
+(define/dict-proc dict-search dict-search-id)
+(define/dict-proc dict-search! dict-search!-id)
+(define/dict-proc dict-copy dict-copy-id)
+(define/dict-proc dict-size dict-size-id)
+(define/dict-proc dict-for-each dict-for-each-id)
+(define/dict-proc dict-count dict-count-id)
+(define/dict-proc dict-any dict-any-id)
+(define/dict-proc dict-every dict-every-id)
+(define/dict-proc dict-keys dict-keys-id)
+(define/dict-proc dict-values dict-values-id)
+(define/dict-proc dict-entries dict-entries-id)
+(define/dict-proc dict-fold dict-fold-id)
+(define/dict-proc dict-map->list dict-map->list-id)
+(define/dict-proc dict->alist dict->alist-id)
+(define/dict-proc dict-comparator dict-comparator-id)
(define (dtd-ref dtd procindex)
(dtd-ref-stx dtd procindex))
@@ -120,11 +121,11 @@
((null? lst))
(when (null? (cdr lst))
(error "Uneven amount of arguments" lst))
- (let ((proc-index (car lst))
+ (let ((proc-id (car lst))
(proc (cadr lst)))
(unless (procedure? proc)
(error "Not a procedure" proc))
- (vector-set! vec proc-index proc)))
+ (vector-set! vec proc-id proc)))
(make-dtd-private vec))
(define (make-dtd . lst)
diff --git a/srfi/indexes.scm b/srfi/indexes.scm
index da99b57..958f5a0 100644
--- a/srfi/indexes.scm
+++ b/srfi/indexes.scm
@@ -1,53 +1,54 @@
;; procedure index definitions
-(define proc-index 0)
-(define (proc-index-inc)
- (define v proc-index)
- (set! proc-index (+ 1 proc-index))
+(define proc-id 0)
+(define (proc-id-inc)
+ (define v proc-id)
+ (set! proc-id (+ 1 proc-id))
v)
-(define make-dictionary-index (proc-index-inc))
-(define dictionary?-index (proc-index-inc))
-(define dict-empty?-index (proc-index-inc))
-(define dict-contains?-index (proc-index-inc))
-(define dict-ref-index (proc-index-inc))
-(define dict-ref/default-index (proc-index-inc))
-(define dict-set-index (proc-index-inc))
-(define dict-set!-index (proc-index-inc))
-(define dict-adjoin-index (proc-index-inc))
-(define dict-adjoin!-index (proc-index-inc))
-(define dict-delete-index (proc-index-inc))
-(define dict-delete!-index (proc-index-inc))
-(define dict-delete-all-index (proc-index-inc))
-(define dict-delete-all!-index (proc-index-inc))
-(define dict-replace-index (proc-index-inc))
-(define dict-replace!-index (proc-index-inc))
-(define dict-intern-index (proc-index-inc))
-(define dict-intern!-index (proc-index-inc))
-(define dict-update-index (proc-index-inc))
-(define dict-update!-index (proc-index-inc))
-(define dict-update/default-index (proc-index-inc))
-(define dict-update/default!-index (proc-index-inc))
-(define dict-pop-index (proc-index-inc))
-(define dict-pop!-index (proc-index-inc))
-(define dict-map-index (proc-index-inc))
-(define dict-map!-index (proc-index-inc))
-(define dict-filter-index (proc-index-inc))
-(define dict-filter!-index (proc-index-inc))
-(define dict-remove-index (proc-index-inc))
-(define dict-remove!-index (proc-index-inc))
-(define dict-search-index (proc-index-inc))
-(define dict-search!-index (proc-index-inc))
-(define dict-copy-index (proc-index-inc))
-(define dict-size-index (proc-index-inc))
-(define dict-for-each-index (proc-index-inc))
-(define dict-count-index (proc-index-inc))
-(define dict-any-index (proc-index-inc))
-(define dict-every-index (proc-index-inc))
-(define dict-keys-index (proc-index-inc))
-(define dict-values-index (proc-index-inc))
-(define dict-entries-index (proc-index-inc))
-(define dict-fold-index (proc-index-inc))
-(define dict-map->list-index (proc-index-inc))
-(define dict->alist-index (proc-index-inc))
-(define dict-comparator-index (proc-index-inc))
-(define dict-procedures-count (proc-index-inc))
+(define make-dictionary-id (proc-id-inc))
+(define dict-unfold-id (proc-id-inc))
+(define dictionary?-id (proc-id-inc))
+(define dict-empty?-id (proc-id-inc))
+(define dict-contains?-id (proc-id-inc))
+(define dict-ref-id (proc-id-inc))
+(define dict-ref/default-id (proc-id-inc))
+(define dict-set-id (proc-id-inc))
+(define dict-set!-id (proc-id-inc))
+(define dict-adjoin-id (proc-id-inc))
+(define dict-adjoin!-id (proc-id-inc))
+(define dict-delete-id (proc-id-inc))
+(define dict-delete!-id (proc-id-inc))
+(define dict-delete-all-id (proc-id-inc))
+(define dict-delete-all!-id (proc-id-inc))
+(define dict-replace-id (proc-id-inc))
+(define dict-replace!-id (proc-id-inc))
+(define dict-intern-id (proc-id-inc))
+(define dict-intern!-id (proc-id-inc))
+(define dict-update-id (proc-id-inc))
+(define dict-update!-id (proc-id-inc))
+(define dict-update/default-id (proc-id-inc))
+(define dict-update/default!-id (proc-id-inc))
+(define dict-pop-id (proc-id-inc))
+(define dict-pop!-id (proc-id-inc))
+(define dict-map-id (proc-id-inc))
+(define dict-map!-id (proc-id-inc))
+(define dict-filter-id (proc-id-inc))
+(define dict-filter!-id (proc-id-inc))
+(define dict-remove-id (proc-id-inc))
+(define dict-remove!-id (proc-id-inc))
+(define dict-search-id (proc-id-inc))
+(define dict-search!-id (proc-id-inc))
+(define dict-copy-id (proc-id-inc))
+(define dict-size-id (proc-id-inc))
+(define dict-for-each-id (proc-id-inc))
+(define dict-count-id (proc-id-inc))
+(define dict-any-id (proc-id-inc))
+(define dict-every-id (proc-id-inc))
+(define dict-keys-id (proc-id-inc))
+(define dict-values-id (proc-id-inc))
+(define dict-entries-id (proc-id-inc))
+(define dict-fold-id (proc-id-inc))
+(define dict-map->list-id (proc-id-inc))
+(define dict->alist-id (proc-id-inc))
+(define dict-comparator-id (proc-id-inc))
+(define dict-procedures-count (proc-id-inc))
diff --git a/srfi/plist-impl.scm b/srfi/plist-impl.scm
index dbec747..e283c8e 100644
--- a/srfi/plist-impl.scm
+++ b/srfi/plist-impl.scm
@@ -103,21 +103,18 @@
(loop (cddr pl))))))
(define (plist-comparator dtd plist)
- (make-comparator symbol?
- equal?
- #f
- #f))
+ #f)
(make-dtd
- make-dictionary-index make-plist
- dictionary?-index plist?
- dict-map-index plist-map
- dict-map!-index plist-map!
- dict-filter-index plist-filter
- dict-filter!-index plist-filter!
- dict-search-index plist-search
- dict-search!-index plist-search!
- dict-copy-index plist-copy
- dict-size-index plist-size
- dict-for-each-index plist-foreach
- dict-comparator-index plist-comparator)))
+ make-dictionary-id make-plist
+ dictionary?-id plist?
+ dict-map-id plist-map
+ dict-map!-id plist-map!
+ dict-filter-id plist-filter
+ dict-filter!-id plist-filter!
+ dict-search-id plist-search
+ dict-search!-id plist-search!
+ dict-copy-id plist-copy
+ dict-size-id plist-size
+ dict-for-each-id plist-foreach
+ dict-comparator-id plist-comparator)))
diff --git a/srfi/srfi-125-impl.scm b/srfi/srfi-125-impl.scm
index 61863b5..d735f95 100644
--- a/srfi/srfi-125-impl.scm
+++ b/srfi/srfi-125-impl.scm
@@ -129,32 +129,32 @@
(t125:hash-table-ref/default table key default))
(make-dtd
- make-dictionary-index t125:make-hash-table*
- dictionary?-index t125:hash-table?*
- dict-empty?-index t125:hash-table-empty?*
- dict-contains?-index t125:hash-table-contains?*
- dict-ref-index t125:hash-table-ref*
- dict-ref/default-index t125:hash-table-ref/default*
- dict-set!-index t125:hash-table-set!*
- dict-delete-all!-index t125:hash-table-delete-all!*
- dict-intern!-index t125:hash-table-intern!*
- dict-update!-index t125:hash-table-update!*
- dict-update/default!-index t125:hash-table-update!/default*
- dict-pop!-index t125:hash-table-pop!*
- dict-map!-index t125:hash-table-map!*
- dict-filter!-index t125:hash-table-filter!*
- dict-filter-index t125:hash-table-filter*
- dict-remove!-index t125:hash-table-remove!*
- dict-remove-index t125:hash-table-remove*
- dict-search!-index t125:hash-table-search!*
- dict-search-index t125:hash-table-search*
- dict-size-index t125:hash-table-size*
- dict-for-each-index t125:hash-table-for-each*
- dict-keys-index t125:hash-table-keys*
- dict-values-index t125:hash-table-values*
- dict-entries-index t125:hash-table-entries*
- dict-fold-index t125:hash-table-fold*
- dict-map->list-index t125:hash-table-map->list*
- dict->alist-index t125:hash-table->alist*
- dict-comparator-index t125:hash-table-comparator*
- dict-copy-index t125:hash-table-copy*)))
+ make-dictionary-id t125:make-hash-table*
+ dictionary?-id t125:hash-table?*
+ dict-empty?-id t125:hash-table-empty?*
+ dict-contains?-id t125:hash-table-contains?*
+ dict-ref-id t125:hash-table-ref*
+ dict-ref/default-id t125:hash-table-ref/default*
+ dict-set!-id t125:hash-table-set!*
+ dict-delete-all!-id t125:hash-table-delete-all!*
+ dict-intern!-id t125:hash-table-intern!*
+ dict-update!-id t125:hash-table-update!*
+ dict-update/default!-id t125:hash-table-update!/default*
+ dict-pop!-id t125:hash-table-pop!*
+ dict-map!-id t125:hash-table-map!*
+ dict-filter!-id t125:hash-table-filter!*
+ dict-filter-id t125:hash-table-filter*
+ dict-remove!-id t125:hash-table-remove!*
+ dict-remove-id t125:hash-table-remove*
+ dict-search!-id t125:hash-table-search!*
+ dict-search-id t125:hash-table-search*
+ dict-size-id t125:hash-table-size*
+ dict-for-each-id t125:hash-table-for-each*
+ dict-keys-id t125:hash-table-keys*
+ dict-values-id t125:hash-table-values*
+ dict-entries-id t125:hash-table-entries*
+ dict-fold-id t125:hash-table-fold*
+ dict-map->list-id t125:hash-table-map->list*
+ dict->alist-id t125:hash-table->alist*
+ dict-comparator-id t125:hash-table-comparator*
+ dict-copy-id t125:hash-table-copy*)))
diff --git a/srfi/srfi-126-impl.scm b/srfi/srfi-126-impl.scm
index 177a835..5e308ba 100644
--- a/srfi/srfi-126-impl.scm
+++ b/srfi/srfi-126-impl.scm
@@ -120,29 +120,33 @@
(define (t126:hashtable-copy* dtd table)
(t126:hashtable-copy table #t))
+ (define (t126:hashtable-comparator* dtd table)
+ #f)
+
(make-dtd
- make-dictionary-index t126:make-hashtable*
- dictionary?-index (prep-dtd-arg t126:hashtable?)
- dict-empty?-index (prep-dtd-arg t126:hashtable-empty?)
- dict-contains?-index (prep-dtd-arg t126:hashtable-contains?)
- dict-ref-index t126:hashtable-ref*
- dict-ref/default-index t126:hashtable-ref/default*
- dict-set!-index t126:hashtable-set!*
- dict-delete-all!-index t126:hashtable-delete-all!*
- dict-intern!-index t126:hashtable-intern!*
- dict-update/default!-index t126:hashtable-update/default!*
- dict-pop!-index t126:hashtable-pop!*
- dict-map!-index t126:hashtable-update-all!*
- dict-filter!-index t126:hashtable-filter!*
- dict-filter-index t126:hashtable-filter*
- dict-remove!-index t126:hashtable-remove!*
- dict-remove-index t126:hashtable-remove*
- dict-search!-index t126:hashtable-search!*
- dict-search-index t126:hashtable-search*
- dict-size-index (prep-dtd-arg t126:hashtable-size)
- dict-for-each-index t126:hashtable-for-each*
- dict-keys-index t126:hashtable-keys*
- dict-values-index t126:hashtable-values*
- dict-entries-index t126:hashtable-entries*
- dict-map->list-index t126:hashtable-map->lset*
- dict-copy-index t126:hashtable-copy*)))
+ make-dictionary-id t126:make-hashtable*
+ dictionary?-id (prep-dtd-arg t126:hashtable?)
+ dict-empty?-id (prep-dtd-arg t126:hashtable-empty?)
+ dict-contains?-id (prep-dtd-arg t126:hashtable-contains?)
+ dict-ref-id t126:hashtable-ref*
+ dict-ref/default-id t126:hashtable-ref/default*
+ dict-set!-id t126:hashtable-set!*
+ dict-delete-all!-id t126:hashtable-delete-all!*
+ dict-intern!-id t126:hashtable-intern!*
+ dict-update/default!-id t126:hashtable-update/default!*
+ dict-pop!-id t126:hashtable-pop!*
+ dict-map!-id t126:hashtable-update-all!*
+ dict-filter!-id t126:hashtable-filter!*
+ dict-filter-id t126:hashtable-filter*
+ dict-remove!-id t126:hashtable-remove!*
+ dict-remove-id t126:hashtable-remove*
+ dict-search!-id t126:hashtable-search!*
+ dict-search-id t126:hashtable-search*
+ dict-size-id (prep-dtd-arg t126:hashtable-size)
+ dict-for-each-id t126:hashtable-for-each*
+ dict-keys-id t126:hashtable-keys*
+ dict-values-id t126:hashtable-values*
+ dict-entries-id t126:hashtable-entries*
+ dict-map->list-id t126:hashtable-map->lset*
+ dict-copy-id t126:hashtable-copy*
+ dict-comparator-id t126:hashtable-comparator*)))
diff --git a/srfi/srfi-146-hash-impl.scm b/srfi/srfi-146-hash-impl.scm
index 8f064dd..40e893f 100644
--- a/srfi/srfi-146-hash-impl.scm
+++ b/srfi/srfi-146-hash-impl.scm
@@ -6,44 +6,44 @@
(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))))
+ make-dictionary-id (prep-dtd-arg hashmap)
+ dictionary?-id (prep-dtd-arg hashmap?)
+ dict-empty?-id (prep-dtd-arg hashmap-empty?)
+ dict-contains?-id (prep-dtd-arg hashmap-contains?)
+ dict-ref-id (prep-dtd-arg hashmap-ref)
+ dict-ref/default-id (prep-dtd-arg hashmap-ref/default)
+ dict-set-id (prep-dtd-arg hashmap-set)
+ dict-set!-id (prep-dtd-arg hashmap-set!)
+ dict-adjoin-id (prep-dtd-arg hashmap-adjoin)
+ dict-adjoin!-id (prep-dtd-arg hashmap-adjoin!)
+ dict-delete-id (prep-dtd-arg hashmap-delete)
+ dict-delete!-id (prep-dtd-arg hashmap-delete!)
+ dict-delete-all-id (prep-dtd-arg hashmap-delete-all)
+ dict-delete-all!-id (prep-dtd-arg hashmap-delete-all!)
+ dict-replace-id (prep-dtd-arg hashmap-replace)
+ dict-replace!-id (prep-dtd-arg hashmap-replace!)
+ dict-intern-id (prep-dtd-arg hashmap-intern)
+ dict-intern!-id (prep-dtd-arg hashmap-intern!)
+ dict-update-id (prep-dtd-arg hashmap-update)
+ dict-update!-id (prep-dtd-arg hashmap-update!)
+ dict-update/default-id (prep-dtd-arg hashmap-update/default)
+ dict-update/default!-id (prep-dtd-arg hashmap-update!/default)
+ dict-pop-id (prep-dtd-arg hashmap-pop)
+ dict-pop!-id (prep-dtd-arg hashmap-pop!)
+ dict-filter-id (prep-dtd-arg hashmap-filter)
+ dict-filter!-id (prep-dtd-arg hashmap-filter!)
+ dict-remove-id (prep-dtd-arg hashmap-remove)
+ dict-remove!-id (prep-dtd-arg hashmap-remove!)
+ dict-search-id (prep-dtd-arg hashmap-search)
+ dict-search!-id (prep-dtd-arg hashmap-search!)
+ dict-copy-id (prep-dtd-arg hashmap-copy)
+ dict-size-id (prep-dtd-arg hashmap-size)
+ dict-for-each-id (prep-dtd-arg hashmap-for-each)
+ dict-count-id (prep-dtd-arg hashmap-count)
+ dict-keys-id (prep-dtd-arg hashmap-keys)
+ dict-values-id (prep-dtd-arg hashmap-values)
+ dict-entries-id (prep-dtd-arg hashmap-entries)
+ dict-fold-id (prep-dtd-arg hashmap-fold)
+ dict-map->list-id (prep-dtd-arg hashmap-map->list)
+ dict->alist-id (prep-dtd-arg hashmap->alist)
+ dict-comparator-id (prep-dtd-arg hashmap-key-comparator))))
diff --git a/srfi/srfi-146-impl.scm b/srfi/srfi-146-impl.scm
index bcde849..7d36dc8 100644
--- a/srfi/srfi-146-impl.scm
+++ b/srfi/srfi-146-impl.scm
@@ -6,44 +6,44 @@
(apply proc args)))
(make-dtd
- make-dictionary-index (prep-dtd-arg mapping)
- dictionary?-index (prep-dtd-arg mapping?)
- dict-empty?-index (prep-dtd-arg mapping-empty?)
- dict-contains?-index (prep-dtd-arg mapping-contains?)
- dict-ref-index (prep-dtd-arg mapping-ref)
- dict-ref/default-index (prep-dtd-arg mapping-ref/default)
- dict-set-index (prep-dtd-arg mapping-set)
- dict-set!-index (prep-dtd-arg mapping-set!)
- dict-adjoin-index (prep-dtd-arg mapping-adjoin)
- dict-adjoin!-index (prep-dtd-arg mapping-adjoin!)
- dict-delete-index (prep-dtd-arg mapping-delete)
- dict-delete!-index (prep-dtd-arg mapping-delete!)
- dict-delete-all-index (prep-dtd-arg mapping-delete-all)
- dict-delete-all!-index (prep-dtd-arg mapping-delete-all!)
- dict-replace-index (prep-dtd-arg mapping-replace)
- dict-replace!-index (prep-dtd-arg mapping-replace!)
- dict-intern-index (prep-dtd-arg mapping-intern)
- dict-intern!-index (prep-dtd-arg mapping-intern!)
- dict-update-index (prep-dtd-arg mapping-update)
- dict-update!-index (prep-dtd-arg mapping-update!)
- dict-update/default-index (prep-dtd-arg mapping-update/default)
- dict-update/default!-index (prep-dtd-arg mapping-update!/default)
- dict-pop-index (prep-dtd-arg mapping-pop)
- dict-pop!-index (prep-dtd-arg mapping-pop!)
- dict-filter-index (prep-dtd-arg mapping-filter)
- dict-filter!-index (prep-dtd-arg mapping-filter!)
- dict-remove-index (prep-dtd-arg mapping-remove)
- dict-remove!-index (prep-dtd-arg mapping-remove!)
- dict-search-index (prep-dtd-arg mapping-search)
- dict-search!-index (prep-dtd-arg mapping-search!)
- dict-copy-index (prep-dtd-arg mapping-copy)
- dict-size-index (prep-dtd-arg mapping-size)
- dict-for-each-index (prep-dtd-arg mapping-for-each)
- dict-count-index (prep-dtd-arg mapping-count)
- dict-keys-index (prep-dtd-arg mapping-keys)
- dict-values-index (prep-dtd-arg mapping-values)
- dict-entries-index (prep-dtd-arg mapping-entries)
- dict-fold-index (prep-dtd-arg mapping-fold)
- dict-map->list-index (prep-dtd-arg mapping-map->list)
- dict->alist-index (prep-dtd-arg mapping->alist)
- dict-comparator-index (prep-dtd-arg mapping-key-comparator))))
+ make-dictionary-id (prep-dtd-arg mapping)
+ dictionary?-id (prep-dtd-arg mapping?)
+ dict-empty?-id (prep-dtd-arg mapping-empty?)
+ dict-contains?-id (prep-dtd-arg mapping-contains?)
+ dict-ref-id (prep-dtd-arg mapping-ref)
+ dict-ref/default-id (prep-dtd-arg mapping-ref/default)
+ dict-set-id (prep-dtd-arg mapping-set)
+ dict-set!-id (prep-dtd-arg mapping-set!)
+ dict-adjoin-id (prep-dtd-arg mapping-adjoin)
+ dict-adjoin!-id (prep-dtd-arg mapping-adjoin!)
+ dict-delete-id (prep-dtd-arg mapping-delete)
+ dict-delete!-id (prep-dtd-arg mapping-delete!)
+ dict-delete-all-id (prep-dtd-arg mapping-delete-all)
+ dict-delete-all!-id (prep-dtd-arg mapping-delete-all!)
+ dict-replace-id (prep-dtd-arg mapping-replace)
+ dict-replace!-id (prep-dtd-arg mapping-replace!)
+ dict-intern-id (prep-dtd-arg mapping-intern)
+ dict-intern!-id (prep-dtd-arg mapping-intern!)
+ dict-update-id (prep-dtd-arg mapping-update)
+ dict-update!-id (prep-dtd-arg mapping-update!)
+ dict-update/default-id (prep-dtd-arg mapping-update/default)
+ dict-update/default!-id (prep-dtd-arg mapping-update!/default)
+ dict-pop-id (prep-dtd-arg mapping-pop)
+ dict-pop!-id (prep-dtd-arg mapping-pop!)
+ dict-filter-id (prep-dtd-arg mapping-filter)
+ dict-filter!-id (prep-dtd-arg mapping-filter!)
+ dict-remove-id (prep-dtd-arg mapping-remove)
+ dict-remove!-id (prep-dtd-arg mapping-remove!)
+ dict-search-id (prep-dtd-arg mapping-search)
+ dict-search!-id (prep-dtd-arg mapping-search!)
+ dict-copy-id (prep-dtd-arg mapping-copy)
+ dict-size-id (prep-dtd-arg mapping-size)
+ dict-for-each-id (prep-dtd-arg mapping-for-each)
+ dict-count-id (prep-dtd-arg mapping-count)
+ dict-keys-id (prep-dtd-arg mapping-keys)
+ dict-values-id (prep-dtd-arg mapping-values)
+ dict-entries-id (prep-dtd-arg mapping-entries)
+ dict-fold-id (prep-dtd-arg mapping-fold)
+ dict-map->list-id (prep-dtd-arg mapping-map->list)
+ dict->alist-id (prep-dtd-arg mapping->alist)
+ dict-comparator-id (prep-dtd-arg mapping-key-comparator))))
diff --git a/srfi/srfi-69-impl.scm b/srfi/srfi-69-impl.scm
index 4151dba..ee619e0 100644
--- a/srfi/srfi-69-impl.scm
+++ b/srfi/srfi-69-impl.scm
@@ -99,24 +99,24 @@
(t69:hash-table-hash-function table)))
(make-dtd
- make-dictionary-index t69:make-hash-table*
- dictionary?-index (prep-dtd-arg t69:hash-table?)
- dict-ref-index t69:hash-table-ref*
- dict-ref/default-index (prep-dtd-arg t69:hash-table-ref/default)
- dict-set!-index t69:hash-table-set!*
- dict-delete-all!-index t69:hash-table-delete-all!*
- dict-contains?-index (prep-dtd-arg t69:hash-table-exists?)
- dict-update/default!-index t69:hash-table-update!/default*
- dict-size-index (prep-dtd-arg t69:hash-table-size)
- dict-keys-index (prep-dtd-arg t69:hash-table-keys)
- dict-values-index (prep-dtd-arg t69:hash-table-values)
- dict-map!-index t69:hash-table-map!*
- dict-filter!-index t69:hash-table-filter!*
- dict-filter-index t69:hash-table-filter*
- dict-for-each-index t69:hash-table-foreach*
- dict-fold-index t69:hash-table-fold*
- dict->alist-index (prep-dtd-arg t69:hash-table->alist)
- dict-search-index t69:hash-table-search*
- dict-search!-index t69:hash-table-search!*
- dict-comparator-index t69:hash-table-comparator*
- dict-copy-index (prep-dtd-arg t69:hash-table-copy))))
+ make-dictionary-id t69:make-hash-table*
+ dictionary?-id (prep-dtd-arg t69:hash-table?)
+ dict-ref-id t69:hash-table-ref*
+ dict-ref/default-id (prep-dtd-arg t69:hash-table-ref/default)
+ dict-set!-id t69:hash-table-set!*
+ dict-delete-all!-id t69:hash-table-delete-all!*
+ dict-contains?-id (prep-dtd-arg t69:hash-table-exists?)
+ dict-update/default!-id t69:hash-table-update!/default*
+ dict-size-id (prep-dtd-arg t69:hash-table-size)
+ dict-keys-id (prep-dtd-arg t69:hash-table-keys)
+ dict-values-id (prep-dtd-arg t69:hash-table-values)
+ dict-map!-id t69:hash-table-map!*
+ dict-filter!-id t69:hash-table-filter!*
+ dict-filter-id t69:hash-table-filter*
+ dict-for-each-id t69:hash-table-foreach*
+ dict-fold-id t69:hash-table-fold*
+ dict->alist-id (prep-dtd-arg t69:hash-table->alist)
+ dict-search-id t69:hash-table-search*
+ dict-search!-id t69:hash-table-search!*
+ dict-comparator-id t69:hash-table-comparator*
+ dict-copy-id (prep-dtd-arg t69:hash-table-copy))))