Re: A few typos in the latest SRFI-44 drafts scgmille@xxxxxx 18 Aug 2003 19:31 UTC
On Mon, Aug 18, 2003 at 11:52:09AM -0700, xxxxxx@pobox.com wrote:
>
> Hello!
>
> >        procedure: *-get-left * [default]=> value
>
> >            Returns an unspecified value from the given
> >            collection. If the collection is empty, default is
> >            returned if present, otherwise #f is returned.
>
> Hmm, "Returns an unspecified value". I know what you mean. However,
> that word, 'unspecified', immediately reminded me a R5RS phrase "the
> return value of the set! expression is unspecified". It isn't the same
> unspecified, is it? Perhaps a phrase "Returns a value from the given
> collection. For a general collection, it is unspecified which of its
> values is returned. Ordered collection specify that." might be more
> suitable.

I agree.

> >            procedure: dict? value => boolean
> >                 Returns a non-false value if the provided value is a flexible
> >                 sequence
>
> You probably meant "dictionary" rather than a "flexible sequence".
>
Yep.

> 	I also have a half-hearted suggestion about dictionaries.
> collection-fold-left on dictionaries iterates on
> values. collection-fold-keys-left iterates on keys. Somehow there
> isn't anything that iterates on keys and the corresponding values. At
> the first blush, keys+values seem to be a bit more useful than merely
> values. Furthermore, it's usually quite easy for a collection to
> obtain the corresponding key when iterating over values. OTH,
> iterating on keys and using dict-get to get the corresponding value is
> usually far less efficient. I thought that perhaps
> collection-fold-left can pass to its fold-function not merely a value
> but a pair (key . value). This is just a remark.

It could, but that might impede passing dictionaries as ordinary
collections to routines.  Take for example a program which stores its
data in a dictionary in order to provide quick access using a key to a
single value, but wants to pass that dictionary as a blob of values to
some function that is written to accept any collection.

Passing keys+values to the proc in a collection-fold-keys-* should be
fine however.

CCing to the discussion list.

     Thanks,
	Scott