diff options
| author | 2020-10-19 00:16:32 -0400 | |
|---|---|---|
| committer | 2020-10-19 00:16:32 -0400 | |
| commit | b3e41bcd989e76efbb59d66002c31b342a5ccae4 (patch) | |
| tree | 4cc36dce2842ade22116d37eff30f4f1afe0c7f4 /dictionaries.scm | |
| parent | Merge pull request #1 from arvyy/master (diff) | |
| parent | fix plist size proc; rewrite dict-entries to use fold (diff) | |
Merge pull request #2 from arvyy/master
Create library, rewrite tests against external api, add alist, plist and srfi69/125 implementation
Diffstat (limited to 'dictionaries.scm')
| -rw-r--r-- | dictionaries.scm | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/dictionaries.scm b/dictionaries.scm new file mode 100644 index 0000000..1920f6f --- /dev/null +++ b/dictionaries.scm @@ -0,0 +1,55 @@ +(define-library + (dictionaries) + (import (scheme base) + (scheme case-lambda) + (srfi 1)) + + (cond-expand + ((and srfi-69 (not srfi-125)) (import (srfi 69))) + (srfi-125 (import (srfi 125))) + (chibi (import (srfi 125))) + (kawa (import (srfi 69 basic-hash-tables)))) + + (export + + ;; predicates + dictionary? + dict-empty? + dict-contains? + + ;; lookup + dict-ref + dict-ref/default + + ;; mutation + dict-set! + dict-adjoin! + dict-delete! + dict-delete-all! + dict-replace! + dict-intern! + dict-update! + dict-update/default! + dict-pop! + dict-map! + dict-filter! + dict-remove! + dict-search! + + ;; whole dictionary + dict-size + dict-for-each + dict-count + dict-any + dict-every + dict-keys + dict-values + dict-entries + dict-fold + dict-map->list + dict->alist + + ;; registering dictionary types + register-dictionary!) + + (include "dictionaries-impl.scm")) |
