summaryrefslogtreecommitdiffstats
path: root/srfi/225.sld
diff options
context:
space:
mode:
authorGravatar Arvydas Silanskas 2022-08-06 11:35:06 +0300
committerGravatar Arvydas Silanskas 2022-08-06 11:35:06 +0300
commitfd4585b6e0ac67ae9591a4183fb7c82ed3a30218 (patch)
tree8da6ad7744c6b26cbcf3acdd7d08e83c33c5e014 /srfi/225.sld
parentMerge branch 'master' of https://github.com/johnwcowan/srfi-225 (diff)
return alists; refactor structure
Diffstat (limited to 'srfi/225.sld')
-rw-r--r--srfi/225.sld200
1 files changed, 49 insertions, 151 deletions
diff --git a/srfi/225.sld b/srfi/225.sld
index d9d38ec..84d17cf 100644
--- a/srfi/225.sld
+++ b/srfi/225.sld
@@ -1,159 +1,57 @@
(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")))
-
+ (import
+ (scheme base)
+ (srfi 1)
+ (srfi 128)
+ (srfi 225 core)
+ (srfi 225 default-impl)
+ (srfi 225 indexes))
+
+ (include-library-declarations "225/core-exports.scm")
+ (include-library-declarations "225/indexes-exports.scm")
+ (export make-dto)
+
+ ;; common implementations
+ (import (srfi 225 alist-impl))
(export
+ make-alist-dto
+ eqv-alist-dto
+ equal-alist-dto)
+
+ ;; library-dependent DTO exports
+ ;; and implementations
+ ;;
+ ;;srfi-69-dto
+ ;;hash-table-dto
+ ;;srfi-126-dto
+ ;;mapping-dto
+ ;;hash-mapping-dto
- ;; predicates
- dictionary?
- dict-empty?
- dict-contains?
- dict=?
- dict-pure?
-
- ;; lookup
- dict-ref
- dict-ref/default
- dict-comparator
-
- ;; 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-find-update
-
- ;; whole dictionary
- dict-size
- dict-count
- dict-any
- dict-every
- dict-keys
- dict-values
- dict-entries
- dict-fold
- dict-map->list
- dict->alist
-
- ;; iteration
- dict-for-each
- dict->generator
- dict-set-accumulator
- dict-adjoin-accumulator
-
- ;; dictionary type descriptors
- dto?
- make-dto
- dto-ref
-
- ;; exceptions
- dictionary-error
- dictionary-error?
- dictionary-message
- dictionary-irritants
-
- ;; proc indeces
-
- ;; required
- dictionary?-id
- dict-find-update-id
- dict-comparator-id
- dict-map-id
- dict-pure?-id
- dict-remove-id
- dict-size-id
-
- ;; extra
- dict->alist-id
- dict-adjoin-accumulator-id
- dict-adjoin-id
- dict-any-id
- dict-contains?-id
- dict-count-id
- dict-delete-all-id
- dict-delete-id
- dict-empty?-id
- dict-entries-id
- dict-every-id
- dict-filter-id
- dict-fold-id
- dict-for-each-id
- dict-intern-id
- dict-keys-id
- dict-map->list-id
- dict-map-id
- dict-pop-id
- dict-ref-id
- dict-ref/default-id
- dict-remove-id
- dict-replace-id
- dict-set-accumulator-id
- dict-set-id
- dict-update-id
- dict-update/default-id
- dict-values-id
- dict=?-id
- dict->generator-id)
-
- ;; implementations
- (include "indexes.scm")
- (include "externals.scm")
- (include "default-impl.scm")
-
- ;; library-dependent DTO exports
- ;; and implementations
- ;;
- ;;srfi-69-dto
- ;;hash-table-dto
- ;;srfi-126-dto
- ;;mapping-dto
- ;;hash-mapping-dto
-
- (cond-expand
- ((library (srfi 69))
- (import (prefix (srfi 69) t69-))
- (include "srfi-69-impl.scm")
- (export srfi-69-dto))
- (else))
+ (cond-expand
+ ((library (srfi 69))
+ (import (srfi 225 srfi-69-impl))
+ (export srfi-69-dto))
+ (else))
- (cond-expand
- ((library (srfi 125))
- (import (prefix (srfi 125) t125-))
- (include "srfi-125-impl.scm")
- (export hash-table-dto))
- (else))
+ (cond-expand
+ ((library (srfi 125))
+ (import (srfi 225 srfi-125-impl))
+ (export hash-table-dto))
+ (else))
- (cond-expand
- ((library (srfi 126))
- (import (prefix (srfi 126) t126-))
- (include "srfi-126-impl.scm")
- (export srfi-126-dto))
- (else))
+ (cond-expand
+ ((library (srfi 126))
+ (import (srfi 225 srfi-126-impl))
+ (export srfi-126-dto))
+ (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-dto
- hash-mapping-dto))
- (else)))
+ (cond-expand
+ ((and (library (srfi 146))
+ (library (srfi 146 hash)))
+ (import (srfi 225 srfi-146-impl)
+ (srfi 225 srfi-146-hash-impl))
+ (export mapping-dto
+ hash-mapping-dto))
+ (else)))