diff options
| author | 2021-07-18 20:22:55 -0700 | |
|---|---|---|
| committer | 2021-07-18 20:23:06 -0700 | |
| commit | cffa45160b97e18903a73b02be66ed689105717a (patch) | |
| tree | a90d5432376b9a32d03343c1c85a7457b29de4c3 /srfi-126-impl.scm | |
| parent | Ignore "Dictionaries.log". (diff) | |
Ignore trailing whitespace.
Diffstat (limited to 'srfi-126-impl.scm')
| -rw-r--r-- | srfi-126-impl.scm | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/srfi-126-impl.scm b/srfi-126-impl.scm index a7ecd51..1ba75eb 100644 --- a/srfi-126-impl.scm +++ b/srfi-126-impl.scm @@ -1,14 +1,14 @@ (define (register-srfi-126!) - + (define (hashtable-ref* table key fail success) (define-values (value found?) (hashtable-lookup table key)) (if found? (success value) (fail))) - + (define (hashtable-ref/default* table key default) (hashtable-ref table key default)) - + (define (hashtable-set!* table . obj) (let loop ((obj obj)) (if (null? obj) @@ -16,18 +16,18 @@ (begin (hashtable-set! table (car obj) (cadr obj)) (loop (cddr obj)))))) - + (define (hashtable-delete-all!* table keys) (for-each (lambda (key) (hashtable-delete! table key)) keys) table) - + (define (hashtable-intern!* table key default) (define val (hashtable-intern! table key default)) (values table val)) - + (define (hashtable-update/default!* table key updater default) (hashtable-update! table key updater default) table) @@ -38,21 +38,21 @@ (call-with-values (lambda () (hashtable-pop! table)) (lambda (key value) (values table key value))))) - + (define (hashtable-update-all!* proc table) (hashtable-update-all! table proc) table) - + (define (hashtable-filter!* proc table) - (hashtable-prune! table - (lambda (key value) + (hashtable-prune! table + (lambda (key value) (not (proc key value)))) table) - + (define (hashtable-remove!* proc table) (hashtable-prune! table proc) table) - + (define (hashtable-search* table key fail success) (define (handle-success value) (define (update new-key new-value obj) @@ -65,32 +65,32 @@ (values table obj)) (success key value update remove)) (define (handle-fail) - (define (ignore obj) + (define (ignore obj) (values table obj)) (define (insert value obj) (hashtable-set! table key value) (values table obj)) (fail insert ignore)) - + (define default (cons #f #f)) (define found (hashtable-ref table key default)) (if (eq? default found) (handle-fail) (handle-success found))) - + (define (hashtable-for-each* proc table) (hashtable-walk table proc) table) - + (define (hashtable-map->lset* proc table) (hashtable-map->lset table proc)) - + (define (hashtable-keys* table) (vector->list (hashtable-keys table))) - + (define (hashtable-values* table) (vector->list (hashtable-values table))) - + (define (hashtable-entries* table) (call-with-values (lambda () (hashtable-entries table)) @@ -98,7 +98,7 @@ (values (vector->list keys) (vector->list vals))))) - + (register-dictionary! 'dictionary? hashtable? 'dict-empty? hashtable-empty? |
