This page is part of the web mail archives of SRFI 113 from before July 7th, 2015. The new archives for SRFI 113 contain all messages, not just those from before July 7th, 2015.
Excellent. Since SRFI 113 is now defined to provide linear update in
the sense of SRFI 1, it's sufficient to have the same interface with
the exception of the linear-update procedures, all of which end in !.
In addition, however, there should be order-specific procedures like
getting the next and previous elements in a set, and something to
convert a persistent set to a transient one. IIRC your proposal has
these already. You should check the Haskell libraries to see if anything
else is missing.
`eqv?` is the identity predicate of Scheme...
> This is one of the reasons I had an imap/monotone procedure in my draftWhat distinction are you making between monotone and non-decreasing?
> immutable library; monotone procedures are a common special case of
> injective function. In hindsight, though, I think it should be
> imap/nondecreasing instead of imap/monotone.
<https://en.wikipedia.org/wiki/Monotonic_function> says they are synonyms.
Perhaps the latter name is clearer, though.
No, only set-replace is special. All others use "first argument beats
second", where an element already in the set is understood to be first.