aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-01-20 15:25:07 -0500
committerGravatar Peter McGoron 2025-01-20 15:25:07 -0500
commit4b13877f205dc3910c027c98945b0670eeb2034e (patch)
tree2799c9e7efb4bcb5ec0070250e2005c1db37c29e /doc
parentinsert and delete (diff)
xor
Diffstat (limited to 'doc')
-rw-r--r--doc/mcgoron.weight-balanced-trees.internal.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/doc/mcgoron.weight-balanced-trees.internal.scm b/doc/mcgoron.weight-balanced-trees.internal.scm
index 231ee7b..a48cb23 100644
--- a/doc/mcgoron.weight-balanced-trees.internal.scm
+++ b/doc/mcgoron.weight-balanced-trees.internal.scm
@@ -33,7 +33,6 @@ elements of `x`."))
((name . "join")
(signature lambda (data (balanced? left) (balanced? right)) balanced?)
(desc "
-* It is an error if `left` or `right` are not balanced.
* It is an error if any element of `left` is greater than or equal to
any element in `right`.
* It is an error if `data` is less than or equal to any element in
@@ -99,6 +98,15 @@ equal to an element of `right`.
Return a weight-balanced tree with only the elements of `left` that do not
compare equal to an element of `right`.
"))
+ ((name . "xor")
+ (signature
+ lambda ((comparator? cmp) (balanced? left) (balanced? right) balanced?))
+ (desc "
+* It is an error if `cmp` does not order the elements of `left` and `right`.
+
+Return a weight-balanced tree with the exclusive or of the elements of `left`
+with the elements of `right`: that is, all elements of `left` and `right` that
+are not both elements of `left` and `right`."))
((name . "update")
(signature
lambda ((comparator? cmp) (balanced? set) to-search (procedure? on-found) (procedure? on-not-found)) balanced?)