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

Re: Updated issues list for SRFI 113

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.

Arthur A. Gleckler scripsit:

> The name "bag" is clear, but since enumeration sets are provided as well,
> and use the prefix enum-set, it makes sense to use multi-set (hyphenated)
> for consistency.

I think that might be too much consistency.  In particular, enum-sets
are sets, but multisets/bags are not sets.  (Similarly, a white lion is
a lion, but a stone lion is not a lion, merely a statue that somewhat
resembles a lion.)

> > 8) Should we switch to unique enum objects rather than symbols?
> >
> I don't see the use case for yet another type.

I'm leaving this open for a while.

> > 9) The word "set" is heavily overloaded.  Should we use "gset" or
> > "generic-set"?
> No.  The meaning is clear from context.

There seems to be consensus, so closing this one.

> Here are a few additional comments on the draft:
>    - The definition of make-set says that string-ci=? must be supported.
>     Shouldn't string=? be supported, too, then?

That follows from the requirement to support any predicate that is not
coarser than `equal?`.  In any case, I suspect this language will go away
if comparators become accepted (see CowanComparators for an early draft).

>    - Why does the non-empty constructor, set, have a different name than
>    the empty-set constructor, make-set?

Well, people expect both make-foo and foo.  I suppose make-foo could take
an optional argument which would be one element, allowing it to construct
either an empty or a singleton set.

>    - Should set-find take a parameter that specifies what value to return
>    when the searched-for element is not found?  That would solve the problem
>    with #f.


>    - Set operations should 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, there should be a functional analog to set-add!.

The natural name for this would be set-add, but that may cause confusion.
Added as an issue, though.

John Cowan  cowan@xxxxxxxx   http://ccil.org/~cowan
Assent may be registered by a signature, a handshake, or a click of a computer
mouse transmitted across the invisible ether of the Internet. Formality
is not a requisite; any sign, symbol or action, or even willful inaction,
as long as it is unequivocally referable to the promise, may create a contract.
       --Specht v. Netscape