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.
The revised spec is at <http://ccil.org/~cowan/temp/srfi-113.html>. Anywhere a comparator can appear, one of the Big Five equality predicates is still allowed (and in principle any predicate, but implementations are not required to support them). The implementation has *not* been updated yet. Remaining issues: 1. R6RS provides define-enumeration to help set up enum-types. Is this worth having? Possible syntax is: (define-enumeration <type-name> (<symbol> ...) <constructor>) This would bind <type-name> to the enum-type, and constructor to a curried version of make-enum-set that already knows what type to use. 2. Should there be a mechanism to convert between integer sets and integers as bitvectors, as defined in SRFI 33, SRFI 60, and R6RS? 4. How about set-intern!, which is like set-value but adds the element to the set if it's not already there? 5. Should there be a lexical syntax for sets? If so, how do we incorporate the equality predicate, which has no printed representation? Perhaps we only need to support the Big Five, or perhaps not even eq? as it is implementation-dependent. 8. Should we switch to unique enum objects rather than symbols? 10. Should set operations include an operation that adds an element to a set, returning a newly allocated set, but which does not require wrapping the new element in a set that is going to be thrown away immediately? In other words, should there be a functional analog to set-add!? 12 (new). Should we stick to just comparators, or also allow equality predicates? -- An observable characteristic is not necessarily John Cowan a functional requirement. --John Hudson cowan@xxxxxxxx