diff options
| author | 2021-11-07 13:26:39 -0500 | |
|---|---|---|
| committer | 2021-11-07 13:26:39 -0500 | |
| commit | 4a41fcd464fd24b700196bd00e7633050229d192 (patch) | |
| tree | aafee35678d420ded7346f8137ee20808ec5ba37 /srfi/225.sld | |
| parent | editorial (diff) | |
| parent | fix 'remove' test (diff) | |
Merge remote-tracking branch 'arvyy/master'
Diffstat (limited to 'srfi/225.sld')
| -rw-r--r-- | srfi/225.sld | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/srfi/225.sld b/srfi/225.sld new file mode 100644 index 0000000..6e389a7 --- /dev/null +++ b/srfi/225.sld @@ -0,0 +1,197 @@ +(define-library + (srfi 225) + + (import (scheme base) + (scheme case-lambda) + (scheme write) + (srfi 1) + (srfi 128)) + + (cond-expand + ((library (srfi 145)) (import (srfi 145))) + (else (include "assumptions.scm"))) + + (export + + ;; predicates + dictionary? + dict-empty? + dict-contains? + dict=? + dict-mutable? + + ;; lookup + dict-ref + dict-ref/default + dict-min-key + dict-max-key + + ;; mutation + dict-set + dict-set! + dict-adjoin + dict-adjoin! + dict-delete + dict-delete! + dict-delete-all + dict-delete-all! + dict-replace + dict-replace! + dict-intern + dict-intern! + dict-update + dict-update! + dict-update/default + dict-update/default! + dict-pop + dict-pop! + dict-map + dict-map! + dict-filter + dict-filter! + dict-remove + dict-remove! + dict-alter + dict-alter! + + ;; whole dictionary + dict-size + dict-count + dict-any + dict-every + dict-keys + dict-values + dict-entries + dict-fold + dict-map->list + dict->alist + dict-comparator + + ;; iteration + dict-for-each + dict-for-each< + dict-for-each<= + dict-for-each> + dict-for-each>= + dict-for-each-in-open-interval + dict-for-each-in-closed-interval + dict-for-each-in-open-closed-interval + dict-for-each-in-closed-open-interval + + ;; generator procedures + make-dict-generator + dict-set-accumulator + dict-adjoin-accumulator + + ;; dictionary type descriptors + dtd? + make-dtd + dtd + make-alist-dtd + dtd-ref + + ;; exceptions + dictionary-error + dictionary-error? + dictionary-message + dictionary-irritants + + ;; proc indeces + dictionary?-id + dict-empty?-id + dict-contains?-id + dict=?-id + dict-mutable?-id + dict-ref-id + dict-ref/default-id + dict-min-key-id + dict-max-key-id + dict-set-id + dict-adjoin-id + dict-delete-id + dict-delete-all-id + dict-replace-id + dict-intern-id + dict-update-id + dict-update/default-id + dict-pop-id + dict-map-id + dict-filter-id + dict-remove-id + dict-alter-id + dict-size-id + dict-count-id + dict-any-id + dict-every-id + dict-keys-id + dict-values-id + dict-entries-id + dict-fold-id + dict-map->list-id + dict->alist-id + dict-comparator-id + dict-for-each-id + dict-for-each<-id + dict-for-each<=-id + dict-for-each>-id + dict-for-each>=-id + dict-for-each-in-open-interval-id + dict-for-each-in-closed-interval-id + dict-for-each-in-open-closed-interval-id + dict-for-each-in-closed-open-interval-id + make-dict-generator-id + dict-set-accumulator-id + dict-adjoin-accumulator-id + + ;; basic DTDs + plist-dtd + alist-eqv-dtd + alist-equal-dtd) + + ;; implementations + (include "indexes.scm") + (include "externals.scm") + (include "default-impl.scm") + (include "alist-impl.scm") + (include "plist-impl.scm") + + ;; library-dependent DTD exports + ;; and implementations + ;; + ;;srfi-69-dtd + ;;hash-table-dtd + ;;srfi-126-dtd + ;;mapping-dtd + ;;hash-mapping-dtd + + (cond-expand + ((library (srfi 69)) + (import (prefix (srfi 69) t69-)) + (include "srfi-69-impl.scm") + (export srfi-69-dtd)) + (else)) + + (cond-expand + ((library (srfi 125)) + (import (prefix (srfi 125) t125-)) + (include "srfi-125-impl.scm") + (export hash-table-dtd)) + (else)) + + (cond-expand + ((library (srfi 126)) + (import (prefix (srfi 126) t126-)) + (include "srfi-126-impl.scm") + (export srfi-126-dtd)) + (else)) + + (cond-expand + ((and (library (srfi 146)) + (library (srfi 146 hash))) + (import (srfi 146) + (srfi 146 hash)) + (include "srfi-146-impl.scm" + "srfi-146-hash-impl.scm") + (export mapping-dtd + hash-mapping-dtd)) + (else))) |
