[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Changed SRFI 113 to use SRFI 114 comparators

This page is part of the web mail archives of SRFI 114 from before July 7th, 2015. The new archives for SRFI 114 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

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

An observable characteristic is not necessarily         John Cowan
a functional requirement.  --John Hudson                cowan@xxxxxxxx