summaryrefslogtreecommitdiffstats
path: root/srfi-125-impl.scm
diff options
context:
space:
mode:
authorGravatar John Cowan 2021-11-07 13:26:39 -0500
committerGravatar John Cowan 2021-11-07 13:26:39 -0500
commit4a41fcd464fd24b700196bd00e7633050229d192 (patch)
treeaafee35678d420ded7346f8137ee20808ec5ba37 /srfi-125-impl.scm
parenteditorial (diff)
parentfix 'remove' test (diff)
Merge remote-tracking branch 'arvyy/master'
Diffstat (limited to '')
-rw-r--r--srfi-125-impl.scm93
1 files changed, 0 insertions, 93 deletions
diff --git a/srfi-125-impl.scm b/srfi-125-impl.scm
deleted file mode 100644
index 67da668..0000000
--- a/srfi-125-impl.scm
+++ /dev/null
@@ -1,93 +0,0 @@
-(define (register-srfi-125!)
-
- (define (hash-table-set!* table . obj)
- (apply hash-table-set! (cons table obj))
- table)
-
- (define (hash-table-update!* table key updater fail success)
- (hash-table-update! table key updater fail success)
- table)
-
- (define (hash-table-update!/default* table key proc default)
- (hash-table-update!/default table key proc default)
- table)
-
- (define (hash-table-intern!* table key failure)
- (define val (hash-table-intern! table key failure))
- (values table val))
-
- (define (hash-table-pop!* table)
- (if (hash-table-empty? table)
- (error "popped empty dictionary")
- (call-with-values
- (lambda () (hash-table-pop! table))
- (lambda (key value) (values table key value)))))
-
- (define (hash-table-delete-all!* table keys)
- (for-each
- (lambda (key)
- (hash-table-delete! table key))
- keys)
- table)
-
- (define (hash-table-map!* proc table)
- (hash-table-map! proc table)
- table)
-
- (define (hash-table-filter* proc table)
- (hash-table-prune!
- (lambda (key value)
- (not (proc key value)))
- table)
- table)
-
- (define (hash-table-remove!* proc table)
- (hash-table-prune! proc table)
- table)
-
- (define (hash-table-search* table key fail success)
- (define (handle-success value)
- (define (update new-key new-value obj)
- (unless (eq? new-key key)
- (hash-table-delete! table key))
- (hash-table-set! table new-key new-value)
- (values table obj))
- (define (remove obj)
- (hash-table-delete! table key)
- (values table obj))
- (success key value update remove))
- (define (handle-fail)
- (define (ignore obj)
- (values table obj))
- (define (insert value obj)
- (hash-table-set! table key value)
- (values table obj))
- (fail insert ignore))
-
- (define default (cons #f #f))
- (hash-table-ref table key handle-fail handle-success))
-
- (register-dictionary!
- 'dictionary? hash-table?
- 'dict-empty? hash-table-empty?
- 'dict-contains? hash-table-contains?
- 'dict-ref hash-table-ref
- 'dict-ref/default hash-table-ref/default
- 'dict-set! hash-table-set!*
- 'dict-delete-all! hash-table-delete-all!*
- 'dict-intern! hash-table-intern!*
- 'dict-update! hash-table-update!*
- 'dict-update/default! hash-table-update!/default*
- 'dict-pop! hash-table-pop!*
- 'dict-map! hash-table-map!*
- 'dict-filter! hash-table-filter*
- 'dict-remove! hash-table-remove!*
- 'dict-search! hash-table-search*
- 'dict-size hash-table-size
- 'dict-for-each hash-table-for-each
- 'dict-keys hash-table-keys
- 'dict-values hash-table-values
- 'dict-entries hash-table-entries
- 'dict-fold hash-table-fold
- 'dict-map->list hash-table-map->list
- 'dict->alist hash-table->alist))