summaryrefslogtreecommitdiffstats
path: root/srfi/externals.scm
diff options
context:
space:
mode:
authorGravatar Arvydas Silanskas 2021-08-22 20:54:14 +0300
committerGravatar Arvydas Silanskas 2021-08-22 20:54:14 +0300
commite943ef133b857839bd5d9cdc2197fe7f03a09349 (patch)
treead0cc4ddd3ddd9d237f25f6e9f68bcbbd9049dd1 /srfi/externals.scm
parentclean up (diff)
parenttypo, -comparator can return #f (diff)
merge, add unfold
Diffstat (limited to 'srfi/externals.scm')
-rw-r--r--srfi/externals.scm99
1 files changed, 50 insertions, 49 deletions
diff --git a/srfi/externals.scm b/srfi/externals.scm
index 34c8450..14c5a4d 100644
--- a/srfi/externals.scm
+++ b/srfi/externals.scm
@@ -24,10 +24,11 @@
(assume (dtd? dtd))
(apply (dtd-ref-stx dtd index) dtd args)))))
-(define/dict-proc make-dictionary make-dictionary-index)
-(define/dict-proc dictionary? dictionary?-index)
-(define/dict-proc dict-empty? dict-empty?-index)
-(define/dict-proc dict-contains? dict-contains?-index)
+(define/dict-proc make-dictionary make-dictionary-id)
+(define/dict-proc dict-unfold dict-unfold-id)
+(define/dict-proc dictionary? dictionary?-id)
+(define/dict-proc dict-empty? dict-empty?-id)
+(define/dict-proc dict-contains? dict-contains?-id)
(define dict-ref
(case-lambda
@@ -41,21 +42,21 @@
((dtd dict key failure success)
(assume (dtd? dtd))
- ((dtd-ref-stx dtd dict-ref-index) dtd dict key failure success))))
-
-(define/dict-proc dict-ref/default dict-ref/default-index)
-(define/dict-proc dict-set dict-set-index)
-(define/dict-proc dict-set! dict-set!-index)
-(define/dict-proc dict-adjoin dict-adjoin-index)
-(define/dict-proc dict-adjoin! dict-adjoin!-index)
-(define/dict-proc dict-delete dict-delete-index)
-(define/dict-proc dict-delete! dict-delete!-index)
-(define/dict-proc dict-delete-all dict-delete-all-index)
-(define/dict-proc dict-delete-all! dict-delete-all!-index)
-(define/dict-proc dict-replace dict-replace-index)
-(define/dict-proc dict-replace! dict-replace!-index)
-(define/dict-proc dict-intern dict-intern-index)
-(define/dict-proc dict-intern! dict-intern!-index)
+ ((dtd-ref-stx dtd dict-ref-id) dtd dict key failure success))))
+
+(define/dict-proc dict-ref/default dict-ref/default-id)
+(define/dict-proc dict-set dict-set-id)
+(define/dict-proc dict-set! dict-set!-id)
+(define/dict-proc dict-adjoin dict-adjoin-id)
+(define/dict-proc dict-adjoin! dict-adjoin!-id)
+(define/dict-proc dict-delete dict-delete-id)
+(define/dict-proc dict-delete! dict-delete!-id)
+(define/dict-proc dict-delete-all dict-delete-all-id)
+(define/dict-proc dict-delete-all! dict-delete-all!-id)
+(define/dict-proc dict-replace dict-replace-id)
+(define/dict-proc dict-replace! dict-replace!-id)
+(define/dict-proc dict-intern dict-intern-id)
+(define/dict-proc dict-intern! dict-intern!-id)
(define dict-update
(case-lambda
@@ -69,7 +70,7 @@
((dtd dict key updater failure success)
(assume (dtd? dtd))
- ((dtd-ref-stx dtd dict-update-index) dtd dict key updater failure success))))
+ ((dtd-ref-stx dtd dict-update-id) dtd dict key updater failure success))))
(define dict-update!
(case-lambda
@@ -83,33 +84,33 @@
((dtd dict key updater failure success)
(assume (dtd? dtd))
- ((dtd-ref-stx dtd dict-update!-index) dtd dict key updater failure success))))
-
-(define/dict-proc dict-update/default dict-update/default-index)
-(define/dict-proc dict-update/default! dict-update/default!-index)
-(define/dict-proc dict-pop dict-pop-index)
-(define/dict-proc dict-pop! dict-pop!-index)
-(define/dict-proc dict-map dict-map-index)
-(define/dict-proc dict-map! dict-map!-index)
-(define/dict-proc dict-filter dict-filter-index)
-(define/dict-proc dict-filter! dict-filter!-index)
-(define/dict-proc dict-remove dict-remove-index)
-(define/dict-proc dict-remove! dict-remove!-index)
-(define/dict-proc dict-search dict-search-index)
-(define/dict-proc dict-search! dict-search!-index)
-(define/dict-proc dict-copy dict-copy-index)
-(define/dict-proc dict-size dict-size-index)
-(define/dict-proc dict-for-each dict-for-each-index)
-(define/dict-proc dict-count dict-count-index)
-(define/dict-proc dict-any dict-any-index)
-(define/dict-proc dict-every dict-every-index)
-(define/dict-proc dict-keys dict-keys-index)
-(define/dict-proc dict-values dict-values-index)
-(define/dict-proc dict-entries dict-entries-index)
-(define/dict-proc dict-fold dict-fold-index)
-(define/dict-proc dict-map->list dict-map->list-index)
-(define/dict-proc dict->alist dict->alist-index)
-(define/dict-proc dict-comparator dict-comparator-index)
+ ((dtd-ref-stx dtd dict-update!-id) dtd dict key updater failure success))))
+
+(define/dict-proc dict-update/default dict-update/default-id)
+(define/dict-proc dict-update/default! dict-update/default!-id)
+(define/dict-proc dict-pop dict-pop-id)
+(define/dict-proc dict-pop! dict-pop!-id)
+(define/dict-proc dict-map dict-map-id)
+(define/dict-proc dict-map! dict-map!-id)
+(define/dict-proc dict-filter dict-filter-id)
+(define/dict-proc dict-filter! dict-filter!-id)
+(define/dict-proc dict-remove dict-remove-id)
+(define/dict-proc dict-remove! dict-remove!-id)
+(define/dict-proc dict-search dict-search-id)
+(define/dict-proc dict-search! dict-search!-id)
+(define/dict-proc dict-copy dict-copy-id)
+(define/dict-proc dict-size dict-size-id)
+(define/dict-proc dict-for-each dict-for-each-id)
+(define/dict-proc dict-count dict-count-id)
+(define/dict-proc dict-any dict-any-id)
+(define/dict-proc dict-every dict-every-id)
+(define/dict-proc dict-keys dict-keys-id)
+(define/dict-proc dict-values dict-values-id)
+(define/dict-proc dict-entries dict-entries-id)
+(define/dict-proc dict-fold dict-fold-id)
+(define/dict-proc dict-map->list dict-map->list-id)
+(define/dict-proc dict->alist dict->alist-id)
+(define/dict-proc dict-comparator dict-comparator-id)
(define (dtd-ref dtd procindex)
(dtd-ref-stx dtd procindex))
@@ -120,11 +121,11 @@
((null? lst))
(when (null? (cdr lst))
(error "Uneven amount of arguments" lst))
- (let ((proc-index (car lst))
+ (let ((proc-id (car lst))
(proc (cadr lst)))
(unless (procedure? proc)
(error "Not a procedure" proc))
- (vector-set! vec proc-index proc)))
+ (vector-set! vec proc-id proc)))
(make-dtd-private vec))
(define (make-dtd . lst)