summaryrefslogtreecommitdiffstats
path: root/dictionaries.scm
diff options
context:
space:
mode:
authorGravatar Arvydas Silanskas 2020-10-18 01:36:50 +0300
committerGravatar Arvydas Silanskas 2020-10-18 01:36:50 +0300
commitdf2693f79ac55b6700930353226a96e46f39af51 (patch)
tree0569a377d0f552493dc4227a23ec23f36db37838 /dictionaries.scm
parentinternals impl; tests (diff)
tests against externals; registration; alist and plist implementations:
Diffstat (limited to 'dictionaries.scm')
-rw-r--r--dictionaries.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/dictionaries.scm b/dictionaries.scm
new file mode 100644
index 0000000..b16cd01
--- /dev/null
+++ b/dictionaries.scm
@@ -0,0 +1,48 @@
+(define-library
+ (dictionaries)
+ (import (scheme base)
+ (scheme case-lambda)
+ (srfi 1))
+ (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"))