aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-02-16 00:05:13 -0500
committerGravatar Peter McGoron 2025-02-16 00:05:13 -0500
commit62506b742c878a0a9648441f6395ecafdad9c06a (patch)
tree3ad0ef210eddad999f05bb5bef32c9cc9f4ab25b /doc
parentstart testing SRFI 113 tests (diff)
tests for different constructors
Diffstat (limited to 'doc')
-rw-r--r--doc/mcgoron.weight-balanced-trees.srfi.113.sets.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/doc/mcgoron.weight-balanced-trees.srfi.113.sets.scm b/doc/mcgoron.weight-balanced-trees.srfi.113.sets.scm
new file mode 100644
index 0000000..8152521
--- /dev/null
+++ b/doc/mcgoron.weight-balanced-trees.srfi.113.sets.scm
@@ -0,0 +1,48 @@
+(((name . "set-xor")
+ (signature lambda ((set? set1) (set? set2) ...) set?)
+ (desc "
+A left associative version of `set-xor` from SRFI-113 that takes any number
+of arguments."))
+ ((name . "set->generator")
+ (signature
+ case-lambda
+ (((set? set)) procedure?)
+ (((set? set) *) procedure?))
+ (desc "
+Returns a generator that returns the elements of `set` in arbitrary order.
+
+This generator is always finite."))
+ ((name . "set-adjoin-all")
+ (signature
+ lambda ((set? set) (list? elements)) set?)
+ (desc "
+Equivalent to `(apply set-adjoin set elements)`."))
+ ((name . "set-replace-all")
+ (signature
+ lambda ((set? set) (list? elements)) set?)
+ (desc "
+Equivalent to `(apply set-replace set elements)`."))
+ ((name . "generator->set")
+ (signature lambda ((comparator? comparator) (generator? gen)) set?)
+ (desc "
+* It is an error if `gen` is not finite.
+* It is an error if the elements of `gen` are not comparable by
+ `comparator`.
+
+Returns a set whose elements are the elements of `gen`. If there are
+duplicate elements in `gen`, the latest one will be kept."))
+ ((name . "set->in-order-generator")
+ (signature
+ lambda ((set? set)) generator?)
+ (desc "
+Like `generator->set`, but elements are returned in order."))
+ ((name . "set->reverse-order-generator")
+ (signature
+ lambda ((set? set)) generator?)
+ (desc "
+Like `generator->set`, but elements are returned in reverse order."))
+ ((name . "compatible-sets?")
+ (signature lambda ((set? set1) (set? set2) ...) set?)
+ (desc "
+Returns `#t` if each set has the same comparator, and `#f` otherwise.")))
+