diff options
| author | 2021-07-18 20:22:55 -0700 | |
|---|---|---|
| committer | 2021-07-18 20:23:06 -0700 | |
| commit | cffa45160b97e18903a73b02be66ed689105717a (patch) | |
| tree | a90d5432376b9a32d03343c1c85a7457b29de4c3 /srfi-69-impl.scm | |
| parent | Ignore "Dictionaries.log". (diff) | |
Ignore trailing whitespace.
Diffstat (limited to '')
| -rw-r--r-- | srfi-69-impl.scm | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/srfi-69-impl.scm b/srfi-69-impl.scm index 3f8a602..09f92d2 100644 --- a/srfi-69-impl.scm +++ b/srfi-69-impl.scm @@ -1,12 +1,12 @@ (define (register-srfi-69!) - + (define (hash-table-ref* table key fail success) (define default (cons #f #f)) (define found (hash-table-ref/default table key default)) (if (eq? found default) (fail) (success found))) - + (define (hash-table-set!* table . obj) (let loop ((obj obj)) (if (null? obj) @@ -14,36 +14,36 @@ (begin (hash-table-set! table (car obj) (cadr obj)) (loop (cddr obj)))))) - + (define (hash-table-update!/default* table key proc default) (hash-table-update!/default table key proc default) table) - + (define (hash-table-delete-all!* table keys) (for-each (lambda (key) (hash-table-delete! table key)) keys) table) - + (define (hash-table-foreach* proc table) (hash-table-walk table proc)) - + (define (hash-table-map* proc table) (hash-table-walk table (lambda (key value) (hash-table-set! table key (proc key value)))) table) - + (define (hash-table-filter* proc table) - (hash-table-walk table + (hash-table-walk table (lambda (key value) (unless (proc key value) (hash-table-delete! table key)))) table) - + (define (hash-table-fold* proc knil table) (hash-table-fold table proc knil)) - + (define (hash-table-search* table key fail success) (define (handle-success value) (define (update new-key new-value obj) @@ -56,19 +56,19 @@ (values table obj)) (success key value update remove)) (define (handle-fail) - (define (ignore obj) + (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)) (define found (hash-table-ref/default table key default)) (if (eq? default found) (handle-fail) (handle-success found))) - + (register-dictionary! 'dictionary? hash-table? 'dict-ref hash-table-ref* |
