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

Re: LAST CALL for SRFI-113, Sets and bags

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.



This looks good. Here are the results of my scrutinization; all are minor editorial issues.

"Sets
and bags (also known as multisets) are unordered collections that can contain any Scheme object."

Actually any Scheme object _except comparators_, right?

May a multi-values object be an element? If so there are some minor picky edits, for example "The value that mapper returns is added to the set" should be "The object that mapper returns is added to the set".

"Sets are a standard part of the libraries of many high-level programming languages..."
You might want to cite SRFI 1 list sets here too.

"and can be optimized" sounds awkward, consider rewording to "and allows for optimization".

"hysterical raisins" should be "historical reasons" right?

"Implementations must not require the provision of both a comparison procedure and a hash function."
Any reason for this? An implementor might want to use a hybrid hash/tree data structure such as a treap.

"Note that this differs from the SRFI 1 analogue because it does not return a useful value."
IMO #t and #f qualify as useful; consider rewording to "because it does not return an element of the set."

I think the arguments to the set-map example are in the wrong order.

As discussed previously, I think it would be friendlier for the documentation for set-map to say something like:

"Note that, when proc defines a non-1:1 mapping, some of the mapped objects may be equivalent according to comparator, and in this case duplicate elements are omitted as in the set constructor. For example,

(set-map (lambda (x) (quotient x 2)) integer-comparator (set integer-comparator 1 2 3 4 5))
=> (set integer-comparator 0 1 2)"

Likewise, it would be friendly to add this sentence to the documentation for list->set, list->set!, and bag->set :
"Duplicate elements are omitted as in the set constructor."

Kevin Wortman



On Sat, Aug 16, 2014 at 1:12 PM, Per Bothner <per@xxxxxxxxxxx> wrote:


On 08/15/2014 05:23 PM, John Cowan wrote:
This is hopefully the final release (modulo any bug fixes) of SRFI 113,
Sets and bags.  I have removed integer sets from this SRFI as I had
already removed enums.

The title is "Sets, bags, integer sets"

The main page http://srfi.schemers.org/srfi-113/ and
http://srfi.schemers.org/draft-srfis.html both say
"Sets, Bags, Integer Sets, Enumeration Sets".

--
        --Per Bothner
per@xxxxxxxxxxx   http://per.bothner.com/