diff options
| author | 2021-08-19 01:33:46 +0300 | |
|---|---|---|
| committer | 2021-08-19 01:33:46 +0300 | |
| commit | 9d85b17d285fdda422b2bce0a6272b0ff6b2cf29 (patch) | |
| tree | c16b9a9882307bfd83ade9956be77e8b3a6780cc /srfi | |
| parent | update spec; fix default copy (diff) | |
remove old files
Diffstat (limited to '')
| -rw-r--r-- | srfi-125-impl.scm | 93 | ||||
| -rw-r--r-- | srfi-126-impl.scm | 122 | ||||
| -rw-r--r-- | srfi-69-impl.scm | 88 |
3 files changed, 0 insertions, 303 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)) diff --git a/srfi-126-impl.scm b/srfi-126-impl.scm deleted file mode 100644 index 1ba75eb..0000000 --- a/srfi-126-impl.scm +++ /dev/null @@ -1,122 +0,0 @@ -(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) - table - (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) - - (define (hashtable-pop!* table) - (if (hashtable-empty? table) - (error "popped empty dictionary") - (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) - (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) - (unless (eq? new-key key) - (hashtable-delete! table key)) - (hashtable-set! table new-key new-value) - (values table obj)) - (define (remove obj) - (hashtable-delete! table key) - (values table obj)) - (success key value update remove)) - (define (handle-fail) - (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)) - (lambda (keys vals) - (values - (vector->list keys) - (vector->list vals))))) - - (register-dictionary! - 'dictionary? hashtable? - 'dict-empty? hashtable-empty? - 'dict-contains? hashtable-contains? - 'dict-ref hashtable-ref* - 'dict-ref/default hashtable-ref/default* - 'dict-set! hashtable-set!* - 'dict-delete-all! hashtable-delete-all!* - 'dict-intern! hashtable-intern!* - 'dict-update/default! hashtable-update/default!* - 'dict-pop! hashtable-pop!* - 'dict-map! hashtable-update-all!* - 'dict-filter! hashtable-filter!* - 'dict-remove! hashtable-remove!* - 'dict-search! hashtable-search* - 'dict-size hashtable-size - 'dict-for-each hashtable-for-each* - 'dict-keys hashtable-keys* - 'dict-values hashtable-values* - 'dict-entries hashtable-entries* - 'dict-map->list hashtable-map->lset*)) diff --git a/srfi-69-impl.scm b/srfi-69-impl.scm deleted file mode 100644 index 09f92d2..0000000 --- a/srfi-69-impl.scm +++ /dev/null @@ -1,88 +0,0 @@ -(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) - table - (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 - (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) - (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)) - (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* - 'dict-ref/default hash-table-ref/default - 'dict-set! hash-table-set!* - 'dict-delete-all! hash-table-delete-all!* - 'dict-contains? hash-table-exists? - 'dict-update/default! hash-table-update!/default* - 'dict-size hash-table-size - 'dict-keys hash-table-keys - 'dict-values hash-table-values - 'dict-map! hash-table-map* - 'dict-filter! hash-table-filter* - 'dict-for-each hash-table-foreach* - 'dict-fold hash-table-fold* - 'dict->alist hash-table->alist - 'dict-search! hash-table-search*)) |
